Postfix-TLS : Différence entre versions

De DiouxX's Wiki
Aller à : navigation, rechercher
(Page créée avec « {{ Introduction | Cette article permet de configurer postfix pour qu'il utilise TLS }} == Création des certificats == La clé et le certificats seront installés dans {{... »)
 
m (Création des certificats)
 
Ligne 19 : Ligne 19 :
 
</pre>
 
</pre>
 
<br>
 
<br>
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).
+
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).
 
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 = pass.be"
+
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 ==
 
== SMTP ==

Version actuelle datée du 6 octobre 2014 à 14:21

Cette article permet de configurer postfix pour qu'il utilise TLS

Création des certificats

La clé et le certificats seront installés dans /etc/postfix/tls

Konsole.png
[root@ordi ~]# mkdir /etc/postfix/tls && cd /etc/postfix/tls


Commençons par générer notre clé :

Konsole.png
[root@ordi ~]# openssl genrsa -rand /etc/hosts -out postfix.key 2048


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 :

Konsole.png
[root@ordi ~]# /etc/init.d/postfix restart


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.

Konsole.png
[user@ordi ~]$ adduser cyrus ssl-cert


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