Serveur de messagerie · 3 min read · Oct 05, 2025
Solution complète de serveur de messagerie avec domaines et utilisateurs virtuels (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Page 12
C. Dovecot sécurisé
Le serveur Dovecot peut faire de l’IMAPS presque dès la sortie de la boîte… alors installons-le sur secure-mail. Comme d’habitude, Debian prend la majorité du travail à notre place :
# apt-get install dovecot-imapdPour nos besoins, nous n’avions pas besoin de POP3 (et vraiment, vous ne devriez pas non plus), mais si vous le souhaitez, il suffit d’ajouter dovecot-pop3d à la fin de cette commande.
Ouvrez le fichier de configuration de Dovecot situé dans /etc/dovecot/dovecot.conf et faites-le ressembler à ce qui suit. Il y a probablement déjà beaucoup de configurations par défaut effectuées, donc vous n’aurez probablement qu’à décommenter certaines sections et à changer des choses mineures. Faites attention aux sections ssl_ du fichier, car elles sont différentes sur ce serveur.
## Fichier de configuration de Dovecot
#
base_dir = /var/run/dovecot/
#
# imap imaps pop3 pop3s (utilisez imaps et pop3s si configuré pour SSL)
protocols = imaps
#
# Décommentez les déclarations ssl_listen et commentez listen si vous utilisez SSL
protocol imap {
# listen = *:143
ssl_listen = *:993
}
#protocol pop3 {
#listen = *:110
# ssl_listen = *:995
#}
#
log_timestamp = "%Y-%m-%d %H:%M:%S "
syslog_facility = mail
#
# Décommentez ceci si vous utilisez SSL
ssl_cert_file = /etc/ssl/example.com/mailserver/mail-cert.pem
ssl_key_file = /etc/ssl/example.com/mailserver/mail-key.pem
#ssl_ca_file = /etc/ssl/mycompany/ca/mycompany.pem
#ssl_verify_client_cert = yes
ssl_parameters_regenerate = 168
verbose_ssl = no
#
# Où se trouvent les boîtes aux lettres
mail_location = maildir:/vmail/%d/%u
#
mail_extra_groups = mail
mail_debug = no
first_valid_uid = 150
last_valid_uid = 150
maildir_copy_with_hardlinks = yes
#
protocol imap {
login_executable = /usr/lib/dovecot/imap-login
mail_executable = /usr/lib/dovecot/imap
imap_max_line_length = 65536
}
#protocol pop3 {
#login_executable = /usr/lib/dovecot/pop3-login
#mail_executable = /usr/lib/dovecot/pop3
#pop3_uidl_format = %08Xu%08Xv
#}
protocol lda {
postmaster_address = [email protected]
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
}
#
auth_verbose = no
auth_debug = no
auth_debug_passwords = no
#
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = vmail
group = mail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
#
# Si vous voulez des certificats clients, utilisez ces lignes
# ssl_require_client_cert = yes
# ssl_username_from_cert = yes
}REMARQUE : Vous ne pouvez pas simplement copier la configuration ci-dessus et vous attendre à ce qu’elle fonctionne ! Vous devrez incorporer les modifications ci-dessus dans votre propre configuration.
La configuration de Dovecot est presque complète, mais tout comme avec la configuration précédente, les paramètres MySQL doivent être incorporés.
Ouvrez le fichier /etc/dovecot/dovecot-sql.conf et assurez-vous que ce qui suit est présent.
driver = mysql
connect = host=sql-1.internal.example.com dbname=virtual_mail user=vmail_user password=vmail_user_password
# Le nouveau nom pour MD5 est MD5-CRYPT donc vous devrez peut-être changer cela selon la version
default_pass_scheme = MD5
# Obtenir la boîte aux lettres
user_query = SELECT '/vmail/%d/%n' AS home, 'maildir:/vmail/%d/%n' AS mail, 150 AS uid, 8 AS gid, CONCAT('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Obtenir le mot de passe
password_query = SELECT username AS user, password, '/vmail/%d/%n' AS userdb_home, 'maildir:/vmail/%d/%n' AS userdb_mail, 150 AS userdb_uid, 8 AS userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
# Si vous utilisez des certificats clients pour l'authentification, commentez ce qui précède et décommentez ce qui suit
#password_query = SELECT null AS password, '%u' AS userPuisque nous avons stocké notre mot de passe MySQL en texte clair dans ce document, nous voulons nous assurer que nous sommes les seuls à pouvoir le lire !
# chmod 600 /etc/dovecot/*.conf
# chown vmail /etc/dovecot/*.confLa configuration Dovecot externe/sécurisée est maintenant terminée ! Allez-y et redémarrez le service dovecot :
# invoke-rc.d dovecot restart… et vos utilisateurs externes/insecure peuvent maintenant vérifier leurs e-mails sur secure-mail.example.com !
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.