Pourquoi inspecter un enregistrement SPF publié ?
L'enregistrement SPF (Sender Policy Framework) publié dans votre DNS définit quels serveurs peuvent envoyer des emails pour votre domaine. Mais une fois publié, il peut évoluer sans que vous le sachiez : prestataires qui modifient leurs includes, limites de lookups atteintes, propagation DNS incomplète.
Trois cas d'usage principaux :
- Après publication -> Vérifiez que le DNS retourne bien votre SPF et que les includes se résolvent
- Diagnostic délivrabilité -> Identifiez pourquoi les destinataires voient un SPF fail ou permerror
- Audit périodique -> Détectez les dérives (lookups qui augmentent, includes dépréciés)
Inspecteur SPF vs Validateur de syntaxe
| Critère | Validateur de syntaxe | Inspecteur SPF |
|---|---|---|
| Quand l'utiliser | AVANT publication | APRÈS publication |
| Source des données | Texte collé manuellement | DNS en direct |
| Résolution des includes | Non (syntaxe uniquement) | Oui (récursif complet) |
| Comptage des lookups | Estimé | Réel (avec résolution) |
| Détection erreurs DNS | Non | Oui (NXDOMAIN, timeout, CNAME) |
Workflow recommandé :
- Rédigez votre SPF
- Validez la syntaxe avec le Validateur SPF
- Publiez dans votre DNS
- Inspectez avec cet outil pour confirmer la propagation et le comptage réel
Qu'analyse exactement l'inspecteur ?
Résolution DNS en direct
L'inspecteur interroge le DNS pour récupérer :
- Tous les enregistrements TXT du domaine
- Filtrage des enregistrements commençant par
v=spf1 - Détection des anomalies (plusieurs SPF, CNAME sur le chemin)
Expansion récursive des includes
Pour chaque include: rencontré, l'outil :
- Résout le domaine cible
- Récupère son enregistrement SPF
- Compte le lookup dans le budget de 10
- Répète récursivement jusqu'aux mécanismes finaux
Exemple d'arbre de résolution :
captaindns.com
├── include:_spf.google.com (1 lookup)
│ ├── include:_netblocks.google.com (2 lookups)
│ ├── include:_netblocks2.google.com (3 lookups)
│ └── include:_netblocks3.google.com (4 lookups)
└── include:servers.mcsv.net (5 lookups)
└── ip4:205.201.128.0/20 (pas de lookup)
Diagnostics retournés
| Code | Description | Sévérité |
|---|---|---|
lookup_no_spf | Aucun enregistrement SPF trouvé | Erreur |
lookup_bad_rcode | Erreur DNS (NXDOMAIN, SERVFAIL) | Erreur |
lookup_multiple_spf | Plusieurs enregistrements SPF | Erreur |
lookup_limit_exceeded | Plus de 10 lookups DNS | Erreur |
lookup_cycle | Boucle de référence détectée | Erreur |
void_lookup_limit_exceeded | Plus de 2 réponses vides | Erreur |
permissive_all | Politique +all (tout autorisé) | Avertissement |
softfail_all | Politique ~all sans durcissement | Avertissement |
Cas d'usage concrets
Cas 1 : Vérification post-publication
Situation : Vous venez de publier un nouveau SPF pour captaindns.com.
Action : Lancez l'inspection pour vérifier :
- ✅ L'enregistrement est bien visible dans le DNS
- ✅ Tous les includes se résolvent correctement
- ✅ Le total de lookups reste sous 10
Cas 2 : Diagnostic d'échec SPF
Symptôme : Les destinataires voient SPF fail sur vos emails.
Diagnostic : L'inspecteur révèle :
- Le serveur d'envoi (IP 203.0.113.50) n'est pas dans le SPF
- L'include du prestataire a changé sans notification
Action : Ajouter l'IP ou mettre à jour l'include.
Cas 3 : Permerror mystérieux
Symptôme : SPF permerror intermittent sur certains destinataires.
Diagnostic : L'inspecteur compte 11 lookups :
captaindns.com: 11 lookups (limite: 10)
├── include:_spf.google.com (4 lookups)
├── include:spf.protection.outlook.com (3 lookups)
├── include:amazonses.com (2 lookups)
└── include:sendgrid.net (2 lookups)
Action : Remplacer certains includes par des ip4/ip6 directs, utiliser un sous-domaine dédié ou aplatir votre SPF avec le SPF Flattener.
Cas 4 : Audit de sécurité périodique
Situation : Audit trimestriel de la configuration email.
Vérification :
- Le SPF utilise
-all(hard fail) et non~all(soft fail) - Aucun include vers des domaines abandonnés
- Les plages IP correspondent aux serveurs actifs
- Le compteur de lookups a une marge de sécurité (≤8 recommandé)
FAQ - Questions fréquentes
Q : Quelle est la différence entre l'inspecteur SPF et le validateur de syntaxe ?
R : Le validateur de syntaxe vérifie un enregistrement SPF AVANT publication (hors-ligne, texte collé). L'inspecteur analyse un SPF DÉJÀ PUBLIÉ en interrogeant le DNS en direct et en résolvant récursivement tous les includes.
Q : Combien de lookups DNS sont autorisés pour SPF ?
R : La RFC 7208 limite à 10 lookups DNS par évaluation. Chaque include, a, mx, ptr et exists compte. L'inspecteur affiche le total réel après résolution récursive.
Q : Pourquoi mon SPF affiche "permerror" ?
R : Un permerror survient quand :
- Plus de 10 lookups DNS
- Boucle de référence (A include B qui include A)
- Syntaxe invalide
- Plus de 2 réponses DNS vides
L'inspecteur identifie la cause exacte.
Q : Comment l'outil résout-il les includes ?
R : L'inspecteur suit chaque include: récursivement : il récupère le SPF du domaine cible, compte le lookup, et répète jusqu'aux mécanismes finaux (ip4, ip6) ou jusqu'à atteindre la limite.
Q : Puis-je tester avec différents résolveurs DNS ?
R : Oui. Choisissez Google (8.8.8.8), Cloudflare (1.1.1.1) ou un résolveur personnalisé pour vérifier la propagation et confirmer que tous les serveurs voient la même politique.
Q : Que faire si l'inspecteur ne trouve pas de SPF ?
R : Vérifiez dans votre interface DNS que :
- Un enregistrement TXT existe
- Il commence par
v=spf1 - Il n'y a qu'un seul SPF (plusieurs = permerror)
- La propagation DNS est complète (peut prendre jusqu'à 48h)
Q : L'inspecteur valide-t-il aussi la syntaxe ?
R : Oui, l'inspecteur valide la syntaxe de chaque SPF rencontré. Mais pour tester un brouillon AVANT publication, utilisez le Validateur de syntaxe SPF.
Outils complémentaires
| Outil | Utilité |
|---|---|
| Générateur SPF | Créer un enregistrement SPF avec providers préconfigurés |
| SPF Flattener | Aplatir votre SPF pour passer sous les 10 DNS lookups |
| Validateur syntaxe SPF | Tester la syntaxe AVANT publication |
| Inspecteur DKIM | Valider votre signature DKIM |
| Inspecteur DMARC | Configurer et tester votre politique DMARC |
| Analyseur d'en-têtes email | Diagnostiquer SPF/DKIM/DMARC sur un email reçu |
Ressources utiles
- RFC 7208 - Sender Policy Framework (spécification officielle SPF)
- Google - Configurer SPF (guide Google Workspace)
- Microsoft - SPF pour Microsoft 365 (guide Outlook/M365)