You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
blog/posts/2010/2010-08-09-installation-dun...

79 lines
3.4 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<!-- 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