Wiki DNSprobe · Section DMARC

Configuration DMARC, politique et rapports

DMARC relie SPF et DKIM et indique aux serveurs de réception quoi faire des messages qui échouent l’authentification ou l’alignement.

DMARC (Domain-based Message Authentication, Reporting and Conformance) s’appuie sur SPF et DKIM pour imposer un alignement de domaine. Il vérifie si l’adresse visible dans le champ From: est cohérente avec les domaines qui ont réellement authentifié le message.

Avec DMARC, vous pouvez commencer en mode observation, puis passer progressivement à la mise en quarantaine ou au rejet des messages qui n’authentifient pas correctement.

Le bloc DMARC Configuration dans DNSprobe affiche votre enregistrement brut, un résumé de la politique, les paramètres de rapports, un tableau des balises parsées et un score d’évaluation final.

Comment DNSprobe analyse votre enregistrement DMARC

DNSprobe recherche un enregistrement TXT sur _dmarc.votredomaine et vérifie qu’il commence par v=DMARC1. Il découpe ensuite le reste de la chaîne en balises individuelles comme p, sp, rua, ruf, pct, adkim et aspf.

À partir de ces balises, il construit le Policy summary, les Report settings et le tableau Parsed DMARC tags que vous voyez dans le rapport, en tenant compte des valeurs par défaut lorsque certaines balises sont omises.

Enfin, DNSprobe évalue la sévérité de votre politique, la présence de rapports et le respect des bonnes pratiques, puis attribue un DMARC Evaluation Score avec une courte explication.

1. Vue d’ensemble du bloc DMARC Configuration

Cette ligne de votre rapport DNSprobe confirme qu’un enregistrement DMARC a été trouvé, en affiche la valeur brute et fournit un court résumé des réglages principaux.

Pourquoi c’est important

De nombreux grands fournisseurs de boîtes aux lettres s’attendent désormais à trouver un enregistrement DMARC. Il contribue à protéger votre marque contre l’usurpation et vous donne de la visibilité sur les envois effectués avec votre domaine.

Comment lire ce bloc

Vérifiez que le nom d’hôte est _dmarc.votredomaine, que la valeur commence par v=DMARC1 et que la politique globale (none, quarantine ou reject) correspond à ce que vous souhaitez. DNSprobe affiche aussi votre « vrai » DMARC une fois les valeurs par défaut appliquées.

Bonnes pratiques générales

  • Publier un seul enregistrement DMARC par domaine, sur l’hôte _dmarc.
  • Passer progressivement de p=none (surveillance) à p=quarantine puis p=reject une fois SPF et DKIM correctement configurés.
  • Garder l’enregistrement lisible afin de pouvoir le vérifier rapidement dans des outils comme DNSprobe.

2. Résumé de la politique (p, sp, pct, alignement)

Le bloc Policy summary de votre rapport répond à trois questions : que faire des messages en échec, que faire pour les sous-domaines et à quel pourcentage de trafic la politique s’applique.

Pourquoi la politique est importante

Ces paramètres déterminent à quel point les serveurs de réception doivent être stricts avec les messages qui ne s’alignent pas sur votre SPF ou votre DKIM, pour le domaine principal comme pour ses sous-domaines.

Comment DNSprobe interprète la politique

DNSprobe lit les balises p, sp et pct et les traduit en une phrase lisible comme « Politique : reject; Politique des sous-domaines : reject; Pourcentage appliqué : 100% ».

Bonnes pratiques pour la politique DMARC

  • Commencer avec p=none et pct=100 pour collecter des rapports sans impacter la délivrabilité.
  • Une fois l’alignement SPF/DKIM confirmé, passer à p=quarantine, puis éventuellement à p=reject.
  • Utiliser sp uniquement si vous avez réellement besoin d’une politique différente pour les sous-domaines, sinon les laisser hériter de p.

3. Paramètres de rapports (rua, ruf, fo, ri, rf)

La section Report settings indique où sont envoyés les rapports agrégés (rua) et les rapports forensiques (ruf), ainsi que le comportement souhaité pour les rapports d’échec.

Pourquoi les rapports DMARC sont utiles

Les rapports agrégés permettent de voir quels IP et fournisseurs envoient du courriel pour votre domaine et à quelle fréquence les messages échouent. Les rapports forensiques peuvent fournir des exemples détaillés des messages en échec.

Comment DNSprobe affiche la configuration de rapports

DNSprobe liste vos adresses rua et ruf en mailto:, les options fo et l’intervalle ri, et met en évidence les cas où aucun rapport ne sera envoyé faute de balises configurées.

Bonnes pratiques pour les rapports DMARC

  • Toujours configurer au moins une adresse rua qui pointe vers une boîte ou un service d’analyse DMARC que vous contrôlez.
  • Utiliser fo=1 si vous souhaitez une meilleure visibilité sur les échecs, en gardant à l’esprit le volume de rapports supplémentaire.
  • N’activer ruf que si vous en avez réellement besoin et que vous pouvez gérer les implications en matière de confidentialité et de protection des données.

4. Balises DMARC parsées dans le rapport

Le tableau Parsed DMARC tags montre chaque balise, sa valeur brute et une courte description pour vérifier rapidement que toutes les options sont définies comme prévu.

Comment DNSprobe construit le tableau des balises

Après avoir parsé la chaîne DMARC, DNSprobe applique les valeurs par défaut lorsque nécessaire et affiche un tableau en trois colonnes Tag, Value et Description pour v, p, sp, rua, ruf, fo, pct, adkim, aspf, ri et rf.

Comment utiliser ce tableau efficacement

  • Repérer les valeurs par défaut inattendues, par exemple un alignement relaxed ou un pct inférieur à 100%.
  • Confirmer que les adresses de rapport et les modes d’alignement correspondent à votre stratégie DMARC.
  • Comparer le tableau parsé avec l’interface de votre fournisseur DNS pour déceler les fautes de frappe ou les valeurs tronquées.

5. Balises DMARC et valeurs possibles

Ce tableau de référence résume les balises DMARC les plus courantes, indique si elles sont obligatoires, leur rôle, les valeurs autorisées et le comportement lorsqu’elles sont omises.

Balise Obligatoire ? Description Valeurs autorisées Valeur par défaut / effet
v Oui Identifiant de version du protocole. Doit être la première balise de l’enregistrement DMARC. DMARC1 Aucune valeur par défaut. Si elle manque ou n’est pas en premier, l’enregistrement est invalide.
p Oui Politique à appliquer au domaine organisationnel lorsque les messages échouent les contrôles DMARC. none,
quarantine,
reject
Aucune valeur par défaut. Si elle manque, l’enregistrement est invalide.
sp Non Politique à appliquer spécifiquement aux sous-domaines lorsqu’ils échouent les contrôles DMARC. none,
quarantine,
reject
Si omise, les sous-domaines héritent de la politique p du domaine principal.
pct Non Pourcentage de messages en échec auxquels la politique DMARC doit être appliquée. Entier de 0 à 100. 100 – la politique s’applique à tous les messages.
rua Non Destination(s) pour les rapports agrégés DMARC (statistiques de synthèse). none,
mailto: (Liste d’URI séparés par des virgules)
Si omise, aucun rapport agrégé n’est envoyé.
ruf Non Destination(s) pour les rapports forensiques / d’échec détaillés. none,
mailto: (Liste d’URI séparés par des virgules)
Si omise, aucun rapport forensique n’est envoyé.
fo Non Contrôle les conditions de génération des rapports d’échec (forensiques). 0 (rapport si SPF ET DKIM échouent),
1 (rapport si l’un des deux échoue),
d (rapport sur les échecs DKIM),
s (rapport sur les échecs SPF).
Les valeurs peuvent être combinées avec des virgules.
0 – rapport uniquement si SPF ET DKIM échouent en alignement.
adkim Non Mode d’alignement pour les identifiants DKIM. r (relaxed),
s (strict).
r – alignement assoupli (relaxed).
aspf Non Mode d’alignement pour les identifiants SPF. r (relaxed),
s (strict).
r – alignement assoupli (relaxed).
ri Non Intervalle souhaité, en secondes, entre l’envoi des rapports agrégés. Entier positif (par exemple 86400 pour une journée). 86400 – les opérateurs envoient en général au plus un rapport agrégé par jour.
rf Non Format utilisé pour les rapports d’échec / forensiques envoyés à ruf. afrf (Authentication Failure Reporting Format),
iodef (Incident Object Description Exchange Format, rapports d’incident structurés).
afrf – Authentication Failure Reporting Format.

Tous les fournisseurs n’implémentent pas l’ensemble des options de rapport, mais rester dans ces valeurs supportées assure une bonne compatibilité globale.

Un enregistrement DMARC complet ressemble à ceci :
v=DMARC1; p=reject; sp=reject; rua=mailto:[email protected]; ruf=none; fo=0; pct=100; adkim=s; aspf=s; ri=604800; rf=afrf;

Sous sa forme la plus simple, un enregistrement DMARC est :
v=DMARC1; p=none

Légende (signification des tags, valeurs par défaut et traduction simple)

Cette légende explique ce que fait chaque tag DMARC en pratique, quelles valeurs sont acceptées et ce qui arrive quand le tag est absent.

TAG DÉFAUT TRADUCTION
v DMARC1 Identifiant de version DMARC. Il doit être exactement « DMARC1 » et doit être le premier tag. Si v est absent, mal écrit ou pas en premier, plusieurs receveurs ignorent tout le record DMARC.
p none Politique appliquée lorsqu’un message échoue DMARC (authentification + alignement). Valeurs valides : none, quarantine, reject. « none » = monitoring, « quarantine » = traiter comme suspect (souvent indésirables), « reject » = refuser les échecs. Note : p est généralement considéré comme obligatoire — s’il manque, plusieurs implémentations considèrent le record invalide.
adkim r Mode d’alignement DKIM. Valeurs valides : r (relaxed) ou s (strict). En relaxed, le domaine d= de DKIM peut s’aligner au niveau « organisationnel » avec le domaine visible dans From:. En strict, il faut une correspondance exacte entre d= et le domaine du From:.
aspf r Mode d’alignement SPF. Valeurs valides : r (relaxed) ou s (strict). En relaxed, le domaine validé par SPF (MailFrom/Return-Path) peut s’aligner au niveau « organisationnel » avec le domaine du From:. En strict, il faut une correspondance exacte.
sp hérite de p Politique pour les sous-domaines. Valeurs valides : none, quarantine, reject. Si sp est absent, les sous-domaines héritent de la politique p. Utilise sp si tu veux publier une politique « wildcard » explicite pour tous les sous-domaines.
fo 0 Options de déclenchement des rapports forensiques (support variable selon les receveurs). Valeurs valides : 0, 1, d, s (combinaisons possibles via virgules). 0 = rapport seulement si SPF et DKIM échouent à produire un PASS DMARC. 1 = rapport si SPF ou DKIM échoue. d = sur échec DKIM, s = sur échec SPF.
ruf none Où envoyer les rapports forensiques (échecs). C’est une liste d’URI, pas seulement des adresses e-mail — typiquement des URI mailto:. Si absent ou à none, aucun rapport forensique n’est envoyé.
rua none Où envoyer les rapports agrégés (XML). C’est une liste d’URI (souvent mailto:). Si absent ou à none, tu ne reçois pas de rapports agrégés.
rf afrf Format des rapports forensiques envoyés via ruf. Valeurs valides : afrf (le plus courant) ou iodef (format d’incident structuré). Plusieurs receveurs ne supportent que afrf.
pct 100 Pourcentage des échecs DMARC auxquels la politique est appliquée. Exemple : pct=25 = appliquer la politique p à ~25% des échecs. Important : pct est surtout pertinent quand p (ou sp) est à quarantine ou reject; avec p=none, il n’y a pas d’application stricte.
ri 86400 Intervalle demandé (en secondes) pour la réception des rapports agrégés. Plusieurs receveurs envoient quand même au plus une fois par jour, peu importe la valeur exacte.

Astuce : rua/ruf doivent être des URI (ex. mailto:[email protected]). Si les rapports vont vers un autre domaine (service externe), une autorisation DNS additionnelle peut être requise par certains receveurs.





6. Guide d’interprétation rapide

Cette section ajoute des vérifications très pratiques (style “inspector”) : validité du record, valeurs par défaut, alignement, comportement des sous-domaines, reporting et erreurs fréquentes.


1) Validité du record et emplacement DNS

DMARC doit être publié en TXT sur l’hôte _dmarc du domaine à protéger. Si le record est mal formé, plusieurs receveurs l’ignorent complètement.

  • Nom d’hôte : _dmarc.votredomaine
  • La valeur doit commencer par : v=DMARC1 (et ce tag doit être le premier).
  • Un seul record DMARC par domaine (plusieurs records peuvent invalider DMARC).

Exemple de record :

_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:[email protected]"

Garde la chaîne lisible (séparateurs clairs, format cohérent). C’est beaucoup plus facile de repérer une typo.


2) Comportement de la politique : p, sp et pct

Ces tags définissent quoi faire lorsqu’un message échoue DMARC (authentification + alignement), si ce comportement s’applique aux sous-domaines, et à quel pourcentage du trafic.

  • p=none : monitoring seulement (pas d’application stricte).
  • p=quarantine : traiter comme suspect (souvent spam/indésirables).
  • p=reject : refuser le message côté receveur.
  • pct contrôle le pourcentage d’application (surtout pertinent pour quarantine/reject).
Astuce de déploiement
Une approche courante : commencer en p=none pendant que tu valides SPF/DKIM sur toutes les sources légitimes, puis passer à quarantine et enfin reject quand l’alignement est stable.

3) Alignement : adkim et aspf (relaxed vs strict)

L’alignement répond à une question simple : est-ce que le domaine qui authentifie correspond au domaine visible dans From: ? En relaxed, un match “organisationnel” peut suffire; en strict, il faut un match exact.

  • adkim contrôle l’alignement DKIM (d= vs From:).
  • aspf contrôle l’alignement SPF (MailFrom/Return-Path vs From:).
Paramètre Relaxed (r) Strict (s)
adkim Le d= DKIM peut être un sous-domaine du domaine organisationnel de From:. Le d= DKIM doit correspondre exactement au domaine dans From:.
aspf Le MailFrom SPF peut être un sous-domaine du domaine organisationnel de From:. Le MailFrom SPF doit correspondre exactement au domaine dans From:.

En pratique, relaxed est très courant. Strict offre un contrôle plus serré, mais demande une infrastructure d’envoi plus disciplinée.


4) Sous-domaines et comportement “organisationnel”

DMARC est évalué sur le domaine exact dans From:. Si ce domaine n’a pas de record DMARC, les receveurs peuvent appliquer le DMARC du domaine organisationnel, selon les règles de suffixes publics.

  • sp définit une politique dédiée aux sous-domaines; sinon ils héritent de p.
  • Si tu envoies depuis des sous-domaines (news.votredomaine, billing.votredomaine), planifie-les dans ton déploiement DMARC.
  • Sois cohérent : évite des politiques “surprises” sur des sous-domaines sans intention claire.
Exemple concret
Si l’adresse From: est [email protected] et que sub.example.com n’a pas de DMARC, le receveur peut “retomber” sur le DMARC du domaine organisationnel (example.com). Si tu veux un comportement différent pour les sous-domaines, utilise sp ou publie un DMARC explicite sur ces sous-domaines.

5) Reporting : rua, ruf, fo, ri et rf

Les tags de reporting contrôlent où envoyer les rapports agrégés (rua) et, optionnellement, des rapports forensiques/échecs (ruf), ainsi que le niveau de détail demandé.

  • rua : rapports agrégés (souvent les plus utiles et les plus supportés).
  • ruf + fo : rapports forensiques/échecs (support variable; enjeux de confidentialité/volume).
  • ri : intervalle demandé en secondes, mais plusieurs receveurs envoient au plus une fois par jour.
Avertissement confidentialité et volume (ruf/fo)
Le reporting forensique n’est pas supporté partout et peut exposer des détails de messages. Active-le seulement si tu comprends les implications et peux gérer le volume.

6) Adresses de rapports externes : autorisation DNS requise

Quand rua/ruf pointe vers un autre domaine (ex. un service d’analyse DMARC), ce domaine de destination doit généralement publier un TXT d’autorisation. Sans cela, certains receveurs refuseront d’envoyer des rapports à cette adresse externe.

Exemple d’enregistrement d’autorisation :

example.org._report._dmarc.sample.net TXT "v=DMARC1;"

Ton fournisseur DMARC indique normalement le nom d’hôte et la valeur exacte à publier pour l’autorisation “external destination”.


7) Erreurs fréquentes à éviter

La plupart des problèmes DMARC viennent de petits détails DNS ou de syntaxe. Voici les premiers points à vérifier :

  • Publier plus d’un record DMARC TXT à _dmarc (ça peut invalider DMARC).
  • v=DMARC1 pas en premier, ou mauvaise casse (DMARC1 doit être exact).
  • Points-virgules manquants ou séparateurs qui cassent le parsing.
  • Utiliser des adresses de rapports non contrôlées (ou oublier l’autorisation externe).
  • Passer à reject avant que toutes les sources légitimes soient alignées SPF/DKIM.
Note délivrabilité
Les grands fournisseurs attendent de plus en plus DMARC pour les expéditeurs à volume élevé. Le monitoring (p=none) peut répondre au minimum, mais l’application stricte (quarantine/reject) est ce qui réduit réellement l’usurpation une fois les sources légitimes alignées.

7. Tester les enregistrements DMARC manuellement depuis votre propre terminal

La section DMARC de DNSprobe lit l’enregistrement TXT situé sur _dmarc.votredomaine et analyse les balises telles que la politique (p), la politique pour les sous-domaines (sp), les adresses de rapports (rua/ruf) et les modes d’alignement (adkim/aspf). Vous pouvez consulter l’enregistrement DMARC brut depuis un terminal en interrogeant l’enregistrement TXT du sous-domaine _dmarc.

Linux : utiliser dig (outils BIND)

Sur la plupart des distributions Linux, la commande dig est fournie par le paquet d’outils BIND. Les commandes ci-dessous interrogent l’enregistrement TXT DMARC de votre domaine puis se concentrent sur la ligne qui commence par v=DMARC1 :

                dig _dmarc.example.com TXT
                dig _dmarc.example.com TXT +short
    
                # Optionnel : filtrer les enregistrements TXT pour n’afficher que la politique DMARC (la ligne qui commence par v=DMARC1)    
                dig _dmarc.example.com TXT | grep "v=DMARC1"
        

macOS : utiliser dig avec les outils intégrés

macOS inclut dig dans ses outils en ligne de commande. Ouvrez Terminal et exécutez les mêmes commandes que sous Linux pour lister l’enregistrement TXT DMARC et isoler la ligne de politique qui commence par v=DMARC1 :

                dig _dmarc.example.com TXT
                dig _dmarc.example.com TXT +short
    
                # Optionnel : filtrer les enregistrements TXT pour n’afficher que la politique DMARC (la ligne qui commence par v=DMARC1)    
                dig _dmarc.example.com TXT | grep "v=DMARC1"
        

Windows : utiliser nslookup

Sous Windows, l’outil historique nslookup permet d’interroger les enregistrements TXT sur le sous-domaine _dmarc. Depuis une fenêtre Invite de commandes ou PowerShell, vous pouvez récupérer la politique DMARC principale et, si nécessaire, tester un enregistrement DMARC spécifique à un sous-domaine :

                nslookup -type=TXT _dmarc.example.com
    
                REM Optionnel : interroger un enregistrement DMARC spécifique comme _dmarc.sub.example.com si vous définissez une politique différente pour ce sous-domaine    
                nslookup -type=TXT _dmarc.sub.example.com
        

Important : n’interrogez que les enregistrements DMARC de domaines que vous possédez ou que vous êtes autorisé à analyser. Des requêtes automatisées et répétées vers des domaines tiers sans autorisation peuvent être considérées comme du trafic abusif par certains fournisseurs.

Résumé : DMARC rassemble vos protections de courriel

Une politique DMARC bien conçue indique clairement comment traiter les messages en échec tout en vous offrant une visibilité sur le trafic légitime et malveillant.

La section DMARC de DNSprobe vous aide à vérifier que l’enregistrement est publié au bon endroit, que la politique correspond à vos objectifs et que chaque balise utilise des valeurs sûres et conformes aux standards.

Vous voulez passer d’une politique d’observation à une politique stricte ?

Avant de renforcer votre politique DMARC, vérifiez votre configuration SPF et DKIM et analysez les rapports agrégés pendant quelque temps. En cas de doute, impliquez votre fournisseur de courriel pour éviter de bloquer par erreur des messages légitimes.

⚙️ Configuration