Ah, toi aussi, tu as vu depuis quelques temps apparaitre un petit cadenas rouge dans gmail ? C’est aussi mon cas sur un serveur avec Postfix installé.
et lorsque tu cliques sur la flèche, stupeur :
Ca veut bien dire ce que ça veut, et ce que ça veut dire c’est que c’est pas bien. Tu as compris ? :v
On peut se moquer hun, mais et toi, postfix chiffre bien tes mails ? Me dit pas que tu envois les mots de passe en clair comme ça ? Bref, on oublie ça vite et on se penche sur l’installation d’un certificat sur notre postfix.
Et si comme pour l’installation du HTTPS au premier épisode de ce blog, on utilise letsencrypt pour signer les certificats ?
Sommaire
Création des certificats :
Pour commencer, on va stopper notre serveur web (apache ou nginx) :
sudo service nginx|apache stop
On va télécharger letsencrypt :
cd /opt git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt
Et générer les certificats qui vont bien :
./letsencrypt-auto certonly -d mail.vinvin.dev --rsa-key-size 4096
Dans mon cas, j’ai un sous-domaine « mail » qui est chargé de gérer le serveur mail, à adapter selon votre configuration.
Configuration de Postfix
On part du principe que votre postfix fonctionne déjà mais qu’il ne chiffre pas vos messages.
On va donc ajouter ces quelques directives (smtp et smtpd le demon) au fichier « /etc/postfix/main.cf »
# TLS parameters smtpd_tls_security_level = may smtpd_tls_auth_only = no smtpd_tls_key_file = /etc/letsencrypt/live/mail.vinvin.dev/privkey.pem smtpd_tls_cert_file = /etc/letsencrypt/live/mail.vinvin.dev/fullchain.pem smtpd_tls_CAfile = /etc/letsencrypt/live/mail.vinvin.dev/cert.pem smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # on active TLS pour les connexions sortantes smtp_tls_security_level = may # NB sur un postfix antérieur à 2.3, c'est smtp_use_tls = yes smtp_tls_key_file = /etc/letsencrypt/live/mail.vinvin.dev/privkey.pem smtp_tls_cert_file = /etc/letsencrypt/live/mail.vinvin.dev/fullchain.pem smtp_tls_CAfile = /etc/letsencrypt/live/mail.vinvin.dev/cert.pem smtp_tls_note_starttls_offer = yes smtp_tls_enforce_peername = no
Pense à adapter les différents chemin pour le certificat. On peut remarquer ici que letsencrypt nous génère 3 fichiers : la clé, le certificat et le Certificat Authority (CA) alors que dans le tuto précédent, tu as utilisé que la clé et le certificat.
On redémarre postfix :
sudo service postfix restart
Un petit test :
Voici venu le temps (ahaha tu as cru que c’était la chanson de Casimir), donc le temps de faire un petit test d’envoi :
mail -r contact@vinvin.dev adresseEmail@gmail.com
Success ! Plus de cadenas rouge et à nous le chiffrage TLS standard 😉
Tu peux aussi tester via le site : ssl-tools
Dans un prochain épisode, mise en place du DKIM et SPF pour éviter d’être considéré comme spammeur.
Une réponse sur « Comment chiffrer ses emails avec postfix »
[…] Dans cet article, nous nous appuierons sur exim4 afin d’envoyer des emails. Si cependant vous préférez postfix, je vous invite à lire l’article de Vincent sur Comment chiffrer ses emails avec postfix. […]