Télécharger - Site personnel de Serge Moutou
Télécharger - Site personnel de Serge Moutou
Télécharger - Site personnel de Serge Moutou
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
tiers à relayer son courrier sur la base du certificat présenté (la granularité étant cependant beaucoup moins fine que<br />
pour le serveur Apache : c'est le certificat complet qui est pris en compte, suivant son empreinte, aucune distinction sur<br />
le CN n'est possible par exemple)<br />
Extrait du fichier /etc/postfix/main.cf :<br />
smtpd_tls_cert_file = /etc/postfix/cert.pem<br />
smtpd_tls_key_file = /etc/postfix/key.pem<br />
smtpd_tls_CAfile = /etc/postfix/trustees.pem<br />
Cette configuration sert à l'authentification.<br />
Concernant l'autorisation <strong>de</strong> relayer du courrier, via la directive smtpd_recipient_restrictions :<br />
smtpd_recipient_restrictions = permit_mynetworks,<br />
check_recipient_access hash:/etc/postfix/recpt,<br />
check_relay_domains<br />
Deux possibilités alors :<br />
- (a) Ajouter la ligne "permit_tls_clientcerts"<br />
Dans ce cas, le client a présenté un certificat vali<strong>de</strong>, *et* ce certificat est référencé dans la liste <strong>de</strong>s certificats clients<br />
autorisés (via la directive relay_clientcerts, référençant les empreintes md5 <strong>de</strong> ces certificats).<br />
- (b) Ajouter la ligne "permit_tls_all_clientcerts"<br />
Dans ce cas, tout certificat vali<strong>de</strong> (autrement dit, signé par une autorité <strong>de</strong> confiance référencée dand<br />
smtpd_tls_CAfile) est accepté : ainsi, le relayage <strong>de</strong> toute personne authentifiée est autorisé, même si elle n'est pas<br />
connue (typiquement, cela signifierait que le serveur <strong>de</strong> mail accepterait <strong>de</strong> relayer <strong>de</strong>s courriers provenant d'un<br />
utilisateur certifié par Certplus, Certiposte etc.)<br />
Dans le cas (a), il faut donc explicitement référencer les certificats <strong>de</strong>s utilisateurs autorisés à relayer. Ceci est réalisé<br />
<strong>de</strong> la façon suivante : relay_clientcerts = hash:/etc/postfix/relay_clientcerts<br />
où relay_clientcerts contient une suite d'entrées <strong>de</strong> la forme :<br />
5D:51:13:BB:D1:93:D9:7A:B3:00:B7:BC:80:B7:BA:CD www.webserver.com<br />
Seul le premier champ (fingerprint) importe.<br />
Il est calculé avec openssl <strong>de</strong> la façon suivante (MD5 du certificat en DER) :<br />
$ openssl x509 -fingerprint -noout -in cassl/serverssl.pem<br />
MD5 Fingerprint=5D:51:13:BB:D1:93:D9:7A:B3:00:B7:BC:80:B7:BA:CD<br />
Ces certificats <strong>de</strong> MTA autorisés à relayer ne sont naturellement pas présents sur le serveur : le fingerprint est<br />
simplement recalculé et vérifié lorsque le certificat est présenté.<br />
Ainsi, le processus <strong>de</strong> relayage sur la base <strong>de</strong> certificat est réalisé en 2 étapes :<br />
- Validation du certificat présenté, sur la base <strong>de</strong>s autorités <strong>de</strong> confiance pointées par smtpd_tls_CAfile<br />
- Consultation du fichier référencé par l'option relay_clientcerts, afin <strong>de</strong> vérifier que le fingerprint est correctement<br />
renseigné afin d'accor<strong>de</strong>r l'autorisation (quelque soit l'adresse IP).<br />
Dans tous les autres cas, il faut être dans un réseau référencé par "permit_mynetworks" (directement, ou via ppp).<br />
--[ ANNEXES ]--<br />
ANNEXE 1 : Fichier openssl.cnf<br />
151 /163