Serveur mail sous CentOS (2) Dovecot

Logo DovecotL’installation de Postfix nous permet d’envoyer et de recevoir des e-mails directement sur le serveur, en utilisant le client mutt. En revanche, l’utilisation d’un client mail externe comme Mozilla Thunderbird nécessite un accès distant aux boîtes mail du serveur. C’est là où Dovecot entre en jeu.

Dovecot est un serveur IMAP et POP3 pour les systèmes d’exploitation Unix et dérivés. Nous n’utiliserons que le seul protocole IMAP, où les e-mails restent sur le serveur, tout en étant gérés à distance.

La première configuration proposée ici n’a qu’une visée pédagogique. Elle n’est pas sécurisée. Pour utiliser Dovecot dans un environnement de production, nous devons impérativement ajouter le chiffrement SSL par la suite.

Prérequis

Dans le pare-feu, il faudra ouvrir le port 143 en TCP pour le protocole IMAP.

Pour mes tests, j’utilise l’adresse jean.mortreux@slackbox.fr que j’ai mise en place dans Postfix.

Installation

Dovecot est fourni par le dépôt [base] de CentOS.

# yum install dovecot

Configuration initiale

Les fichiers de configuration de Dovecot se trouvent dans le répertoire /etc/dovecot. En dehors du fichier /etc/dovecot/dovecot.conf, le répertoire /etc/dovecot/conf.d contient une véritable forêt de fichiers de configuration, totalisant près de 1.500 lignes de texte.

Pas la peine de s’inquiéter pourtant. D’une part, la plupart de ces 1.500 lignes sont des commentaires, souvent très détaillés. Les directives à proprement parler occupent relativement peu de place.

D’autre part, Dovecot est immédiatement utilisable dans sa configuration par défaut, ou presque. Il suffit d’éditer une poignée de directives pour disposer d’un serveur IMAP fonctionnel, et c’est ce que nous allons faire.

Le premier fichier à éditer, c’est /etc/dovecot/dovecot.conf. À la ligne 24, l’option protocols permet de spécifier le protocole du serveur.

# Protocols we want to be serving.
protocols = imap

Un peu plus loin, à la ligne 30, la directive listen permet de définir Dovecot pour l’IPv4 et/ou l’IPv6. Nous n’utiliserons que l’IPv4.

# A comma separated list of IPs or hosts where to listen in for 
# connections. "*" listens in all IPv4 interfaces, "::" listens in 
# all IPv6 interfaces. If you want to specify non-default ports or 
# anything more complex, edit conf.d/master.conf.
listen = *

Ensuite, nous allons autoriser l’authentification en texte clair en éditant /etc/dovecot/conf.d/10-auth.conf à la ligne 10. Décommenter et désactiver l’option disable_plaintext_auth comme ceci.

disable_plaintext_auth = no

Toujours dans le fichier 10-auth.conf, ajouter l’argument login à la directive auth_mechanisms. Cet argument permet à des clients comme Outlook Express ou Windows Mail de se connecter au serveur.

auth_mechanisms = plain login

Postfix utilise le format Maildir/ pour stocker les mails, et c’est ce que nous allons spécifier à Dovecot dans le fichier /etc/dovecot/conf.d/10-mail.conf, en décommentant et en éditant l’option mail_location à la ligne 30.

mail_location = maildir:~/Maildir

Désactiver le chiffrement SSL dans /etc/dovecot/conf.d/10-ssl.conf, à la ligne 8.

ssl = no

Configurer l’authentification SMTP pour Postfix

Le MTA Postfix n’est pas capable d’effectuer l’authentification SMTP. C’est Dovecot qui va s’en charger.

Dans un premier temps, éditer /etc/dovecot/conf.d/10-master.conf, décommenter la stance suivante aux alentours de la ligne 96 en l’éditant comme ceci.

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
}

Ensuite, ajouter une série de directives à la fin du fichier /etc/postfix/main.cf.

# Authentification SMTP
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,
                               permit_auth_destination,
                               permit_sasl_authenticated,
                               reject

Premier lancement

Activer et démarrer Dovecot.

# systemctl enable dovecot
# systemctl start dovecot

Vérifier si Dovecot tourne correctement.

# systemctl status dovecot
● dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/usr/lib/systemd/system/dovecot.service; 
   enabled; vendor preset: disabled)
   Active: active (running) since mer. 2017-07-12 15:44:22 CEST; 
   4s ago
# cat /var/log/maillog
... Dovecot v2.2.10 starting up for imap (core dumps disabled)

Configuration de Thunderbird

Sur un poste client, lancer Thunderbird, interrompre la configuration automatique en cliquant sur Configuration manuelle et renseigner les champs comme ceci.

Configuration Thunderbird

Étant donné que nous n’utilisons aucun chiffrement, Thunderbird nous gratifie d’un avertissement haut en couleurs, ce qui est tout à fait normal. N’oublions pas que dans la configuration actuelle, nos données d’utilisateur se baladent en texte clair dans le réseau.

Configuration Thunderbird

À partir de là, nous sommes prêts à envoyer et recevoir des mails à des fins de test.

Configuration Thunderbird

La sécurisation des connexions fera l’objet de notre prochain article.

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *