[[http://www.designcontest.com/show/postfix-be|Bohdan Zograf's bielorussian translation]]
====== Postfix, authentification par certificats ======
L'utilisation croissante des ordinateurs portables pose le problème suivant : comment
être en mesure d'envoyer un mail depuis n'importe quel réseau (comprendre fournisseur d'accès)
sans avoir à modifier la configuration de son MTA (mail transport agent, postfix) ou MUA (Mail user agent, mutt, thunderbird ou kmail) et ce, de façon sécurisée ?
Le moyen le plus généralement employé est l'utilisation d'une authentification par couple login / mot de passe (SASL). Pour protéger le mot de passe qui circule en clair, on utilise du TLS (chiffrement du flux). C'est une solution efficace, mais la configuration de SASL peut être parfois difficile.
La configuration de TLS impliquant de toute façon la création, la diffusion et l'utilisation de certificats, on peut utiliser avantageusement la fonctionnalité d'authentification de ceux-ci pour remplacer le couple login / mot de passe.
Note: Cet article ne couvre pas la création des certificats.
===== Configuration serveur =====
====main.cf====
smtpd_recipient_restrictions =
[..]
permit_tls_clientcerts,
[..]
relay_clientcerts = hash:/etc/postfix/relay_clientcerts
smtpd_tls_CAfile = /etc/ssl/local/asyd-dot-net-ca.pem
smtpd_tls_cert_file = /etc/ssl/local/kaoru.asyd.net.pem
smtpd_tls_key_file = /etc/ssl/local/kaoru.asyd.net.pem
smtpd_use_tls = yes
smtpd_tls_ask_ccert = yes
smtpd_tls_req_ccert = yes
smtpd_tls_ccert_verifydepth = 5
smtpd_tls_loglevel = 1
====relay_clientcerts====
Ce fichier est composé de deux champs séparés par un caractère blanc (espace ou tabulation) :
* le **fingerprint** du certificat, et
* le **dns**, l'utilisation d'un wildcard (*) pour ce champ étant autorisée.
5B:57:FE:31:CA:69:3D:FB:9E:99:22:9D:2B:8B:89:73 *.montravail.com
42:4A:62:71:DF:FC:3D:47:FA:27:77:D0:BB:46:8B:05 *
Le fingerprint du certificat peut être obtenu avec la commande suivante :
# openssl x509 -fingerprint -noout -md5 -in fichier
MD5 Fingerprint=5B:57:FE:31:CA:69:3D:FB:9E:99:22:9D:2B:8B:89:73
====master.cf====
Vérifiez la présence d'une entrée pour le service tlsmgr.
===== Configuration client =====
====main.cf====
relayhost = kaoru.asyd.net
smtp_tls_cert_file = /etc/ssl/local/laptop.pem
smtp_tls_key_file = $smtp_tls_cert_file
smtp_tls_CAfile = /etc/ssl/local/asyd-dot-net-ca.pem
smtp_tls_loglevel = 1
smtp_use_tls = yes
smtp_tls_per_site = hash:/etc/postfix/tls_per_site
smtp_enforce_tls = yes
====tls_per_site====
Avec les policy suivantes : NONE, MAY, MUST, MUST_NOPEERMATCH
====master.cf====
Vérifiez la présence d'une entrée pour le service tlsmgr.
======Références======
* [[http://www.aet.tu-cottbus.de/personen/jaenicke/pfixtls/doc/index.html|Postfix/TLS]]
~~DISCUSSION~~