Comprendre la syntaxe d’enregistrement DMARC est fondamental pour mettre en œuvre une authentification email efficace. Un enregistrement DMARC (Domain-based Message Authentication, Reporting and Conformance) se compose de balises et de valeurs spécifiques qui indiquent aux serveurs de messagerie récepteurs comment gérer les emails qui échouent l’authentification SPF ou DKIM. Ce guide complet détaille chaque balise DMARC avec des exemples pratiques et des techniques de validation pour vous aider à construire des politiques DMARC infaillibles.

I. Structure de base d’un enregistrement DMARC

Structure en quatre étapes des enregistrements DMARC montrant les balises de version, de politique, de reporting et d’alignement.

Les enregistrements DMARC sont publiés sous forme d’enregistrements DNS TXT au sous-domaine _dmarc.votredomaine.com. La syntaxe de base suit un format de paires balise-valeur séparées par des points-virgules :

"v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; sp=reject; adkim=s; aspf=s"

Chaque balise remplit une fonction spécifique dans la définition de la politique d’authentification email de votre domaine. Examinons chaque balise en détail.

II. Balises DMARC obligatoires

Tableau comparatif des trois niveaux de politique DMARC : none, quarantine et reject, avec leurs actions et cas d’utilisation.

v (Version)

Syntaxe : v=DMARC1
Objectif : Spécifie la version DMARC
Obligatoire : Oui (doit être la première balise)

La balise de version doit toujours être DMARC1 et apparaître comme première balise dans votre enregistrement. Aucune autre version n’existe.

Exemple :

v=DMARC1

Erreur courante : Utiliser autre chose que DMARC1 entraînera l’ignorance de l’enregistrement.

p (Policy)

Syntaxe : p=none|quarantine|reject
Objectif : Définit l’action en cas d’échec d’alignement de domaine
Obligatoire : Oui

La balise de politique détermine ce que les serveurs récepteurs doivent faire avec les emails qui échouent l’authentification DMARC :

  • p=none : Surveillance uniquement, aucune action d’application
  • p=quarantine : Placer les emails en échec dans le dossier spam/courrier indésirable
  • p=reject : Rejeter purement et simplement les emails en échec

Exemples :

p=none         # Phase de surveillance
p=quarantine   # Application souple
p=reject       # Application complète

Bonne pratique : Commencez avec p=none pour la surveillance, progressez graduellement vers p=quarantine, puis p=reject en fonction de l’analyse du trafic légitime.

III. Balises de politique optionnelles

sp (Subdomain Policy)

Syntaxe : sp=none|quarantine|reject
Objectif : Politique pour les messages de sous-domaine
Par défaut : Hérite de la valeur de politique principale

La politique de sous-domaine permet un traitement différent pour les messages provenant de sous-domaines.

Exemple :

v=DMARC1; p=quarantine; sp=reject

Cette configuration met en quarantaine les emails du domaine principal en échec mais rejette les emails de sous-domaine en échec.

pct (Percentage)

Syntaxe : pct=1-100
Objectif : Pourcentage de messages auxquels appliquer la politique
Par défaut : 100

Permet un déploiement progressif de la politique en spécifiant quel pourcentage de messages en échec devrait voir la politique appliquée.

Exemples :

pct=25    # Appliquer la politique à 25% des messages en échec
pct=50    # Appliquer la politique à 50% des messages en échec
pct=100   # Appliquer la politique à tous les messages en échec (par défaut)

Cas d’usage : Lors du passage de p=none à p=quarantine, commencez avec pct=10 et augmentez progressivement.

IV. Balises d’alignement

Comparaison des modes d’alignement relaxé et strict pour l’authentification DKIM et SPF.

adkim (DKIM Alignment)

Syntaxe : adkim=r|s
Objectif : Mode d’alignement de l’identifiant DKIM
Par défaut : r (relaxed – souple)

  • adkim=r : Alignement souple (correspondance de sous-domaine autorisée)
  • adkim=s : Alignement strict (correspondance exacte du domaine requise)

Exemples :

adkim=r    # mail.exemple.com peut signer pour exemple.com
adkim=s    # Seul exemple.com peut signer pour exemple.com

aspf (SPF Alignment)

Syntaxe : aspf=r|s
Objectif : Mode d’alignement de l’identifiant SPF
Par défaut : r (relaxed – souple)

  • aspf=r : Alignement souple (correspondance de sous-domaine autorisée)
  • aspf=s : Alignement strict (correspondance exacte du domaine requise)

Exemples :

aspf=r    # Return-Path: [email protected] passe pour From: [email protected]
aspf=s    # Return-Path doit correspondre exactement au domaine From

V. Balises de rapport

rua (Aggregate Reports)

Syntaxe : rua=mailto:[email protected]
Objectif : Adresse email pour les rapports agrégés
Format : Rapports XML quotidiens avec statistiques d’authentification

Exemples :

rua=mailto:[email protected]
rua=mailto:[email protected],mailto:[email protected]

Adresses multiples : Séparez avec des virgules pour la redondance.

ruf (Forensic Reports)

Syntaxe : ruf=mailto:[email protected]
Objectif : Adresse email pour les rapports d’échec
Format : Notifications d’échec individuelles avec échantillons de messages

Exemples :

ruf=mailto:[email protected]
ruf=mailto:[email protected],mailto:[email protected]

Note de confidentialité : Les rapports forensiques contiennent le contenu des messages et peuvent avoir des implications en matière de confidentialité.

ri (Report Interval)

Syntaxe : ri=secondes
Objectif : Intervalle de rapport agrégé
Par défaut : 86400 (24 heures)

Exemples :

ri=3600     # Rapports horaires (non recommandé)
ri=86400    # Rapports quotidiens (par défaut)
ri=604800   # Rapports hebdomadaires

Limitation : La plupart des récepteurs ignorent cette balise et envoient des rapports quotidiens quoi qu’il arrive.

fo (Forensic Options)

Syntaxe : fo=0|1|d|s
Objectif : Conditions de génération de rapport forensique
Par défaut : 0

  • fo=0 : Générer des rapports lorsque SPF et DKIM échouent tous les deux
  • fo=1 : Générer des rapports lorsque SPF ou DKIM échoue
  • fo=d : Générer des rapports lorsque DKIM échoue
  • fo=s : Générer des rapports lorsque SPF échoue

Exemples :

fo=1    # Signaler tout échec d'authentification
fo=d    # Signaler uniquement les échecs DKIM
fo=s    # Signaler uniquement les échecs SPF

VI. Exemples avancés d’enregistrement DMARC

Configuration de surveillance

v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1

Cet enregistrement surveille tout le trafic sans application et génère des rapports agrégés et forensiques.

Application progressive

v=DMARC1; p=quarantine; pct=25; sp=none; rua=mailto:[email protected]; adkim=r; aspf=r

Applique la politique de quarantaine à 25% des messages du domaine principal en échec tout en surveillant les sous-domaines.

Application stricte

v=DMARC1; p=reject; sp=reject; rua=mailto:[email protected]; adkim=s; aspf=s

Application complète avec alignement strict pour le domaine principal et les sous-domaines.

Configuration d’entreprise

v=DMARC1; p=reject; sp=quarantine; rua=mailto:[email protected],mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=r; fo=1; ri=86400

Configuration d’entreprise complète avec plusieurs destinations de rapport et politiques d’alignement mixtes.

VII. Erreurs de syntaxe courantes et validation

Erreurs de formatage

Points-virgules manquants :

❌ v=DMARC1 p=reject rua=mailto:[email protected]
✅ v=DMARC1; p=reject; rua=mailto:[email protected]

Ordre de balise incorrect (v doit être en premier) :

❌ p=reject; v=DMARC1; rua=mailto:[email protected]
✅ v=DMARC1; p=reject; rua=mailto:[email protected]

Valeurs de politique invalides :

❌ p=block
✅ p=reject

❌ p=spam
✅ p=quarantine

Validation d’adresse email

Adresses mal formées :

[email protected]          # mailto: manquant
✅ rua=mailto:[email protected]

❌ rua=mailto:test@domaine         # Domaine invalide
✅ rua=mailto:[email protected]

Valeurs de pourcentage

Hors limites :

❌ pct=150    # Au-dessus de 100
✅ pct=100

❌ pct=0      # Zéro non autorisé
✅ pct=1

VIII. Techniques de validation d’enregistrement DMARC

Vérification par recherche DNS

dig TXT _dmarc.exemple.com
nslookup -type=TXT _dmarc.exemple.com

Outils de validation en ligne

Utilisez des vérificateurs d’enregistrement DMARC pour valider la syntaxe et détecter les erreurs courantes. Ces outils vérifient :

  • Le formatage correct des balises
  • Les valeurs de politique valides
  • La syntaxe des adresses email
  • L’état de propagation DNS

Liste de contrôle de validation manuelle

  1. Balise de version : Vérifiez que v=DMARC1 est en premier
  2. Balise de politique : Confirmez que p= a une valeur valide
  3. Points-virgules : Vérifiez que toutes les balises sont séparées par des points-virgules
  4. Format email : Validez le préfixe mailto: dans les adresses de rapport
  5. Plages numériques : Vérifiez que pct= est entre 1-100, ri= est un entier positif
  6. Valeurs d’alignement : Confirmez que adkim= et aspf= utilisent uniquement r ou s

Test de l’implémentation DMARC

Après publication de votre enregistrement, surveillez les résultats d’authentification via :

  • Les rapports agrégés DMARC
  • Les journaux de livraison d’emails
  • Les services de surveillance tiers

Skysnag Protect simplifie l’implémentation DMARC en fournissant une génération automatisée d’enregistrements, une validation et une surveillance continue pour garantir que vos politiques d’authentification email fonctionnent correctement.

IX. Considérations de configuration avancées

Organisations multi-domaines

Pour les organisations gérant plusieurs domaines, considérez :

  • Des adresses de rapport centralisées
  • Des niveaux d’application de politique cohérents
  • L’héritage de politique de sous-domaine

Intégration de fournisseur de services email

Lors de l’utilisation de services email tiers :

  • Vérifiez l’alignement de signature DKIM
  • Coordonnez les inclusions d’enregistrement SPF
  • Testez l’impact de l’application de politique

Planification de réponse aux incidents

Préparez-vous aux problèmes de livraison liés à DMARC :

  • Surveillez les tendances des rapports agrégés
  • Établissez des procédures de retour en arrière de politique
  • Maintenez un inventaire des expéditeurs légitimes

X. Points clés à retenir

La syntaxe d’enregistrement DMARC nécessite un formatage précis et une considération attentive de l’impact de chaque balise sur la livraison d’emails. Commencez avec des politiques de surveillance utilisant p=none, appliquez progressivement avec p=quarantine et p=reject tout en analysant les rapports agrégés. Configurez des modes d’alignement appropriés en fonction de votre infrastructure email, et validez toujours les enregistrements avant le déploiement. N’oubliez pas que l’efficacité de DMARC dépend d’une bonne implémentation SPF et DKIM parallèlement à une configuration de politique précise.

Comprendre ces règles de syntaxe et techniques de validation permet aux organisations de mettre en œuvre une authentification email robuste qui protège contre l’usurpation d’identité tout en maintenant la livraison d’emails légitimes. Une surveillance régulière et un affinement de la politique garantissent une efficacité continue à mesure que l’infrastructure email évolue.