Postfix-TLS
Création des certificats
La clé et le certificats seront installés dans /etc/postfix/tls
Commençons par générer notre clé :
Puis le certificat :
openssl req -new -key postfix.key -out postfix.csr openssl x509 -req -days 3650 -in postfix.csr -signkey postfix.key -out postfix.crt openssl rsa -in postfix.key -out postfix.key.unencrypted mv -f postfix.key.unencrypted postfix.key openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Attention, lorsque vous générez les certificat, openssl va vous demander des informations comme votre pays, ville, nom d'organisation... vous pouvez mettre ce que vous voulez (mais c'est mieux d'être honnête et d'indiquer des vraies informations).
Par contre, lorsqu'il vous demande le "common name", il faut absolument renseigner le nom de votre serveur mail (par exemple mail.domaine.com).
C'est grâce à ce nom que le certificat est valide. On le retrouve normalement dans /etc/postfix/main.cf à la ligne "myhostname = diouxx.be"
SMTP
On édite le fichier /etc/postfix/main.cf pour y mettre ceci :
smtpd_use_tls=yes
smtpd_tls_security = may
smtpd_tls_key_file = /etc/postfix/tls/postfix.key
smtpd_tls_cert_file = /etc/postfix/tls/postfix.crt
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtp_tls_security_level = may
smtp_tls_loglevel = 1
Les lignes "log_level" servent surtout à afficher plus d'information sur les communications chiffrées... Donc pas obligatoire. A laisser activé au début pour vérifier que tout marche bien et à commenter ensuite. la ligne "smtpd_tls_received_header = yes" sert à rajouter un header dans le mail afin d'indiquer que la session smtp s'est faite en TLS. donc pas obligatoire non plus.
Enfin on valide en relancant postfix :
IMAP
Afin d’activer le support TLS pour Cyrus-Imap, il suffit d’éditer le fichier /etc/imapd.conf et de décommenter les deux lignes suivantes (le certificat utilisé est le même que pour SMTP).
L’utilisateur cyrus doit appartenir au groupe ssl-cert pour pouvoir lire la clef privée.
On édite le fichier /etc/imapd.conf pour décommenter les lignes :
#tls_cert_file: /etc/ssl/certs/ssl-cert-snakeoil.pem #tls_key_file: /etc/ssl/private/ssl-cert-snakeoil.key
et les modifier pour utiliser le même certificat que pour le smtp :
tls_cert_file: /etc/postfix/tls/postfix.crt tls_key_file: /etc/postfix/tls/postfix.key
