Date de publication: le vendredi 11 mai 2007 Ă 21h45
Dernière modification: par Pascal BOYER le samedi 21 juillet 2007 à 11h53
« Article précédent: Cyrus IMAP : le fichier cyrus.conf
» Article suivant: Cyrus IMAP : le fichier imapd-local.conf
Le fichier /etc/imapd.conf
Cet article, qui est la suite de Cyrus IMAP : le fichier cyrus.conf , présente le fichier de configuration du serveur Cyrus-IMAP.
Le fichier /etc/ imapd.conf contient toutes les informations relatives à la machine qui héberge le serveur ainsi que toutes les options de fonctionnement de ce serveur.
J’ai pris la peine de traduire la majorité des commentaires de chaque règle que j’utilise. Beaucoup d’autres options sont possibles. Il suffit, en tant que root, de taper:
man 5 imapd.conf
pour en prendre connaissance.
Conventions:
Comme pour tous les fichiers de configuration au format texte, toutes les lignes commençant par un "#" sont des commentaires ou une règle commentée dont on ne souhaite pas l’usage.
Les commentaires/explications des règles sont placés au-dessus/avant les règles elles-mêmes.
Important
Cette suite d’article, suit bien évidemment une logique. Il est donc peut-être judicieux de prendre le temps de lire au moins le précédent article Cyrus IMAP : le fichier cyrus.conf pour mieux comprendre le choix de certaines règles.
Je rappelle tout de même que je vise à mettre en place un serveur mail ainsi organisé:
1°/ serveur smtps Postfix + SSL/TLS + SASL + LDAP
2°/ serveur imaps Cyrus-IMAP + SSL/TLS + SASL + LDAP
3°/ serveur imapd Cyrus-IMAP local pour administration des Bà L via SASL.
Je n’utilise en aucun cas de base de données relationnelles.
Le fichier /etc/ imapd.conf
Ci-dessous, vous trouverez un exemple de fichier /etc/ imapd.conf très largement commenté afin que vous puissiez comprendre chaque règle utilisée.
# ------------------------------------ Début du fichier ------------------------------------
# Ici on indique le nom pleinement qualifié du serveur sur lequel est installé Cyrus-IMAP.
# Ce nom apparait lorsque l’on tape: telnet <@IP serveur> 143
# exemple:
# telnet linuxorable.fr 143
# Trying 82.67.66.131...
# Connected to mutualite-3-82-67-66-131.fbx.proxad.net.
# Escape character is ’^]’.
# * OK euphorie.linuxorable.fr Cyrus IMAP4 v2.1.16-IPv6-Debian-2.1.16-10 server ready
#
servername: euphorie.linuxorable.fr
# Ici on indique le répertoire dans lequel Cyrus-IMAP maintient la configuration sur serveur.
# Ce ne sont pas les fichiers de configuration ! (qui sont dans /etc).
#
configdirectory: /var/lib/cyrus
# Ici on indique le nom du répertoire utilisé par défaut pour créer les Bà L.
#
# Valeur par défaut:
defaultpartition: default
# Ici on indique le répertoire qui contiendra les Bà L.
#
# Valeur par défaut:
partition-default: /var/spool/cyrus/mail
# Ici on indique quel répertoire contiendra les comptes pour les "NEWS".
#
# Valeur par défaut:
partition-news: /var/spool/cyrus/news
# Içi on indique le répertoire de spool des news.
#
# Valeur par défaut:
newsspool: /var/spool/news
# Ici on définit la façon dont seront visualisés, dans les clients mails, les répertoires des utilisateurs.
# Si altnamespace: no alors tout répertoire créé à partir des clients mail sera vu comme
# un sous-répertoire du répertoire racine INBOX
# Si altnamespace: yes alors tout répertoire créé à partir des clients mail sera vu comme
# un répertoire racine, au même titre que le répertoire INBOX
#
# Seule la présentation des fichiers est modifiée. La structure de /var/spool/cyrus/mail/ ne change pas.
#
# ATTENTION: une fois cette directive définie, si on crée des répertoires sur lesquels on applique
# des règles de filtrage, alors ces règles ne s’appliqueront plus en cas de modification ultérieure
# de la valeur de cette règle car alors le client mail nous indiquera qu’il ne trouve pas les répertoires.
#
# Valeur par défaut:
altnamespace: no
# Ici on dĂ©finit la possibilitĂ© (si yes) d’utiliser des "." dans les noms des rĂ©pertoires créés dans notre BĂ L Ă
# partir du client mail.
# Donc tous les "." sont remplacés par un "^" dans le nom du répertoire dans /var/spool/cyrus/mail/ mais
# le "." apparaît dans le nom du répertoire dans le client mail.
# Et du coup, pour créer en une seule fois un répertoire et un sous répertoire on utilise
# le délimiteur "/" dans le client mail:
# Exemple: aaaa/bbbb crée un sous répertoire bbbb dans le répertoire aaaa
#
# Si "unixhierarchysep: yes" alors autorisation des "." dans les noms de répertoires.
# Si "unixhierarchysep: no" alors c’est tout l’inverse.
#
# ATTENTION: tout ceci ne fonctionne pas avec IMP3. IMP3 fonctionne comme si on avait
# unixhierarchysep: no quelle que soit, ici, la valeur de "unixhierarchysep" !!!
# THUNDERBIRD: Pour voir les répertoires créés avec IMP3 il faut désactiver l’option
# "Show only subscribed folders" qui se trouve dans "Server Settings" "Advanced..." IMAP".
#
# Comme je gère mes mails avec IMP3, je garde la valeur par défaut de "unixhierarchysep".
#
# Valeur par défaut:
unixhierarchysep: no
# Ici on définit si oui ou non on souhaite autoriser les accents sur les caractères DANS LES EN-TETES (pas
# dans le corps du mail).
# Encodage 8bits: Norme technique permettant le transport des caractères sur 8 bits, et donc,
# sous certaines conditions, de nos caractères accentués nationaux.
#
# C’est l’agent de transport lmtpd (celui de Cyrus-IMAP: voir article précédent ) qui utilise cette règle et
# rejettera les messages.
# ATTENTION: Cette règle, positionnée à yes, peut bloquer les mails envoyés par les forums
# pour confirmation de l’inscription! Voir un exemple dans l’article Les messages d’erreur
#
# Valeur par défaut: no
reject8bit: yes
# Ici on définit si l’on veut ou non que les caractères accentués des en-têtes des mails soient remplacés
# par des "X".
# Voir un exemple dans l’article Les messages d’erreur
# C’est l’agent de transport lmtpd (celui de Cyrus-IMAP: voir article précédent ) qui utilise
# cette règle et rejettera les messages.
# La RFC 2882 spécifie que les en-têtes ne doivent pas comporter de caractères codés sur 8bits.
# Mais de nombreux MUA génèrent tout de même de tels en-têtes mal formés.
# ATTENTION: Activer cette option peut poser des problèmes avec les options de recherche/tri dans les en-têtes.
# Cette règle est appliquée après la règle reject8bit: Donc si reject8bit: yes alors munge8bit: ne sert
# à rien puisqueles mails auront déjà été rejetés par reject8bit: yes
#
# Valeur par defaut: no
munge8bit: no
# Ici on indique si l’on souhaite ou non que l’adresse du destinataire soit automatiquement
# convertie en minuscules.
# Mais cela impose alors de créer des Bà L également en minuscules.
# Le but de cette règle est de permettre qu’un mail à destination de PaScAl@linuxorable.fr
# soit traduit en pascal@linuxorable.fr afin d’être délivré dans la Bà L user.pascal et
# non user.PaScAl
#
# Au final, cette règle "permet" la libre utilisation des majuscules et minuscules dans les adresses des mails
# qui devront être livrés localement.
#
# C’est le serveur lmtpd qui sera chargé de cette action.
#
# Valeur par défaut: no
lmtp_downcase_rcpt: true
# Ici on définit le ou les utilisateurs qui auront les droits administrateur sur le serveur Cyrus-IMAP.
# Accepte une liste d’utilisateurs séparés par un espace.
# Les administrateurs contenus dans cette liste NE DOIVENT PAS avoir de BĂ L !!!
# En d’autres termes, les comptes des administrateurs NE DOIVENT PAS recevoir de mail !!!
#
# Valeur par défaut:< vide >
admins: cyrus
# Ici on définit la taille maximum des courriers ENTRANT.
# Un message qui dépasse la valeur indiquée ici produit un message "Undelivered Mail" chez la personne
# qui a envoyé le mail.
# Si on regarde le corps du message "Undelivered Mail" on voit ceci:
# Final-Recipient: rfc822; pascal@linuxorable.net
# Action: failed
# Status: 5.0.0
# Diagnostic-Code: X-Postfix; data format error. Command output: pascal:
# Over quota
# Unité: le bit (ici la taille des messages reçus est limitée à 20Mo)
#
# Valeur par défaut: < unlimited >
maxmessagesize: 20000000
# Space-separated list of users that have lmtp "admin" status (i.e. that
# can deliver email through TCP/IP lmtp) in addition to those in the
# admins: entry above
#
#lmtp_admins: postman
# Space-separated list of users that have mupdate "admin" status, in
# addition to those in the admins: entry above. Note that mupdate slaves and
# backends in a Murder cluster need to autenticate against the mupdate master
# as admin users.
#
#mupdate_admins: mupdateman
# Space-separated list of users that have imapd "admin" status, in
# addition to those in the admins: entry above
#
#imap_admins: cyrus
# List of users and groups that are allowed to proxy for other users,
# seperated by spaces. Any user listed in this will be allowed to login
# for any other user. Like "admins:" above, you can have imap_proxyservers
# and sieve_proxyservers.
#
#proxyservers: cyrus
# Ici on indique si l’on souhaite autoriser ou non que l’utilisateur "anonymous" puisse se loguer au serveur
# Cyrus-IMAP en utilisant n’importe quel passwd.
# Ce qui veut dire que si on autorise les login anonymes (allowanonymouslogin: yes) alors le couple
# login/passwd suivant: anonymous/unechèvre permet de se loguer !
# Cette règle détermine également si oui ou non le mécanisme SASL "ANONYMOUS" sera autorisé.
#
# Valeur par défaut:
allowanonymouslogin: no
# Minimum time between POP mail fetches in minutes
#
#popminpoll: 1
# Ici, on définit la taille des Bà L des utilisateurs.
# Toute valeur NON NULLE de autocreatequota donnera le droit aux utilisateurs
# de créer leur propre compte IMAP en créant un répertoire INBOX dans leur répertoire personnel.
# Toute valeur POSITIVE de autocreatequota définira la taille des Bà L des utilisateurs.
# Toute autre valeur STRICTEMENT inférieur à zéro de autocreatequota donnera une taille illimitée à ces Bà L.
#
# Valeur par défaut:
autocreatequota: 0
# Ici on définit la valeur "umask" (permissions appliquées par défaut lors de la création d’un
# répertoire ou d’un fichier) pour les programmes de Cyrus-IMAP
#
# Valeur par défaut:
umask: 077
# Sendmail binary location
# DUE TO A BUG, Cyrus sends CRLF EOLs to this program. This breaks Exim 3.
# For now, to work around the bug, set this to a wrapper that calls
# /usr/sbin/sendmail -dropcr instead if you use Exim 3.
#
#sendmail: /usr/sbin/sendmail
# If enabled, cyrdeliver will look for Sieve scripts in user’s home
# directories: ~user/.sieve.
#
#sieveusehomedir: false
# If sieveusehomedir is false, this directory is searched for Sieve scripts.
#
#sievedir: /var/spool/sieve
# notifyd(8) method to use for "MAIL" notifications. If not set, "MAIL"
# notifications are disabled. Valid methods are: null, log, zephyr
#
#mailnotifier: zephyr
# notifyd(8) method to use for "SIEVE" notifications. If not set, "SIEVE"
# notifications are disabled. This method is only used when no method is
# specified in the script. Valid methods are null, log, zephyr, mailto
#
#sievenotifier: zephyr
# DRAC (pop-before-smtp, imap-before-smtp) support
# Set dracinterval to the time in minutes to call DRAC while a user is
# connected to the imap/pop services. Set to 0 to disable DRAC (default)
# Set drachost to the host where the rpc drac service is running
#dracinterval: 0
#
#drachost: localhost
# Cette règle détermine, si oui ou non les répertoires des Bà L seront "hachés" par l’olgorithme MD5.
# Ceci est recommandé pour les spool de mail particulièrement volumineux.
#
# Valeur par défaut:
hashimapspool: true
# Cette directive indique si oui ou non (yes/no) on autorise les mots de passe en clair.
#
# La commande imtest -u pascal -a pascal -m < mecanisme de login > -p imap -v localhost
# permet de tester des mécanismes d’authentification au serveur imapd (man imtest).
# Ne pas pas initiliser allowplaintext: no si uniquement imapd tourne et voir le tableau en fin de document !!!
#
# Valeur par défaut:
allowplaintext: yes
# CETTE REGLE N'EST PAS DANS LA PAGE DE man !!!
# Ici on définit la liste des types d’authentification acceptés par le serveur IMAP.
# Je suis obligé de mettre cram-MD5 sinon j’ai un message d’erreur de la part de Thunderbird
# et sous IMP3 je ne peux plus envoyer de mails.
#
# Autres valeurs possibles: plain, login
#
# Si sasl_mech_list: digest-MD5 alors voici les logs produits par /var/log/mail.log
#
# cyrus/imapd[7787]: login: euphorie[82.67.66.131] pascal plaintext+TLS
#
# Si sasl_mech_list: cram-MD5 alors voici les logs produits par /var/log/mail.log
#
# cyrus/imapd[7864]: login: euphorie[82.67.66.131] pascal CRAM-MD5+TLS User logged in
#
# La liste ci-dessous détermine aussi les valeurs possibles de l’option -m de la commande imtest
#
sasl_mech_list: digest-md5 cram-MD5
#
# Pour une connexion au serveur LDAP IL FAUT UNIQUEMENT le mécanisme "PLAIN"
#sasl_mech_list: plain
# Allow use of the POP3 APOP authentication command.
# Note that this command requires that the plaintext passwords are
# available in a SASL auxprop backend (eg. sasldb), and that the system
# can provide enough entropy (eg. from /dev/urandom) to create a challenge
# in the banner.
#
#allowapop: no
# The minimum SSF that the server will allow a client to negotiate. A
# value of 1 requires integrity protection; any higher value requires some
# amount of encryption.
#
#sasl_minimum_layer: 0
# The maximum SSF that the server will allow a client to negotiate. A
# value of 1 requires integrity protection; any higher value requires some
# amount of encryption.
#
#sasl_maximum_layer: 256
# List of remote realms whose users may log in using cross-realm
# authentications. Seperate each realm name by a space. A cross-realm
# identity is considered any identity returned by SASL with an "@" in it.
#
#loginrealms:
# ========= MISE EN OEUVRE DE L’AUTHENTIFICATION SASL ===========
#
# SASL library options (these are handled directly by the SASL libraries,
# refer to SASL documentation for an up-to-date list of these)
# The mechanism(s) used by the server to verify plaintext passwords. Possible
# values are "saslauthd", "auxprop", "pwcheck" and "alwaystrue". They
# are tried in order, you can specify more than one, separated by spaces.
# Do note that, since sasl will be run as user cyrus, you may have a lot of
# trouble to set this up right.
#
# Ici on indique quelle METHODE doit être utilisée pour l’authentification au serveur Cyrus-IMAP.
# Valeurs possibles: auxprop, saslauthd, pwcheck, alwaystrue
# Les valeurs d’une liste doivent être séparées par un espace et sont testées dans l’ordre de la liste.
# Cette règle, telle que définie ci-dessous, permet de se passer de l’utilisation du serveur d’authentification saslauthd
#
# LE MOT CLEF auxprop indique au serveur d’utiliser un fichier de mots de passe SASL externe (p158).
# Ce fichier est /etc/sasldb2
#
# Par contre, si on définit ainsi cette règle: sasl_pwcheck_method: saslauthd ALORS cela IMPLIQUE
# de lancer le serveur d’authentification saslauthd
# Ce qui devra ĂŞtre fait pour une connexion au serveur LDAP !
#
# Valeur par défaut:
#
sasl_pwcheck_method: auxprop
# CETTE REGLE N'EST PAS DANS LA PAGE DE man !!!
# What auxpropd plugins to load, if using sasl_pwcheck_method: auxprop
# by default, all plugins are tried (which is probably NOT what you want).
#
# Ici on indique quel plugin il faut charger si sasl_pwcheck_method: auxprop
# Par défaut tous les plugins sont testés ???
# Pour une connexion au serveur LDAP il faut commenter cette règle !
# Des valeurs possibles: mysql, ldap, sasldb
#
sasl_auxprop_plugin: sasldb
# Si on positionne la règle sasl_auto_transition: à yes alors la librairie SASL créera automatiquement
# une connexion chiffrée si un mot de passe en clair est fourni pour l’authentification au
# serveur Cyrus-IMAP.
# ATTENTION: si "yes" ALORS mettre les droits en écritures sur /var/spool/postfix/etc/sasldb2 (p158)
# VoilĂ les logs produits par /var/log/auth.log quand sasl_auto_transition: yes et que les droits sur
# la base de données /etc/sasldb2 sont 440 (sans droit d’écriture):
#
# cyrus/imapd[25384]: transitioning user pascal to auxprop database
# cyrus/imapd[25384]: unable to open Berkeley db /etc/sasldb2: Permission denied
# cyrus/imapd[25384]: setpass failed for pascal: generic failure
# cyrus/imapd[25384]: transitioning user pascal to auxprop database
# cyrus/imapd[25384]: unable to open Berkeley db /etc/sasldb2: Permission denied
# cyrus/imapd[25384]: setpass failed for pascal: generic failure
#
# Cependant, l’authentification réussie tout de même.
#
# Et voici les logs produits par /var/log/auth.log quand sasl_auto_transition: yes et que les droits sur
# la base de données /etc/sasldb2 sont 660 (avec droit d’écriture):
#
# cyrus/imapd[25444]: transitioning user pascal to auxprop database
# cyrus/imapd[25444]: setpass succeeded for pascal
# cyrus/imapd[25444]: transitioning user pascal to auxprop database
# cyrus/imapd[25444]: setpass succeeded for pascal
# cyrus/imapd[25444]: transitioning user pascal to auxprop database
# cyrus/imapd[25444]: setpass succeeded for pascal
#
# Valeur par défaut: no
#
sasl_auto_transition: yes
# ========= MISE EN OEUVRE D’UNE CONNEXION CRYPTÉE AVEC SSL/TLS ===========
#
# Si on ne souhaite pas utiliser le protocole SSL/TLS (donc le serveur imaps) commenter TOUTES les lignes
# ci-dessous comportant le mot tls
# A SAVOIR: Cyrus-IMAP ne fonctionne qu’avec des certificats non chiffrés. Tout comme Postfix.
# C’est pourquoi dans les lignes de commande de création des certificats il y a toujours l’option -node
# qui indique Ă OpenSSL de ne pas chiffrer les certificats.
#
# OpenSSL: Par défaut, OpenSSL chiffre les certificats avec un encodage base64.
# RAPPEL: TLS n’est pas conçu pour chiffrer le contenu des mails. Il est conçu pour chiffrer
# la communication TCP afin d’assurer la confidentialité et l’intégrité des messages.
# Ceci permet également de s’assurer que les messages sont livrés au bon destinataire.
# Cependant, lors du chiffrement de la connexion, MEME le message est crypté.
# Mais un fois ce message reçu par le serveur, ce dernier va le déposer dans la Bà L en clair.
# Le chiffrement par TLS ne concerne que la connexion de système à système.
#
# IMP3: Penser Ă apporter les modifications au fichier /etc/imp3/servers.php pour pouvoir
# se connecter au serveur imaps
#
#Thunderbird: Cocher l’option "Use secure connection (SSL)" dans "Server Settings".
#
# Cette règle est identique à la directive tls_imap_require_cert: (plus bas) MAIS elle est générale en ce sens
# qu’elle est valable pour tous les services: imap, pop3, lmtp, sieve
# Cette règle précise si oui ou non l’on exige un certificat (clef publique) de la part de l’utilisateur
# (client) pour tous les services.
#
# Valeur par défaut:
tls_require_cert: false
# File containing the global certificate used for ALL services (imap, pop3, lmtp, sieve)
#
#tls_cert_file: /etc/ssl/certs/cyrus-global.pem
# File containing the private key belonging to the global server certificate.
#
#tls_key_file: /etc/ssl/private/cyrus-global.key
# Ici on indique le répertoire dans lequel se trouvent tous LES certificats des Autorités de Certification (CA).
#
# Dans mon cas, je n’ai qu’un certificat puisque je me sers de ma propre AC et d’aucune autre.
# Valeur par défaut:
#tls_ca_path: /usr/lib/ssl/mon_AC/private/
# Ici on indique quel est le fichier qui contient LE certificat de notre Autorité de Certification (AC).
#
tls_ca_file: /usr/lib/ssl/mon_AC/private/mon_AC.crt
# The length of time (in minutes) that a TLS session will be cached for later
# reuse. The maximum value is 1440 (24 hours), the default. A value of 0 will
# disable session caching.
#
tls_session_timeout: 1440
# The list of SSL/TLS ciphers to allow. The format of the string is described
# in ciphers(1). THIS DISABLES THE WEAK ’FOR EXPORT’ CRAP!
#
#tls_cipher_list: TLSv1:SSLv3:SSLv2:!NULL:!EXPORT:!DES:!LOW:@STRENGTH
# SSL/TLS pour le serveur Cyrus-IMAP:
#
# Ici on déclare l’utilisation de certificats pour s’authentifier auprès du serveur Cyrus-IMAP.
# En clair, cela veut dire que si cette directive est positionnée à :
# true alors il faudra que chaque utilisateur possède une clef publique dans son client mail.
#
# ATTENTION: La valeur true est à proscrire pour l’utilisation d’un webmail (IMP3 par exemple).
# Ceci est du au fait que la librairie c-client ne supporte pas la fonction "passer un certificat client au serveur" !!!
#
# false alors aucune clef publique n’est requise pour les clients mails des utilisateurs.
#
tls_imap_require_cert: false
# Ici on déclare le fichier qui contient le certificat (clef publique) du serveur Cyrus-IMAP.
# Si la valeur de cette règle est positionnée à disabled, alors l’utilisation de SSL/TLS est impossible.
# Si on commente cette ligne alors c’est le certificat général (??) qui sera utilisé ????
#
tls_imap_cert_file: /usr/lib/ssl/mon_AC/certs/server_signed.pem
# Ici on indique le fichier qui contient la clef PRIVÉE du server Cyrus-IMAP.
# Si la valeur de cette règle est positionnée à disabled, alors l’utilisation de SSL/TLS est impossible.
# Si on commente cette ligne alors c’est le certificat général (??) qui sera utilisé.
#
tls_imap_key_file: /usr/lib/ssl/mon_AC/private/server_tls.pem
# SSL/TLS pour le serveur LMTP:
#
# Ici on précise si l’on exige un certificat (clef publique) de la part de chaque utilisateur pour
# la connexion au serveur LMTP.
# ATTENTION: La valeur true est à proscrire pour l’utilisation d’un webmail (IMP3 par exemple).
#
tls_lmtp_require_cert: false
# Ici on déclare quel fichier contient le certificat du serveur LMTP.
# Si la valeur de cette règle est positionnée à disabled, alors l’utilisation de SSL/TLS est
# impossible pour LMTP.
# Si on commente cette ligne alors c’est le certificat général (??) qui sera utilisé ????
#
tls_lmtp_cert_file: /usr/lib/ssl/mon_AC/certs/server_signed.pem
# Ici on indique le fichier qui contient la clef PRIVÉE du serveur LMTP.
# Si la valeur de cette règle est positionnée à disabled, alors l’utilisation de SSL/TLS est
# impossible pour LMTP.
# Si on commente cette ligne alors c’est le certificat général (??) qui sera utilisé ????
#
tls_lmtp_key_file: /usr/lib/ssl/mon_AC/private/server_tls.pem
# SSL/TLS pour le serveur POP3:
#
# Ici on précise si l’on exige un certificat (clef publique) de la part de chaqueutilisateur pour
# la connexion au serveur POP.
# ATTENTION: La valeur true est à proscrire pour l’utilisation d’un webmail (IMP3 par exemple).
#
#tls_pop3_require_cert:false
# File containing the certificate used for pop3. If not specified, the global
# certificate is used. A value of "disabled" will disableSSL/TLSforpop3.
#
#tls_pop3_cert_file: /etc/ssl/certs/cyrus-pop3.pem
# File containing the private key belonging to the pop3-specific server
# certificate. If not specified, the global private key is used. A value of
# "disabled" will disable SSL/TLS for pop3.
#
#tls_pop3_key_file: /etc/ssl/private/cyrus-pop3.key
# SSL/TLS pour le serveur SIEVE:
#
# Ici on précise si l’on exige un certificat (clef publique) de la part de chaque utilisateur pour
# la connexion au serveursieve.
#
#tls_sieve_require_cert: false
# File containing the certificate used for sieve. If not specified, the global
# certificate is used. A value of "disabled" will disable SSL/TLS for sieve.
#
#tls_sieve_cert_file: /etc/ssl/certs/cyrus-sieve.pem
# File containing the private key belonging to the sieve-specific server
# certificate. If not specified, the global private key is used. A value of
# "disabled" will disable SSL/TLS for sieve.
#
#tls_sieve_key_file: /etc/ssl/private/cyrus-sieve.key
# Cyrus Murder cluster configuration
#
# Set the following options to the values needed for this server to
# autenticate against the mupdate master server:
#
# mupdate_server
# mupdate_port
# mupdate_username
# mupdate_authname
# mupdate_realm
# mupdate_password
# mupdate_retry_delay
# Cette règle doit être en concordance avec le fichier /etc/cyrus.conf et plus
# particulièrement avec cette ligne:
# lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
# Ici on déclare que le serveur lmtpd écoute sur un socket de type UNIX puisque la valeur
# de lmtpsocket renvoie Ă la commande:
# lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20 du fichier /etc/cyrus.conf
#
lmtpsocket: /var/run/cyrus/socket/lmtp
# Unix domain socket that idled listens on.
#
idlesocket: /var/run/cyrus/socket/idle
# Unix domain socket that the new mail notification daemon listens on.
#
notifysocket: /var/run/cyrus/socket/notify
##
## DEBUGGING
##
# Debugging hook. See /usr/share/doc/cyrus21-common/README.Debian.debug
#Keepthehook disabled when it is not in use
#
# gdb Back-traces
#
#debug_command: /usr/bin/gdb-batch-cd=/tmp-x/usr/lib/cyrus/get-backtrace.gdb/usr/lib/cyrus/bin/%s%d \
>/tmp/gdb-backtrace.cyrus.%1$s.%2$d<&-2>&1&
# system-call traces
#
#debug_command: /usr/bin/strace -tt -o /tmp/strace.cyrus.%s.%d-p %2$d <&- 2>&1 &
# library traces
#
#debug_command: /usr/bin/ltrace -tt -n 2 -o /tmp/ltrace.cyrus.%s.%d-p%2$d <&- 2>&1&
# ------------------------------------ Fin du fichier ------------------------------------ Bien.
- Si vous n’avez que le serveur imapd qui tourne et que vous n’avez initié que les règles de cette couleur, alors vous devez toujours être en mesure de vous connecter au serveur imapd avec l’utilisateur test0
A ce stade d’avancement de la configuration générale du serveur de mail, l’alternative suivante s’offre à vous:
2°/ Vous souhaitez utiliser SSL/TLS, auquel cas, je vous suggère de poursuivre avec l’article Cyrus IMAP : le protocole SSL/TLS qui décrit dans le détail la création d’une AC, des certificats et autres jeux de clefs.
Cependant, vous pouvez dès à présent contrôler le bon fonctionnement du serveur Cyrus-IMAP avec ces deux commandes:
netstat -antp |grep master
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 912/cyrmaster tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 912/cyrmaster tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1130/master
Il y a bien deux serveurs IMAP qui tournent: imapd sur le port 143 et imaps sur le port 993. Sur le port 25 c’est le serveur smtp
netstat -altp |grep master
tcp 0 0 *:imaps *:* LISTEN 912/cyrmaster tcp 0 0 *:imap2 *:* LISTEN 912/cyrmaster tcp 0 0 *:smtp *:* LISTEN 1130/master
Ici sont affichés les noms des services. Ne vous y trompez pas, imap2 fait bien référence à imap4 révision 1 (RFC2060 )
A la fin de l’article Cyrus IMAP : le protocole SSL/TLS est indiqué comment configurer Thunderbird pour l’utilistaion du protocole SSL/TLS
La règle allowplaintext
L’utilisation de la règle allowplaintext: m’ayant posé quelques difficultés, je prends le temps d’en résummer les effets dans le tableau ci-dessous.
Pour bien comprendre le tableau, considérons la figure 1 suivante:
Fig 1: Options d’accès au serveur IMAP
On voit donc que le cadre Paramètres du serveur propose deux options possibles d’accès au serveur IMAP:
- Option1: Utiliser une connexion sécurisée (SSL)
- Option2: Utiliser une authentification securisée
Dans le tableau ci-dessous:
- Rien signifie qu’aucune des deux options n’est sélectionée.
- SSL signifie que seule l’option1 est sélectionnée.
- Auth. séc. signifie que seule l’option2 est sélectionnée.
- SSL + Auth.~séc. signifie que les deux options sont sélectionnées.
- imaps + imapd signifie que deux serveurs tournent en mĂŞme temps: imapd et imaps
- imaps - imapd signifie que seul le serveur imaps tourne.
Le tableau présente le type d’accès au serveur IMAP que l’on obtient:
| plaintext |
impossible |
impossible |
impossible |
|
| plaintext + TLS |
plaintext + TLS |
plaintext + TLS |
plaintext + TLS |
|
| impossible |
impossible |
impossible |
impossible |
|
| cram-md5 + TLS |
cram-md5 + TLS |
cram-md5 + TLS |
cram-md5 + TLS |
Sachant que allowplaintext=yes est obligatoire si uniquement imapd tourne, il se dégage de ce tableau:
- 1°/ Que allowplaintext=yes permet, si imapd et imaps tournent, de laisser le libre choix du type d’accès au serveur IMAP que désire l’utilisateur.
- 2°/ Qu’une authentification sécurisée (i.e: le mot de passe est crypté par l’algorithme MD5) implique une connexion sécurisée.
Commentaires













