✉️ Nous sommes désormais immergés dans l'essentiel des configurations de Dovecot pour construire notre serveur de messagerie !
Dans l'article précédent, nous avons examiné la structure des fichiers de configuration de Dovecot, n'est-ce pas ? Il est temps de passer à la pratique.

📌 Si vous n'avez pas encore lu l'épisode précédent, je vous recommande de le faire en premier.
👉 Construire un serveur de messagerie Linux #3 : Structure et mode d'application des fichiers de configuration de Dovecot

Dans cet article, nous allons analyser l'ensemble des 4 fichiers de configuration essentiels de Dovecot nécessaires à l'exécution d'un serveur de messagerie, en fournissant des méthodes pratiques de configuration en tenant compte de l'environnement des utilisateurs virtuels et de l'intégration avec Postfix.


🚀 Quatre fichiers de configuration essentiels de Dovecot

Il y a tellement de fichiers de configuration Dovecot qu'ils peuvent être accablants au début. Cependant, si vous comprenez correctement ces 4 fichiers de configuration, il est possible d'exécuter un service de messagerie de base.

Fichier de configuration Rôle
10-auth.conf Configuration de l'authentification des utilisateurs
10-mail.conf Configuration du stockage des courriers (boîte mail)
10-master.conf Configuration des processus de service (IMAP, POP3, LMTP, etc.)
10-ssl.conf Configuration du chiffrement TLS/SSL

Nous allons examiner chaque fichier de configuration et appliquer les réglages considérant l'environnement des utilisateurs virtuels et l'intégration avec Postfix.


🛠️ Utilisateur vmail créé lors de l'installation de Dovecot

Lorsque Dovecot est installé pour la première fois, un utilisateur et groupe dédié appelé vmail (UID/GID 5000) est automatiquement créé.
Cet utilisateur a pour rôle de stocker et de gérer les données des mails et n'est pas un compte système, mais un compte spécialement dédié à la gestion du courrier.

🔍 Comment vérifier l'utilisateur vmail

Vous pouvez le vérifier en exécutant la commande suivante dans le terminal.

id vmail

Exemple de sortie :

uid=5000(vmail) gid=5000(vmail) groups=5000(vmail)

Ou vous pouvez également rechercher directement dans le fichier /etc/passwd.

grep vmail /etc/passwd

Si l'utilisateur vmail n'existe pas, vous devrez le créer manuellement avec la commande suivante.

sudo groupadd -g 5000 vmail
sudo useradd -u 5000 -g vmail -s /sbin/nologin -d /var/mail vmail

Vous pouvez désormais utiliser l'utilisateur vmail dans la configuration de Dovecot pour stocker des mails !


1️⃣ 10-auth.conf - Configuration de l'authentification des utilisateurs

Ce fichier est un fichier de configuration très important qui détermine la méthode d'authentification des utilisateurs.
Surtout, puisque nous prévoyons de mettre en place un environnement d'utilisateur virtuel, nous allons le configurer en tenant compte de cela.

📌 Points de configuration importants
- Authentification par méthode d'utilisateur virtuel (intégration DB)
- Activation de l'authentification par PLAIN et LOGIN (à utiliser en toute sécurité dans un environnement SSL)
- Authentification via DB et non via un compte système (/etc/passwd)

🔹 Exemple de fichier de configuration (/etc/dovecot/conf.d/10-auth.conf)

disable_plaintext_auth = yes
auth_mechanisms = plain login

!include auth-sql.conf.ext

💡 Explication

  • disable_plaintext_auth = yes → L'authentification en texte clair est autorisée uniquement lorsque SSL est utilisé
  • auth_mechanisms = plain login → Méthodes d'authentification les plus courantes pour IMAP et POP3
  • !include auth-sql.conf.ext → Configurer pour récupérer les informations d'authentification depuis une base de données

Cela signifie que Dovecot n'utilise pas directement les comptes systèmes comme /etc/passwd, mais qu'il est configuré pour s'authentifier via une base de données telle que MySQL.

Nous traiterons en détail le fichier auth-sql.conf.ext dans l'épisode suivant !


2️⃣ 10-mail.conf - Configuration du stockage des mails

C'est le fichier qui détermine où les mails seront effectivement stockés. Il est courant de les stocker au format Maildir en intégrant Postfix.

📌 Points de configuration importants
- Utilisation du format Maildir
- Configuration du chemin de stockage des mails pour les utilisateurs virtuels
- Configuration des autorisations des mails

Exemple de fichier de configuration (/etc/dovecot/conf.d/10-mail.conf)

mail_home = %h
mail_location = maildir:%h/Maildir

namespace inbox {
  inbox = yes
}

mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail

💡 Explication

  • mail_home = %h → Utilisation du répertoire personnel de l'utilisateur virtuel (le chemin sera précisé depuis la DB)
  • mail_location = maildir:%h/Maildir → Stockage des mails au format Maildir
  • mail_uid, mail_gid → Utilisation de l'utilisateur dédié au stockage de mails (vmail)
  • namespace inbox { inbox = yes } → Désignée comme boîte de réception principale

Cela signifie que la gestion des mails des utilisateurs ne se fait pas via un compte système spécifique, mais via un compte séparé vmail.

Pigeon mail carrier on a gear representing mail storage


3️⃣ 10-master.conf - Configuration des processus de service

C'est le fichier qui configure les services fournis par Dovecot (IMAP, POP3, LMTP, etc.).
Nous prévoyons particulièrement d'activer l'utilisation de LMTP (Local Mail Transfer Protocol) en intégrant Postfix, donc cela doit être activé.

📌 Points de configuration importants
- Activation de LMTP (intégration avec Postfix)
- Configuration des sockets d'authentification (activation de Dovecot pour l'authentification de Postfix)

🔹 Exemple de fichier de configuration (/etc/dovecot/conf.d/10-master.conf)

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

  unix_listener auth-userdb {
    mode = 0600
    user = vmail
    group = vmail
  }

  client {
    path = /run/dovecot/auth-client
  }
}

💡 Explication

  • Activation de LMTP (service lmtp)
  • Postfix utilisera le socket dovecot-lmtp pour envoyer des mails à Dovecot
  • Intégration de l'authentification entre Postfix et Dovecot (service auth)
  • Configurer Postfix pour obtenir les informations d'authentification de Dovecot via le socket /var/spool/postfix/private/auth

Cela signifie que Postfix traitera l'authentification des utilisateurs via Dovecot, et la transmission des mails sera également intégrée via LMTP.


4️⃣ 10-ssl.conf - Configuration du chiffrement TLS/SSL

Un serveur de messagerie doit être sécurisé par chiffrement ! Ce fichier renforce la sécurité en configurant SSL/TLS.

📌 Points de configuration importants

  • Activation du chiffrement SSL/TLS
  • Certificat Let’s Encrypt ou certificat auto-signé disponible

📌 ⚠️ Ce document ne couvre pas le processus d'obtention d'un certificat SSL.

Nous supposerons que nous avons déjà obtenu un certificat pour le domaine et que nous pouvons utiliser Let’s Encrypt, des certificats auto-signés ou des certificats commerciaux.

Exemple de fichier de configuration (/etc/dovecot/conf.d/10-ssl.conf)

ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem

💡 Explication

  • ssl = required → SSL requis
  • ssl_cert, ssl_key → Application du chiffrement avec un certificat Let’s Encrypt

Cela signifie qu'aucun client ne peut accéder sans chiffrement et que la sécurité est renforcée via TLS.


🏁 Résumé

Les quatre fichiers de configuration essentiels de Dovecot abordés dans cet article
- 10-auth.conf → Méthode d'authentification des utilisateurs (environnement d'utilisateur virtuel basé sur DB)
- 10-mail.conf → Configuration des chemins et autorisations de stockage des mails (mail_home = %h)
- 10-master.conf → Configuration des services LMTP et d'authentification liés à Postfix
- 10-ssl.conf → Configuration de la sécurité SSL/TLS (procédure d'obtention de Let's Encrypt omise)

Si vous comprenez ces configurations correctement, vous pourrez configurer un environnement pour recevoir/envoyer des mails intégré avec Postfix. Dans l'épisode suivant, nous allons aborder la configuration de la base de données pour l'environnement des utilisateurs virtuels (auth-sql.conf.ext) ! 🚀

Lisez également les articles précédents ou d'autres articles de la série sur la création de serveurs de messagerie ! Consultez les "Publications similaires" en bas ou recherchez "dovecot" et "mail" dans la barre de recherche en haut à droite !