« SPF » : différence entre les versions
(Page créée avec « = Installation = {{ Box Console | objet=apt-get install postfix-policyd-spf-python }} = Configuration de Postfix = * '''/etc/postfix/master.conf''' policyd-spf unix -... ») |
|||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Serveur de Messagerie}} | |||
= Installation = | = Installation = | ||
Ligne 10 : | Ligne 12 : | ||
user=nobody argv=/usr/bin/python /usr/bin/policyd-spf /etc/postfix-policyd-spf-python/policyd-spf.conf | user=nobody argv=/usr/bin/python /usr/bin/policyd-spf /etc/postfix-policyd-spf-python/policyd-spf.conf | ||
* '''/etc/postfix/main.cf''' | * On édite le fichier '''/etc/postfix/main.cf''' pour y ajouter la règle '''check_policy_service''' juste après la règle '''reject_unauth_destination''' dans la section '''smtpd_recipient_restrictions'''. | ||
smtpd_recipient_restrictions = | smtpd_recipient_restrictions = | ||
Ligne 17 : | Ligne 19 : | ||
check_policy_service unix:private/policyd-spf | check_policy_service unix:private/policyd-spf | ||
[...] | [...] | ||
* Une fois ces modifications enregistrées, on redémarre '''Postfix''' pour prendre en compte les changements. | |||
{{ Box Console | objet=service postfix restart }} | |||
= Configuration de Policyd-SPF = | = Configuration de Policyd-SPF = | ||
Ligne 29 : | Ligne 35 : | ||
TempError_Defer = False | TempError_Defer = False | ||
skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128 | skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128 | ||
= Vérification = | |||
Pour vérifier le bon fonctionnement du filtrage SPF, je vais envoyer un courriel depuis l'adresse '''nicolas.cachelou@ncad.me''' vers l'adresse '''nicolas@cachelou.fr'''. J'utilise un serveur de courriel non autorisé pour envoyer mon courriel depuis l'adresse '''nicolas.cachelou@ncad.me'''. Dans cette exemple, j'utilise une configuration '''Postfix''' de base sur un serveur dédié. | |||
== État du SPF == | |||
* Nous vérifions le paramétrage du champs '''SPF''' pour le domaine '''ncad.me'''. Ce champ DNS est un champ de type '''TXT''' qui est renseigné à la racine du domaine. | |||
{{Box Console | objet=dig txt ncad.me<br /> | |||
<span style="font-family:sans-serif;color:green">ncad.me. 86400 IN TXT "v=spf1 mx -all"</span> }} | |||
<br /> | |||
{{Box Console | objet=dig mx ncad.me<br /> | |||
ncad.me. 86400 IN MX 5 mx0.geocoucou.eu.<br /> | |||
ncad.me. 86400 IN MX 1 mail.geocoucou.eu. | |||
}} | |||
* Le résultat ci-dessus nous indique que seules les serveurs '''MX''' renseignés pour le domaine '''ncad.me''' sont autorisés à émettre des courriels pour ce domaine. Le serveur dédié utilisé pour envoyer le courriel ne fait pas partie des machines autorisées. | |||
== Réception du courriel == | |||
* Voici les logs relevés sur le serveur de messagerie du domaine '''cachelou.fr''' pour le traitement de ce courriel : | |||
<span style="background-color:darkblue;color:#FFFFFF">1.1</span> Feb 11 22:17:47 alice postfix/smtpd[1449]: connect from gw-67sbg-01.cachelou.net[79.137.82.105] | |||
<span style="background-color:darkblue;color:#FFFFFF">1.2</span> Feb 11 22:17:48 alice policyd-spf[1457]: None; identity=helo; client-ip=79.137.82.105; helo=vps367266.ovh.net; envelope-from=nicolas.cachelou@ncad.me; receiver=nicolas@cachelou.fr | |||
<span style="background-color:darkblue;color:#FFFFFF">1.3</span> Feb 11 22:17:48 alice policyd-spf[1457]: Fail; identity=mailfrom; client-ip=79.137.82.105; helo=vps367266.ovh.net; envelope-from=nicolas.cachelou@ncad.me; receiver=nicolas@cachelou.fr | |||
<span style="background-color:darkred;color:#FFFFFF">2</span> Feb 11 22:17:48 alice postfix/smtpd[1449]: NOQUEUE: reject: RCPT from gw-67sbg-01.cachelou.net[79.137.82.105]: 550 5.7.1 <nicolas@cachelou.fr>: Recipient address rejected: <span style="font-family:sans-serif;color:red">Message rejected due to: SPF fail - not authorized</span>. Please see http://www.openspf.net/Why?s=mfrom;id=nicolas.cachelou@ncad.me;ip=79.137.82.105;r=nicolas@cachelou.fr; from=<nicolas.cachelou@ncad.me> to=<nicolas@cachelou.fr> proto=ESMTP helo=<vps367266.ovh.net> | |||
<span style="background-color:darkorange;color:#FFFFFF">3</span> Feb 11 22:17:48 alice postfix/smtpd[1449]: disconnect from gw-67sbg-01.cachelou.net[79.137.82.105] | |||
Le serveur de courriel du domaine '''cachelou.fr''' vérifie la configuration du domaine '''ncad.me''' aux étapes <span style="background-color:darkblue;color:#FFFFFF">1.2</span> et <span style="background-color:darkblue;color:#FFFFFF">1.3</span>. Une fois la vérification effectuée, le service '''smtpd''' refuse d'acheminer le courriel avec le motif '''SPF fail'''. | |||
[[Category:Serveur de Messagerie]] |
Dernière version du 27 février 2017 à 12:21
.:[ Serveur de Messagerie ]:.
Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav
Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL
Plus de fonctions : Ajouter un Disclaimer | Signature DKIM | Mailman | Maildrop
Clients de messagerie : Configurer Thundirbird | Configurer Roundcube
Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup
Installation
|
|
Configuration de Postfix
- /etc/postfix/master.conf
policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/bin/python /usr/bin/policyd-spf /etc/postfix-policyd-spf-python/policyd-spf.conf
- On édite le fichier /etc/postfix/main.cf pour y ajouter la règle check_policy_service juste après la règle reject_unauth_destination dans la section smtpd_recipient_restrictions.
smtpd_recipient_restrictions = [...] reject_unauth_destination check_policy_service unix:private/policyd-spf [...]
- Une fois ces modifications enregistrées, on redémarre Postfix pour prendre en compte les changements.
|
|
Configuration de Policyd-SPF
- /etc/postfix/policyd-spf.conf
debugLevel = 1 defaultSeedOnly = 1 HELO_reject = SPF_Not_Pass Mail_From_reject = Fail PermError_reject = False TempError_Defer = False skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128
Vérification
Pour vérifier le bon fonctionnement du filtrage SPF, je vais envoyer un courriel depuis l'adresse nicolas.cachelou@ncad.me vers l'adresse nicolas@cachelou.fr. J'utilise un serveur de courriel non autorisé pour envoyer mon courriel depuis l'adresse nicolas.cachelou@ncad.me. Dans cette exemple, j'utilise une configuration Postfix de base sur un serveur dédié.
État du SPF
- Nous vérifions le paramétrage du champs SPF pour le domaine ncad.me. Ce champ DNS est un champ de type TXT qui est renseigné à la racine du domaine.
|
|
|
|
- Le résultat ci-dessus nous indique que seules les serveurs MX renseignés pour le domaine ncad.me sont autorisés à émettre des courriels pour ce domaine. Le serveur dédié utilisé pour envoyer le courriel ne fait pas partie des machines autorisées.
Réception du courriel
- Voici les logs relevés sur le serveur de messagerie du domaine cachelou.fr pour le traitement de ce courriel :
1.1 Feb 11 22:17:47 alice postfix/smtpd[1449]: connect from gw-67sbg-01.cachelou.net[79.137.82.105] 1.2 Feb 11 22:17:48 alice policyd-spf[1457]: None; identity=helo; client-ip=79.137.82.105; helo=vps367266.ovh.net; envelope-from=nicolas.cachelou@ncad.me; receiver=nicolas@cachelou.fr 1.3 Feb 11 22:17:48 alice policyd-spf[1457]: Fail; identity=mailfrom; client-ip=79.137.82.105; helo=vps367266.ovh.net; envelope-from=nicolas.cachelou@ncad.me; receiver=nicolas@cachelou.fr 2 Feb 11 22:17:48 alice postfix/smtpd[1449]: NOQUEUE: reject: RCPT from gw-67sbg-01.cachelou.net[79.137.82.105]: 550 5.7.1 <nicolas@cachelou.fr>: Recipient address rejected: Message rejected due to: SPF fail - not authorized. Please see http://www.openspf.net/Why?s=mfrom;id=nicolas.cachelou@ncad.me;ip=79.137.82.105;r=nicolas@cachelou.fr; from=<nicolas.cachelou@ncad.me> to=<nicolas@cachelou.fr> proto=ESMTP helo=<vps367266.ovh.net> 3 Feb 11 22:17:48 alice postfix/smtpd[1449]: disconnect from gw-67sbg-01.cachelou.net[79.137.82.105]
Le serveur de courriel du domaine cachelou.fr vérifie la configuration du domaine ncad.me aux étapes 1.2 et 1.3. Une fois la vérification effectuée, le service smtpd refuse d'acheminer le courriel avec le motif SPF fail.