« SPF » : différence entre les versions
Aucun résumé des modifications |
|||
| (6 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 2 : | Ligne 2 : | ||
= Installation = | = Installation = | ||
* Installation du paquet '''postfix-policyd-spf-python''' : | |||
{{ Box Console | objet=apt-get install postfix-policyd-spf-python }} | {{ Box Console | objet=apt-get install postfix-policyd-spf-python }} | ||
| Ligne 7 : | Ligne 9 : | ||
= Configuration de Postfix = | = Configuration de Postfix = | ||
* '''/etc/postfix/master.conf''' | * Editer le fichier de configuration '''/etc/postfix/master.conf''', puis y ajouter les lignes suivantes : | ||
policyd-spf unix - n n - 0 spawn | 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 | user=nobody argv=/usr/bin/python /usr/bin/policyd-spf /etc/postfix-policyd-spf-python/policyd-spf.conf | ||
* '''/etc/postfix/main.cf''' | * Editer le fichier de configuration '''/etc/postfix/main.cf''', puis 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 19 : | Ligne 21 : | ||
check_policy_service unix:private/policyd-spf | check_policy_service unix:private/policyd-spf | ||
[...] | [...] | ||
* Une fois ces modifications enregistrées, redémarrer le service '''Postfix''' pour prendre en compte les changements. | |||
{{ Box Console | objet=service postfix restart }} | |||
= Configuration de Policyd-SPF = | = Configuration de Policyd-SPF = | ||
* '''/etc/postfix/policyd-spf.conf''' | * Editer le fichier de configuration '''/etc/postfix/policyd-spf.conf''' puis y ajouter les lignes suivantes : | ||
debugLevel = 1 | debugLevel = 1 | ||
| Ligne 31 : | Ligne 37 : | ||
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 | ||
* Redémarrer le service '''Postfix''' pour appliquer la configuration :<br />{{Commande|service postfix restart}} | |||
= Vérification = | = Vérification = | ||
| Ligne 38 : | Ligne 46 : | ||
== État du SPF == | == État du SPF == | ||
* | * Vérification des enregistrements '''SPF''' pour le domaine '''geocoucou.eu''' : | ||
{{Box Console | objet=dig txt | {{Box Console | objet=dig txt geocoucou.eu<br /> | ||
<span style="font-family:sans-serif;color:green"> | <span style="font-family:sans-serif;color:green">geocoucou.eu. 600 IN TXT "v=spf1 mx -all"</span> }} | ||
{{Box Console | objet=dig mx | * Vérification des enregistrements '''MX''' pour le domaine '''geocoucou.eu''' : | ||
{{Box Console | objet=dig mx geocoucou.eu<br/> | |||
geocoucou.eu. 86400 IN MX 1 mail.geocoucou.eu. | |||
}} | }} | ||
{{ Box Information | objet=Le résultat ci-dessus indique que seules les serveurs '''MX''' du domaine '''geocoucou.me''' sont autorisés à émettre des courriels. }} | |||
== Validation == | |||
== | * Pour valider le paramétrage, nous allons simuler l''''envoi d'un mail''' depuis un serveur de messagerie '''<span style="color:red">non autorisé</span>''' avec l'adresse de messagerie '''<span style="color:purple">nicolas.cachelou@geocoucou.eu</span>''' : | ||
<span style="background-color:darkblue;color:#FFFFFF">1.1</span> Feb 11 22:17:47 alice postfix/smtpd[1449]: connect from <span style="color:red">105.ip-79-137-82.eu[79.137.82.105]</span> | |||
<span style="background-color:darkblue;color:#FFFFFF">1.2</span> Feb 11 22:17:48 alice policyd-spf[1457]: None; identity=helo; client-ip=<span style="color:red">79.137.82.105</span>; helo=vps367266.ovh.net; envelope-from=<span style="color:purple">nicolas.cachelou@geocoucou.eu</span>; 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=<span style="color:purple">nicolas.cachelou@geocoucou.eu</span>; 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 <span style="color:red">105.ip-79-137-82.eu[79.137.82.105]</span>: 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=<span style="color:purple">nicolas.cachelou@geocoucou.eu</span> 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 <span style="color:red">105.ip-79-137-82.eu[79.137.82.105]</span> | |||
Le serveur de courriel du domaine '''cachelou.fr''' vérifie la configuration du domaine '''geocoucou.eu''' 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 20 juin 2025 à 06: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 | DKIM Proxy | OpenDKIM | Mailman | Maildrop | DANE | SPF
Clients de messagerie : Configurer Thundirbird | Configurer Roundcube
Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup
Installation
- Installation du paquet postfix-policyd-spf-python :
|
|
|
Configuration de Postfix
- Editer le fichier de configuration /etc/postfix/master.conf, puis y ajouter les lignes suivantes :
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
- Editer le fichier de configuration /etc/postfix/main.cf, puis 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, redémarrer le service Postfix pour prendre en compte les changements.
|
|
|
Configuration de Policyd-SPF
- Editer le fichier de configuration /etc/postfix/policyd-spf.conf puis y ajouter les lignes suivantes :
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
- Redémarrer le service Postfix pour appliquer la configuration :
service postfix restart
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
- Vérification des enregistrements SPF pour le domaine geocoucou.eu :
|
|
|
- Vérification des enregistrements MX pour le domaine geocoucou.eu :
|
|
|
|
|
Le résultat ci-dessus indique que seules les serveurs MX du domaine geocoucou.me sont autorisés à émettre des courriels. |
Validation
- Pour valider le paramétrage, nous allons simuler l'envoi d'un mail depuis un serveur de messagerie non autorisé avec l'adresse de messagerie nicolas.cachelou@geocoucou.eu :
1.1 Feb 11 22:17:47 alice postfix/smtpd[1449]: connect from 105.ip-79-137-82.eu[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@geocoucou.eu; 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@geocoucou.eu; receiver=nicolas@cachelou.fr 2 Feb 11 22:17:48 alice postfix/smtpd[1449]: NOQUEUE: reject: RCPT from 105.ip-79-137-82.eu[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@geocoucou.eu to=<nicolas@cachelou.fr> proto=ESMTP helo=<vps367266.ovh.net> 3 Feb 11 22:17:48 alice postfix/smtpd[1449]: disconnect from 105.ip-79-137-82.eu[79.137.82.105]
Le serveur de courriel du domaine cachelou.fr vérifie la configuration du domaine geocoucou.eu 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.