Guides/SPF

SPF (Sender Policy Framework) : Le guide complet

Tout comprendre sur l'enregistrement SPF pour protéger votre domaine contre l'usurpation d'email.

Qu'est-ce que le SPF ?

Le SPF (Sender Policy Framework) est un protocole d'authentification email défini dans la RFC 7208. Il permet au propriétaire d'un domaine de spécifier quels serveurs de messagerie sont autorisés à envoyer des emails en son nom.

Concrètement, le SPF fonctionne via un enregistrement DNS de type TXT. Quand un serveur de messagerie reçoit un email prétendant venir de votre domaine, il consulte cet enregistrement pour vérifier si le serveur expéditeur est bien autorisé. Si ce n'est pas le cas, l'email peut être rejeté ou marqué comme suspect.

Sans SPF, n'importe qui peut envoyer un email en se faisant passer pour votre domaine. C'est ce qu'on appelle le spoofing email, une technique massivement utilisée dans les attaques de phishing. Le SPF est donc la première ligne de défense contre ce type d'usurpation.

Le SPF seul ne suffit pas : il doit être combiné avec DKIM (DomainKeys Identified Mail) et DMARC (Domain-based Message Authentication) pour une protection complète de votre domaine.

Comment fonctionne le SPF ?

Le fonctionnement du SPF repose sur une vérification en plusieurs étapes lors de la réception d'un email :

  1. Envoi de l'email — Un serveur de messagerie envoie un email avec votre domaine dans l'adresse de l'expéditeur (le champ MAIL FROM de l'enveloppe SMTP).
  2. Requête DNS — Le serveur récepteur extrait le domaine de l'adresse MAIL FROM et interroge le DNS pour récupérer l'enregistrement SPF (TXT) associé.
  3. Comparaison de l'IP — Le serveur récepteur compare l'adresse IP du serveur expéditeur avec la liste des IP et mécanismes autorisés dans l'enregistrement SPF.
  4. Verdict — Selon le résultat, le serveur récepteur applique une action : accepter (pass), rejeter (fail), marquer comme douteux (softfail) ou considérer comme neutre (neutral).

Un enregistrement SPF typique ressemble à ceci :

v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.0/24 -all

Chaque élément a une signification précise :

  • v=spf1— Indique qu'il s'agit d'un enregistrement SPF version 1 (obligatoire).
  • include:— Autorise les serveurs définis dans le SPF d'un autre domaine (ex: Google, SendGrid).
  • ip4:— Autorise une adresse IPv4 ou un bloc d'adresses spécifique.
  • -all— Rejette tous les serveurs non explicitement autorisés (hard fail).
  • ~all— Marque comme suspect sans rejeter (soft fail) — moins strict.

Comment configurer le SPF étape par étape

Étape 1 : Identifier vos serveurs d'envoi

Listez tous les services qui envoient des emails pour votre domaine. Cela inclut généralement :

  • Votre fournisseur de messagerie (Google Workspace, Microsoft 365, OVH, etc.)
  • Vos outils d'email marketing (Mailchimp, Brevo, SendGrid, etc.)
  • Votre application web si elle envoie des emails transactionnels
  • Tout autre service tiers (CRM, helpdesk, etc.)

Étape 2 : Construire votre enregistrement SPF

Commencez toujours par v=spf1 et terminez par un mécanisme -all ou ~all. Entre les deux, ajoutez vos serveurs autorisés. Exemple pour Google Workspace + Brevo :

v=spf1 include:_spf.google.com include:sendinblue.com -all

Étape 3 : Ajouter l'enregistrement dans votre DNS

Connectez-vous à l'interface de gestion DNS de votre registrar ou hébergeur (OVH, Cloudflare, Gandi, etc.) et créez un enregistrement TXT :

  • Type : TXT
  • Nom / Host : @ (ou laissez vide selon le fournisseur)
  • Valeur : votre enregistrement SPF complet
  • TTL : 3600 (1 heure) ou la valeur par défaut

Étape 4 : Vérifier votre configuration

Après la propagation DNS (quelques minutes à 48 heures), testez votre enregistrement SPF. Vous pouvez utiliser notre outil de vérification gratuit pour valider que tout fonctionne correctement.

Erreurs courantes à éviter

1. Dépasser la limite de 10 lookups DNS

La spécification SPF impose un maximum de 10 résolutions DNS (include, a, mx, redirect). Chaque include peut lui-même contenir d'autres includes. Dépassez cette limite et votre SPF sera automatiquement invalide avec un résultat permerror.

2. Avoir plusieurs enregistrements SPF

Un domaine ne doit avoir qu'un seul enregistrement SPF. Si vous en avez plusieurs, la vérification échouera. Fusionnez tous vos mécanismes dans un seul enregistrement TXT.

3. Utiliser +all au lieu de -all ou ~all

Le mécanisme +all autorisé tous les serveurs à envoyer des emails pour votre domaine, ce qui revient à n'avoir aucune protection. Utilisez toujours -all (hard fail) pour une protection maximale.

4. Oublier un service d'envoi

Si vous oubliez d'inclure un service légitime (par exemple votre outil de newsletter), ses emails seront rejetés ou classés en spam. Faites un inventaire complet avant de configurer votre SPF.

5. Ne pas configurer DKIM et DMARC en complément

Le SPF seul est insuffisant. Sans DKIM et DMARC, un attaquant peut toujours contourner le SPF en utilisant un domaine d'enveloppe différent du domaine visible dans le champ "From".

Questions fréquentes sur le SPF

Le SPF suffit-il à protéger mon domaine contre le spoofing ?

Non. Le SPF vérifie uniquement l'adresse d'enveloppe (MAIL FROM), pas l'adresse affichée au destinataire (le header "From"). Un attaquant peut contourner le SPF en utilisant un domaine d'enveloppe différent. C'est pourquoi vous devez obligatoirement combiner le SPF avec DKIM et DMARC pour une protection complète.

Que se passe-t-il si je dépasse les 10 lookups DNS ?

Si votre enregistrement SPF nécessite plus de 10 résolutions DNS, le résultat sera un permerror (erreur permanente). Les serveurs récepteurs traiteront alors votre SPF comme s'il n'existait pas. Pour rester sous la limite, vous pouvez remplacer certains include par des adresses IP directes ou utiliser un service de "flattening" SPF.

Quelle est la différence entre -all et ~all ?

-all (hard fail) indique que les emails provenant de serveurs non autorisés doivent être rejetés. ~all (soft fail) indique qu'ils doivent être acceptés mais marqués comme suspects. En pratique, avec une politique DMARC correcte, la différence est minime. Néanmoins, -all est recommandé pour une sécurité maximale.

Vérifiez votre domaine gratuitement

Testez votre configuration SPF, DKIM, DMARC et MTA-STS en un clic. Notre outil analyse votre domaine et vous indique exactement ce qu'il faut corriger.

Tester mon domaine

Guides complémentaires