78 lines
3.4 KiB
Markdown
Executable file
78 lines
3.4 KiB
Markdown
Executable file
<!-- 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
|