Configurer un serveur mail sur Debian 8

06/02/2016

Cette note décrit les étapes pour configurer un serveur mail sur Debian 8 à l'aide de Dovecot et Postfix.

Prérequis

Ce n'est pas l'objet de cette note et cela semble logique, mais pour rappel : pour sécuriser les communications vers le serveur mail avec TLS il faut une clé et un certificat serveur. Enfin, pour un serveur mail sur internet, un nom de domaine est indispensable.

Dovecot

Installation


# apt install dovecot-imapd

Configuration

/etc/dovecot/conf.d/10-mail.conf

Modifier ce qui suit pour déterminer le répertoire de destination des mails.

Ici les mails seront stockés dans le répertoire .mail du répertoire personnel de l'utilisateur.


mail_location = maildir:~/.mail

/etc/dovecot/conf.d/10-ssl.conf

Modifier ce qui suit pour sécuriser les communications avec le serveur IMAP.


ssl = required
ssl_cert = </etc/ssl/certs/imap.crt
ssl_key = </etc/ssl/private/imap.key
ssl_ca = </etc/ssl/certs/ca.crt

/etc/dovecot/conf.d/10-master.conf

Dans la section service auth décommenter et modifier les lignes suivantes


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

Postfix

Installation


# apt install postfix

Configuration

Configuration pour un serveur mail sur internet.

dpkg

  1. Internet Site
  2. System mail name : example.com

/etc/postfix/main.cf

Ajouter et/ou modifier les lignes suivantes selon les besoins.


delay_warning_time = 4h

# TLS parameters
smtp_use_tls=yes
smtp_tls_loglevel=1
smtpd_tls_cert_file=/etc/ssl/certs/smtp.crt
smtpd_tls_key_file=/etc/ssl/private/smtp.key
smtpd_use_tls=yes
smtpd_tls_loglevel=1
smtpd_tls_auth_only=yes

# Restrictions
smtpd_helo_required = yes
smtpd_helo_restrictions ==
    reject_non_fqdn_helo_hostname
    #reject_unknown_helo_hostname
smtpd_client_restrictions ==
    reject_rbl_client dnsbl.sorbs.net
smtpd_recipient_restrictions ==
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
    reject_unauth_pipelining
    reject_invalid_hostname
    reject_non_fqdn_sender
    reject_unknown_sender_domain
    reject_non_fqdn_recipient
    reject_unknown_recipient_domain
    reject_rbl_client sbl.spamhaus.org
    permit

myhostname = example.com
home_mailbox = .mail/

# SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_authenticated_header = yes

Test

Pour réaliser un petit test de la config du serveur, on peut utiliser les services de MX Toolbox.