Silently

SPF — à quoi ça sert, et pourquoi ça casse sans prévenir

SPF déclare quels serveurs ont le droit d’envoyer des e-mails pour votre domaine. Sa panne la plus fréquente est invisible : le dépassement de la limite de dix résolutions DNS.

Ce que SPF fait réellement

SPF (Sender Policy Framework) est un enregistrement TXT publié à la racine de votre domaine. Il liste les serveurs autorisés à envoyer des messages en votre nom. Quand un serveur destinataire reçoit un message qui prétend venir de contact@exemple.fr, il lit cet enregistrement et compare l’adresse IP de l’expéditeur à la liste.

v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all

Trois choses à retenir : SPF ne vérifie que l’enveloppe technique du message, pas l’adresse affichée dans le logiciel de messagerie ; il ne fait rien tout seul sans DMARC ; et il tombe en panne silencieusement.

La panne n°1 : plus de dix résolutions DNS

C’est de loin l’erreur la plus coûteuse, et la moins visible.

La norme impose une limite dure : évaluer un enregistrement SPF ne doit pas demander plus de dix résolutions DNS. Chaque include, a, mx, ptr, exists et redirect en consomme une — et les include comptent en cascade : si vous incluez _spf.google.com, les include contenus dans cet enregistrement comptent aussi.

Au-delà de dix, le serveur destinataire ne se contente pas d’ignorer le dépassement : il répond PERMERROR, et le résultat est le même que si vous n’aviez aucun SPF.

Le scénario typique : un domaine fonctionne pendant deux ans avec cinq prestataires d’envoi. Le service marketing ajoute un sixième outil, ajoute un include, et le compteur passe de 9 à 11. Rien ne change côté visible. Les messages continuent de partir. Mais une partie d’entre eux commence à arriver en indésirable, chez certains destinataires seulement, sans qu’aucune alerte ne se déclenche.

Comment réduire le compteur

Le deuxième piège : deux enregistrements SPF

Publier deux enregistrements TXT commençant par v=spf1 est une erreur de configuration fréquente, généralement le résultat de deux personnes qui ajoutent chacune « leur » SPF. La norme est sans appel : en présence de plusieurs enregistrements, le résultat est PERMERROR et SPF est entièrement ignoré.

La correction consiste à fusionner les deux en un seul enregistrement, en veillant à ne pas dépasser la limite de dix résolutions au passage.

Que mettre à la fin : -all, ~all ou ?all

Le dernier mécanisme dit quoi faire des serveurs qui ne sont pas dans la liste.

PolitiqueSensRecommandation
-allRejet strict : tout serveur non listé est refusé.La cible à atteindre.
~allÉchec souple : accepté, mais marqué comme suspect.Étape intermédiaire acceptable.
?allNeutre : aucune conséquence.SPF ne sert alors à rien.
+allTout le monde est autorisé.À supprimer immédiatement.

Passer de ~all à -all demande d’avoir recensé tous vos expéditeurs légitimes — y compris le logiciel de facturation, le formulaire de contact du site et l’imprimante qui envoie les scans par e-mail. Les rapports agrégés DMARC sont faits pour ça.

Ce que SPF ne protège pas

SPF valide l’adresse d’enveloppe (MAIL FROM), pas celle que voit le destinataire dans son logiciel (From:). Un attaquant peut parfaitement faire passer un message SPF avec son propre domaine tout en affichant le vôtre dans le champ visible. C’est exactement le trou que DMARC vient combler, en exigeant que les deux soient alignés.

Autrement dit : SPF sans DMARC ne vous protège pas contre l’usurpation de votre marque.