| Prochaine révision | Révision précédente |
| spf [2025/08/24 21:08] – créée seb | spf [2025/08/31 10:07] (Version actuelle) – [Variables] seb |
|---|
| ===== Préambule ===== | ===== Préambule ===== |
| |
| **SPF** (<cite>Sender Policy Framework</cite>) est une norme de vérification du nom de domaine de l'expéditeur d'email. | **SPF** (Sender Policy Framework) est une norme de vérification du nom de domaine de l'expéditeur d'email. |
| Il s'agit d'un enregistrement DNS de type TXT sans préfixe (à confirmer selon l'hébergeur), chaque valeur étant séparée par un espace. | Il s'agit d'un enregistrement DNS de type TXT sans préfixe (à confirmer selon l'hébergeur), chaque valeur (en majuscules ou en minuscules, peu importe) est séparée par un espace. |
| |
| Exemple : | Le principe en exemple : |
| |
| v=spf1 mx a ∼all | * On envoie un email de **//expe@mondomaine.com//** à **//dest@hotmail.com//**, il y a toujours l'IP du serveur de mails dans les en-têtes |
| | * Le MTA Hotmail cherche un DNS SPF attribué à **//mondomaine.com//** |
| | * Si l'IP n'est pas listé dans le DNS, l'authenticité n'est pas prouvée (voir les qualifieurs pour la directive donnée en cas d'échec) |
| | |
| | Réaliser un enregistrement DNS SPF est donc très important pour la réputation d'un domaine. |
| | |
| | ===== Variables ===== |
| | |
| | ^Variable ^Instructions ^Exemples| |
| | |''v=spf1''|Version du SPF (obligatoire)| | |
| | |''MX''|Le domaine du DNS MX courant est utilisé| | |
| | |''A''|Le domaine du DNS A ou AAAA courant est utilisé| |
| | |''IP4''|Correspond à l'IP (ou à la plage d'IPs)|• ''ip4:12.22.58.0/14'' plage d'adresses IPs| |
| | |:::|:::|• ''ip4:64.170.98.2/24 ip4:72.156.123.0'' plages d'IPS + une autre IP| |
| | |''IP6''|Correspond à l'IP (ou à la plage d'IPs) en v6| | |
| | |''EXISTS''|Si le domaine existe, c'est à dire résolu d'une quelconque manière ; rarement utilisé| |
| | |''INCLUDE''|Si la règle incluse passe le test ; typiquement utilisé pour gérer les règles avec plusieurs FAI| |
| | |''PTR''|Obsolète. Correspond si "forward-confirmed reverse DNS"| |
| | |''all''|Correspond toujours, quelque soit l'IP, toujours placé en dernier|(voir les mécanismes qualifieurs, ex: ''∼all'' = toutes les IPs qui ne correspondent pas)| |
| | |
| | ===== Mécanismes qualifieurs ===== |
| | |
| | |''+''|Pour résultat favorable. Peut être omis, ''+mx'' est équivalent ''mx''| |
| | |''?''|Pour résultat neutre| |
| | |''∼''|Léger échec (//softfail//). Intermédiaire entre neutre et échec ; pour déboggage| |
| | |''-''|Échec réel, le mail doit être rejeté| |
| | |
| | ===== Exemples ===== |
| | |
| | ''v=spf1 mx a ∼all'' |
| | |
| | Accepter les emails dont l'IP correspond à l'enregistrement DNS MX ou A, marquer les autres en erreur légère. C'est la valeur de base pour mettre place et tester le SPF. |
| | |
| | ''v=spf1 A MX ip4:64.170.98.2 -all'' |
| | |
| | Accepter les emails venant de cette IP, de l'IP dont l'enregistrement DNS A ou MX, mais rejeter les autres (meilleure sécurité). |
| | |
| | Donc si quelqu'un envoie un email en se faisant passer pour **mondomaine.com**, l'IP dans l'email ne correspondra pas et le MTA du destinataire n'acceptera pas l'email. |
| | |
| | ===== Ressources ===== |
| | |
| | Pour aller plus loin : |
| | |
| | http://www.open-spf.org/SPF_Record_Syntax/ |