[[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~~