|
|
<!-- title: Installation d'un serveur de courrier -->
|
|
|
<!-- category: Hébergement -->
|
|
|
|
|
|
Je vais détailler l'installation d'un serveur
|
|
|
[Postfix](http://fr.wikipedia.org/wiki/Postfix) /
|
|
|
[Dovecot](http://fr.wikipedia.org/wiki/Dovecot) sous Debian. <!-- more -->Le serveur
|
|
|
[SMTP](http://fr.wikipedia.org/wiki/SMTP) installé par défaut est
|
|
|
[Exim](http://fr.wikipedia.org/wiki/Exim) mais je l'ai remplacé par Postfix que
|
|
|
je connais un peu (rien de personnel contre Exim qui fait sûrement très bien
|
|
|
son travail). Je veux gérer mon courrier depuis Thunderbird et utiliser le
|
|
|
protocole [IMAP](http://fr.wikipedia.org/wiki/IMAP) pour laisser les messages
|
|
|
sur le serveur. D'abord on installe avec apt-get qui s'occupera de la
|
|
|
désinstallation d'Exim.
|
|
|
|
|
|
apt-get install postfix dovecot
|
|
|
|
|
|
Mon gros souci est bien sûr la sécurité : se faire pirater son courrier n'est
|
|
|
pas une pensée agréable mais envisager qu'on utilise son serveur de courrier
|
|
|
pour spammer l'est encore moins. Il faut donc envisager une authentification
|
|
|
SMTP, des mots de passe robustes et un cryptage des données SSL. On peut
|
|
|
générer soi-même son certificat mais on aura des soucis avec les applications
|
|
|
clientes car il ne sera pas authentifiée par une autorité reconnue. La plupart
|
|
|
de ces autorités font payer ce service. Un compromis que j'ai jugé acceptable
|
|
|
consiste à requérir les services de [CAcert](http://www.cacert.org) qui permet
|
|
|
de signer des clefs que vous aurez générées, sous réserve de prouver que
|
|
|
vous êtes détenteur du domaine (rien de méchant il suffit de confirmer un
|
|
|
courrier sur une adresse de ce domaine).
|
|
|
|
|
|
Quand on reçoit le certificat on l'installe sous etc/ssl/certs/dovecot.pem et
|
|
|
on installe la clef privée sous etc/ssl/private/dovecot.pem. Il faut ensuite
|
|
|
adapter la configuration de Dovecot sous /etc/dovecot/dovecot.conf :
|
|
|
|
|
|
ssl_disable = no
|
|
|
ssl_cert_file = /etc/ssl/certs/dovecot.pem
|
|
|
ssl_key_file = /etc/ssl/private/dovecot.pem
|
|
|
disable_plaintext_auth = yes
|
|
|
|
|
|
auth default {
|
|
|
mechanisms = cram-md5
|
|
|
|
|
|
socket listen {
|
|
|
client {
|
|
|
# Assuming the default Postfix $queue_directory setting
|
|
|
path = /var/spool/postfix/private/auth
|
|
|
mode = 0660
|
|
|
# Assuming the default Postfix user and group
|
|
|
user = postfix
|
|
|
group = postfix
|
|
|
}
|
|
|
}
|
|
|
passdb passwd-file {
|
|
|
args = /etc/dovecot/cram-md5.pwd
|
|
|
}
|
|
|
}
|
|
|
|
|
|
L'authentification CRAM-MD5 peut-être préférée à LOGIN, elle permet de
|
|
|
gérer les comptes indépendamment des comptes UNIX. Sa configuration est
|
|
|
détaillée [ici](http://wiki.dovecot.org/HowTo/CRAM-MD5?action=show&redirect
|
|
|
=CRAM-MD5).
|
|
|
|
|
|
Pour Postfix on se simplifie grandement la vie en s'appuyant sur Dovecot pour
|
|
|
l'autentification. Voici les paramètres clés de /etc/postfix/main.cf :
|
|
|
|
|
|
smtpd_tls_cert_file=/etc/sl/certs/dovecot.pem
|
|
|
smtpd_tls_key_file=/etc/ssl/private/dovecot.pem
|
|
|
smtpd_use_tls=yes
|
|
|
myhostname = "le nom DNS de mon serveur"
|
|
|
relayhost = "le serveur SMTP de mon fournisseur"
|
|
|
mynetworks = 192.0.0.0/8, 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
|
|
|
smtpd_sasl_type = dovecot
|
|
|
smtpd_sasl_auth_enable = yes
|
|
|
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
|
|
|
|
|
|
Il ne faut pas oublier de mettre en place les règles NAT pour ouvrir le port 25
|
|
|
et 143 vers l'extérieur et de redémarrer les services :
|
|
|
|
|
|
/etc/init.d/dovecot restart
|
|
|
/etc/init.d/postfix restart
|