Service de mail - Explications

Comme disponible dans l’espace Service mail, j’ai décidé de mettre en place un hébergement d’adresses mails ouvert aux personnes le demandant.

Quelques explications sur les solutions retenues s’imposent donc.

Logiciels libres

Un point essentiel de ce service est l’utilisation exclusive de logiciels libres, c’est à dire des logiciels dont le code source est accessible, dont le développement est ouvert et qui respecte les quatre libertés. En effet, la protection de vos données est l’aspect central de ce service et par conséquent utiliser du logiciel propriétaire serait un non-sens.

Dovecot et Postfix

La solution que j’ai retenu pour ce service est basée sur Postfix et Dovecot. Ce sont deux logiciels activement maintenus et reconnus pour leur fiabilité pour un serveur mail.

Dovecot est un serveur POP3 et IMAP créé en Juillet 2002 par Timo Sirainien. Il est disponible sous licence MIT et LGPLv2. Il est aujourd’hui toujours activement développé et est reconnu pour sa performance et sa flexibilité.

Postfix est un logiciel créé en 1999 par Wietse Venema, sous licence IBM public license, toujours activement maintenu et présent dans bon nombre de distributions Linux. C’est un MTA (Mail Transfer Agent) très flexible et supportant facilement des extensions.

Ces deux logiciels sont également reconnus pour leur sécurité : il est possible de les configurer finement afin d’obtenir le résultat souhaité. Postfix est configuré pour servir de MTA, et Dovecot de MDA via LMTP.

Connexion

La connexion au serveur s’effectue via TLS exclusivement (SSL volontairement non supporté). Un certificat signé par Gandi.net est utilisé pour authentifier le serveur mail.general-changelog-team.fr.

Il est également possible d’utiliser le STARTTLS pour la connexion IMAP, POP3 et SMTP. Dans ces cas, une fois le chiffrement de la connexion en place, les réglages sont les mêmes que pour du TLS “classique”.

Certains protocoles sont égalements volontairement non supportés : le SSLv1, SSLv2 et SSLv3 ne sont pas supportés. Seules les différentes déclinaisons du TLS sont acceptées.

D’autre part, certains ciphers sont désactivés :

Au sein de dovecot :

ssl_cipher_list = ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:!SSLv2:+HIGH

Et de Postfix :

smtpd_tls_mandatory_exclude_ciphers = aNULL, DES, 3DES, MD5, DES+MD5, RC4

Le serveur supporte le Forward Secrecy.

L’accès au webmail n’est également possible qu’en SSL/TLS. Le serveur web restreint également l’usage des seules déclinaisons TLS et restreint la cipher suite suivante :

ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:+HIGH:+MEDIUM;

Il supporte le forward secrecy et le privélégie tant que le client le supporte.

Stockage des données

Les mots de passe sont stockés chiffrés dans la base de données à l’aide de BCrypt. Ils n’apparaissent à aucun endroit en clair dans la chaîne.

DNS

Parce que le mail sans DNS, ça marche mais ce n’est pas très pratique, le DNS n’est pas à négliger.

J’ai noté trois points importants à ce sujet.

Sender Policy Framework

SPF est un enregistrement DNS TXT qui permet de signaler un domaine comme expéditeur autorisé ou non pour l’envoi de mails. De nombreux fournisseurs de mails se basent en partie sur cette information pour les filtres anti-spams. Le domaine fr33tux.org autorise uniquement le serveur mail.general-changelog-team.fr comme expéditeur :

fr33tux.org.  IN  TXT "v=spf1 a mx a:mail.general-changelog-team.fr -all"

DNSSEC

La zone fr33tux.org est signée, de même que general-changelog-team.fr (hébergeant le webmail et le serveur mail). Ce faisant, toutes les requêtes DNS effectuées concernant ces zones obtiennent une réponse signée.

DKIM

DKIM est une méthode de signature de mail dans le but d’authentifier le domaine de l’expéditeur du mail. Elle permet également d’assurer l’intégrité du mail en utilisant le mécanisme de cryptographie à clé publique.