20.05.2015 Views

Télécharger - Site personnel de Serge Moutou

Télécharger - Site personnel de Serge Moutou

Télécharger - Site personnel de Serge Moutou

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!