29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / Internet / Installer Cyrus IMAP + SSL + LDAP / Cyrus IMAP : le fichier cyrus.conf





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Installer Cyrus IMAP + SSL + LDAP

Table des matières

  1. Installer Cyrus IMAP + SSL + LDAP
  2. Installer Cyrus IMAP
  3. Le fichier cyrus.conf
  4. Le fichier imapd.conf
  5. Le fichier imapd-local.conf
  6. Création d'une Autorité de certification et de certificats
  7. Boîte à lettres partagée
  8. Cyrus IMAP : authentification auprès d'un annuaire LDAP

Cyrus IMAP : le fichier cyrus.conf

Date de publication: le dimanche 13 mars 2011 à 20h01
Dernière modification: par Pascal BOYER le mercredi 4 mai 2011 à 21h09

La sagesse des vieillards, c'est une grande erreur. Ce n'est pas plus sages qu'ils deviennent, c'est plus prudents.

Ernest Hemingway

Le fichier cyrus.conf

Après avoir installé le serveur imapd Cyrus-IMAP, voyons dans un premier temps à quoi ressemble le fichier /etc/cyrus.conf

Mais avant de se lancer bille en tête dans la configuration de ce fichier, quelques considérations générales.

Ce qu’il faut retenir

Le fichier /etc/cyrus.conf permet essentiellement de définir le type de serveur que l’on souhaite faire tourner: POP3, POP3S, IMAP ou IMAPS.

Le «S» de POP3S et IMAPS signifie «Sécurisé».
C’est la connexion TCP au serveur imaps qui est sécurisée. On parle de chiffrement de la connexion.
En clair, cela veut dire que lorsque l’on se connectera au serveur Cyrus-IMAP, par l’intermédiaire d’un client de gestion de mails (Mozilla-mail, Thunderbird, IMP etc...), cette connexion sera chiffrée par le protocole SSL/TLS. Le login et le passwd utilisés pour l’authentification auprès du serveur Cyrus-IMAP seront également chiffrés (donc protégés de personnes malveillantes).

La mise en œuvre du protocole SSL/TLS pour les connexions au serveur imaps Cyrus-IMAP relève des deux fichiers de configuration /etc/cyrus.conf et /etc/impad.conf

Quant à la création de l’AC, des certificats et des clefs publiques/privées que requiert la mise en œuvre du protocole TLS/SSL, tout est largement détaillé dans l’article SSL/TLS : créer une autorité de certification et des certificats

:
La mise en œuvre d’un serveur IMAP sécurisé augmente considérablement la charge de travail de l’administrateur (si, bien sûr, le nombre de BàL à gérer est important).
En effet, mettre en place le protocole SSL/TLS c’est devoir créer une AC, émettre des certificats, les signer et éventuellement, en fonction des options choisies dans la configuration du serveur imaps, devoir émettre un certificat pour chaque utilisateur ayant une BàL.
Cela peut être aussi devoir gérer les révocations des certificats.
Et c’est bien sûr devoir configurer correctement les logiciels clients des utilisateurs.
Bref, un vrai travail quoi !

Cela dit, même dans le cas d’un serveur personnel ne gérant que les mails des membres de la famille et/ou des amis, le gain de sécurité apporté par la mise en place de SSL/TLS vaut la peine de s’y attarder.

C’est pourquoi la configuration que je propose repose sur la mise en place du protocole SSL/TLS.

Procéder par étape

A mon humble avis, et pour mettre toutes les chances de son côté pour réussir la mise en place d’un serveur opérationnel, voici l’ordre des étapes à suivre que je préconise:

  •  1°/ Ne configurer que imapd (pas imaps)
    • Le serveur imapd écoute sur le port 143
    • La connexion au serveur n’est pas chiffrée.

Après avoir procédé à quelques tests et s’être assuré que tout fonctionne correctement, alors:

  •  2°/ Ajouter (en plus du serveur imapd) le fonctionnement du serveur imaps
    • Le serveur imaps écoute sur le port 993 et la connexion TCP au serveur est chiffrée par le protocole SSL/TLS.
    • Il est possible de faire fonctionner en même temps et sur une même machine un serveur imapd et un serveur imaps.
    • L’avantage que cela procure est d’offrir une connexion chiffrée aux utilisateurs dont les logiciels clients supportent ce type de connexion et aux autres utilisateurs la possibilité d’utiliser le serveur non sécurisé imapd.
    • Un autre avantage, et que l’on peut consulter ses mails via imapd pendant la phase de mise en œuvre de imaps.
    • Enfin, et ce n’est pas rien, la gestion des BàL avec la commande cyradm nécessite le fonctionnement du serveur imapd car elle ne fonctionne pas encore avec le protocole imaps !!!
  •  3°/ Réduire le fonctionnement de imapd à la simple gestion des BàL:
    • Si l’on souhaite ne conserver que le serveur sécurisé imaps, alors il faut supprimer le fonctionnement de imapd.
    • Mais se pose alors le problème de l’administration des BàL !
    • Et bien ce problème est contourné en faisant tourner le serveur imapd uniquement sur l’adresse 127.0.0.1 Ce qui revient à dire que ce serveur ne sera accessible que depuis la machine qui héberge le serveur.
    • Et c’est exactement ce qu’il nous faut pour conserver la possibilité d’administrer les BàL tout en n’offrant aux utilisateurs qu’une connexion sécurisée.

Toutes les informations nécessaires sont portées en commentaire dans le fichier /etc/cyrus.conf présenté ci-dessous.

Le fichier /etc/cyrus.conf

Je n’ai pas traduit l’intégralité du fichier.

J’ai donc commenté EN MAJUSCULES les modifications que j’ai apportées à ce fichier.

# ------------------------------------- Début du fichier ---------------------------------- 
# Debian defaults for Cyrus IMAP server/cluster implementation
# see cyrus.conf(5) for more information
#
# All the tcp services are tcpd-wrapped. see hosts_access(5)
 
# LA SECTION «START» CONTIENT LES PROCESSUS À LANCER LORS DU DÉMARRAGE DU SERVEUR IMAP
# TOUS LES PROCESSUS DE LA SECTION «START» SERONT LANCÉS AVANT CEUX DE LA SECTION «SERVICES»
# NORMALEMENT, IL N'Y A AUCUNE RAISON DE MODIFIER CETTE SECTION
START {
       # do not delete this entry! - NE PAS SUPPRIMER CETTE LIGNE (C'EST LA VÉRIFICATION DES BASES DE DONNÉES DE Cyrus: /var/lib/cyrus/*.db)
       recover  cmd="/usr/sbin/cyrus ctl_cyrusdb -r"
 
       # this is only necessary if idlemethod is set to "idled" in imapd.conf
       #idled  cmd="idled"
 
       # this is useful on backend nodes of a Murder cluster
       # it causes the backend to syncronize its mailbox list with
       # the mupdate master upon startup
       #mupdatepush   cmd="/usr/sbin/cyrus ctl_mboxlist -m"
 
       # this is recommended if using duplicate delivery suppression
       delprune cmd="/usr/sbin/cyrus expire -E 3"
       # this is recommended if caching TLS sessions
       tlsprune cmd="/usr/sbin/cyrus tls_prune"
}
 
# UNIX sockets start with a slash and are absolute paths
# you can use a maxchild=# to limit the maximum number of forks of a service
# you can use babysit=true and maxforkrate=# to keep tight tabs on the service
# most services also accept -U (limit number of reuses) and -T (timeout)
 
 
# POUR MIEUX COMPRENDRE LA CONFIGURATION DE CE FICHIER VOUS POUVEZ VOUS RÉFÉRER À LA MANPAGE 
# QUI LUI EST CONSACRÉE (N'EXISTE PAS EN FRANÇAIS): man cyrus.conf
 
SERVICES {
       # --- Normal cyrus spool, or Murder backends ---
       # add or remove based on preferences
 
       # ICI JE DÉSACTIVE imapd CAR JE VEUX UNIQUEMENT imaps 
       # MAIS ATTENTION: IL DEVIENT ALORS IMPOSSIBLE DE SE CONNECTER À /etc/sasdb2 !! ET DONC 
       # L’ADMINISTRATION DES BàL DEVIENT IMPOSSIBLE, DONC VOIR LA LIGNE D’APRÈS.
       # (ne pas commenter cette ligne si on ne souhaite pas utiliser le protocole SSL/TLS) 
       #imap  cmd="imapd -U 30" listen="imap" prefork=0 maxchild=100
 
       # ICI J’ACTIVE imapd UNIQUEMENT EN LOCAL (SUR 127.0.0.1, port 143) POUR POUVOIR CONTINUER À ADMINISTRER
       # MA BASE DE DONNÉES /etc/sasldb2 ( Voir l’article «Le fichier imapd-local.conf» ) 
       # (commenter cette ligne si on ne souhaite pas utiliser le protocole SSL/TLS)  
       imaplocal  cmd="imapd -C /etc/imapd-local.conf" listen="127.0.0.1:imap" prefork=0
 
       # CI-DESSOUS J’ACTIVE LE PROTOCOLE imaps (IMAP sécurisé, port 993) 
       # (commenter cette ligne si on ne souhaite pas utiliser le protocole SSL/TLS)
       imaps  cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
 
       # JE COMMENTE LES DEUX LIGNES CI-DESSOUS CAR JE NE VEUX PAS DE SERVEUR POP (p89) 
       #pop3  cmd="pop3d -U 30" listen="pop3" prefork=0 maxchild=50
       #pop3s  cmd="pop3d -s -U 30" listen="pop3s" prefork=0 maxchild=50
 
       # JE COMMENTE LES DEUX LIGNES CI-DESSOUS CAR JE NE VEUX PAS DE SERVEUR nntp 
       #nntp  cmd="nntpd -U 30" listen="nntp" prefork=0 maxchild=100
       #nntps  cmd="nntpd -s -U 30" listen="nntps" prefork=0 maxchild=100
 
       # At least one form of LMTP is required for delivery
       # (you must keep the Unix socket name in sync with imap.conf)
       #lmtp  cmd="lmtpd" listen="localhost:lmtp" prefork=0 maxchild=20
 
       # CI-DESSOUS ON DESIGNE QUEL EST L’AGENT DE DISTRIBUTION LOCAL lmtp QUI DELIVREVRA LES 
       # MESSAGES AU SERVEUR lmtpd 
       # LA PARTIE «listen="/var/run/cyrus/socket/lmtp"» CI-DESSOUS MONTRE QUE C’EST LE SERVEUR lmtpd de 
       # Cyrus-IMAP QUI SERA UTILISÉ. (p89)  
       lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
 
       # ----------------------------------------------
 
       # useful if you need to give users remote access to sieve
       # by default, we limit this to localhost in Debian
       # JE COMMENTE LA LIGNE CI-DESSOUS CAR JE N’UTILISE PAS sieve
       #sieve  cmd="timsieved" listen="localhost:sieve" prefork=0 maxchild=100
 
       # this one is needed for the notification services
       notify  cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1
 
       # --- Murder frontends -------------------------
       # enable these and disable the matching services above, 
       # except for sieve (which deals automatically with Murder)
 
       # mupdate database service - must prefork at least 1
       # (mupdate slaves)
       #mupdate       cmd="mupdate" listen=3905 prefork=1
       # (mupdate master, only one in the entire cluster)
       #mupdate       cmd="mupdate -m" listen=3905 prefork=1
 
       # proxies that will connect to the backends
       #imap  cmd="proxyd" listen="imap" prefork=0 maxchild=100
       #imaps  cmd="proxyd -s" listen="imaps" prefork=0 maxchild=100
       #pop3  cmd="pop3proxyd" listen="pop3" prefork=0 maxchild=50
       #pop3s  cmd="pop3proxyd -s" listen="pop3s" prefork=0 maxchild=50
       #lmtp  cmd="lmtpproxyd" listen="lmtp" prefork=1 maxchild=20
       # ----------------------------------------------
}
 
EVENTS {
       # this is required
       checkpoint cmd="/usr/sbin/cyrus ctl_cyrusdb -c" period=30
 
       # this is only necessary if using duplicate delivery suppression
       delprune cmd="/usr/sbin/cyrus expire -E 3" at=0401
 
       # this is only necessary if caching TLS sessions
       tlsprune cmd="/usr/sbin/cyrus tls_prune" at=0401
 
       # indexing of mailboxes for server side fulltext searches
 
       # POUR OBTENIR DES INFORMATIONS SUR LES INDEX DE TYPE SQUAT FAIRE man squatter MAIS LIRE AVANT TOUT CE MESSAGE:
       #  http://linuxfr.org/forums/linuxg%C3%A9n%C3%A9ral/posts/cyrus-imap-squat-failed-to-open-index-file
 
       # reindex changed mailboxes (fulltext) approximately every other hour
       #squatter_1 cmd="/usr/bin/nice -n 19 /usr/sbin/cyrus squatter -s" period=120
 
       # reindex all mailboxes (fulltext) daily
       #squatter_a cmd="/usr/sbin/cyrus squatter" at=0517
}
 
# ---------------- Fin du fichier -------------

Voilà pour le fichier de configuration des services utilisés par Cyrus-IMAP.

Passons maintenant à la configuration du serveur lui-même: le fichier /etc/imapd.conf



Table des matières

  1. Installer Cyrus IMAP + SSL + LDAP
  2. Installer Cyrus IMAP
  3. Le fichier cyrus.conf
  4. Le fichier imapd.conf
  5. Le fichier imapd-local.conf
  6. Création d'une Autorité de certification et de certificats
  7. Boîte à lettres partagée
  8. Cyrus IMAP : authentification auprès d'un annuaire LDAP

Commentaires