Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

Module 4 · 4.5

Lire les rapports DMARC

Module 4: Délivrabilité : SPF, DKIM et DMARC en pratique · Temps de lecture : 12 minutes

Objectif pédagogique : Après cette leçon, vous saurez ouvrir et lire un rapport agrégé DMARC, déterminer pour chaque ligne de quelle source il s'agit et pourquoi elle réussit ou échoue, et décider ce que vous devez réparer, ce que vous pouvez ignorer et quand vous pouvez durcir votre politique.

Notions clés : rapport agrégé (aggregate report, RFC 9990), rua, XML, gzip ou zip, report_metadata, policy_published, record, row, source_ip, count, policy_evaluated (disposition, dkim, spf), identifiers (header_from, envelope_from), auth_results, sélecteur, rapport d'échec (ruf, RFC 9991), service de rapport, confidentialité

Ce que vous recevez

Si vous avez indiqué une adresse rua dans votre enregistrement DMARC (leçon 4.4), les grands destinataires comme Google, Microsoft et Yahoo vous envoient environ chaque jour un rapport agrégé. Il s'agit d'un e-mail avec une pièce jointe, généralement un fichier XML compressé avec un nom du type :

receiver.example!example.com!1793923200!1794009599.xml.gz

Cela signifie : du destinataire receiver.example, concernant votre domaine example.com, pour la période comprise entre les deux horodatages (secondes depuis 1970 ; ici le 6 novembre 2026, toute la journée en UTC).

Un rapport ne contient aucun contenu d'e-mail, aucun objet et généralement aucune adresse de destinataire. Il contient, par serveur d'envoi, le nombre de messages et le résultat de SPF, DKIM et DMARC. C'est donc un aperçu fiable de qui envoie des e-mails au nom de votre domaine, y compris des sources que vous aviez oubliées, et des fraudeurs.

La structure d'un rapport

Un rapport comporte trois parties. Voici ci-dessous les éléments principaux du fichier exemple de cette leçon (dmarc-rapport-1.xml).

1. Qui fait le rapport, sur quelle période

<report_metadata>
  <org_name>receiver.example</org_name>
  <email>noreply-dmarc@receiver.example</email>
  <report_id>receiver.example-20261106-7f3c2a91</report_id>
  <date_range>
    <begin>1793923200</begin>
    <end>1794009599</end>
  </date_range>
</report_metadata>

2. Quelle politique le destinataire a trouvée chez vous

<policy_published>
  <domain>example.com</domain>
  <p>none</p>
  <sp>none</sp>
  <np>none</np>
  <adkim>r</adkim>
  <aspf>r</aspf>
  <testing>n</testing>
</policy_published>

Vérifiez toujours ceci : si ce qui est indiqué ici ne correspond pas à ce que vous pensez avoir dans votre DNS, c'est que le destinataire a lu un autre enregistrement (ou un ancien).

3. Par source : un enregistrement

Chaque record porte sur une adresse IP d'envoi avec une combinaison de résultats :

<record>
  <row>
    <source_ip>198.51.100.40</source_ip>
    <count>1250</count>
    <policy_evaluated>
      <disposition>none</disposition>
      <dkim>fail</dkim>
      <spf>fail</spf>
    </policy_evaluated>
  </row>
  <identifiers>
    <envelope_from>bounce.mailer.example</envelope_from>
    <header_from>example.com</header_from>
  </identifiers>
  <auth_results>
    <dkim>
      <domain>mailer.example</domain>
      <selector>k1</selector>
      <result>pass</result>
    </dkim>
    <spf>
      <domain>bounce.mailer.example</domain>
      <scope>mfrom</scope>
      <result>pass</result>
    </spf>
  </auth_results>
</record>
ÉlémentSignification
source_ipL'adresse IP du serveur qui a délivré l'e-mail
countLe nombre de messages de cette IP avec ce résultat
policy_evaluatedLe résultat DMARC : DKIM a-t-il réussi de manière alignée (dkim), SPF a-t-il réussi de manière alignée (spf), et qu'a fait le destinataire (disposition : pass, none, quarantine ou reject)
header_fromLe domaine dans l'adresse De
envelope_fromLe domaine du Return-Path
auth_resultsLes résultats bruts de SPF et DKIM, avec le domaine pour lequel ils s'appliquaient et, pour DKIM, le sélecteur

La différence essentielle : auth_results face à policy_evaluated

C'est ici que se trouve l'essentiel de la lecture. Dans l'exemple ci-dessus, auth_results indique deux fois pass : DKIM a réussi pour mailer.example et SPF a réussi pour bounce.mailer.example. Pourtant, policy_evaluated indique deux fois fail. Ce n'est pas une contradiction : policy_evaluated ne compte qu'un contrôle réussi qui est aligné avec header_from. Aucun des deux domaines ne correspond à example.com, donc DMARC échoue.

Voici comment lire chaque ligne :

  1. Regardez policy_evaluated. Y a-t-il un pass pour dkim ou spf ? Alors DMARC réussit et cette source est en ordre.
  2. Tout échoue ? Regardez les domaines dans auth_results. S'agit-il d'un service qui vous appartient mais qui réussit pour son propre domaine ? Vous devez alors activer DKIM avec votre propre domaine chez ce service (leçon 4.3).
  3. Cela échoue aussi dans auth_results, ou DKIM est totalement absent ? Recherchez à qui appartient l'adresse IP (DNS inverse, leçon 5.1, ou une recherche whois). S'il s'agit de l'un de vos systèmes : réparez-le. Si elle est inconnue et que les volumes sont suspects : il s'agit probablement d'une usurpation.

Des schémas récurrents

SchémaCe que c'est généralementCe qu'il faut faire
DKIM pass et SPF pass, tous deux pour votre propre domaineVotre propre serveur de messagerieRien
DKIM pass pour votre domaine, SPF fail ou softfail, IP inconnueE-mail transféré : quelqu'un retransmet votre e-mail, DKIM a survécuRien ; c'est précisément pourquoi DKIM est important
DKIM pass pour votre domaine, SPF pass pour un autre domaineUn service avec son propre Return-Path et votre DKIMRien, DMARC réussit sur DKIM
Les deux en pass, mais pour le domaine d'un serviceUn service qui signe avec son propre domaineActiver DKIM avec votre domaine chez ce service
SPF softfail pour votre domaine, pas de DKIM, serveur propreUn serveur ou une adresse propre qui ne figure pas dans votre SPF et ne signe pasL'ajouter au SPF et activer DKIM
SPF fail ou softfail, pas de DKIM, IP inconnue, volumes variablesUsurpation (spoofing)Ignorer ; avec p=quarantine ou reject, vous bloquez cela

Attention aussi à l'IPv6 : un serveur propre qui envoie parfois via IPv6, alors que votre SPF ne mentionne que l'adresse IPv4, donne un softfail sur ces lignes. Avec une signature DKIM, DMARC réussit tout de même, mais c'est le signe que votre SPF est incomplet.

Du rapport à la décision

Vous êtes prêt à durcir votre politique (de none vers quarantine, puis vers reject) si :

  • chaque source qui vous appartient obtient au moins un pass dans policy_evaluated ;
  • c'est le cas depuis déjà quelques semaines, chez tous les grands destinataires ;
  • ce qui échoue encore n'est que de l'e-mail transféré avec une signature DKIM valide (qui réussit tout de même) ou clairement de l'usurpation.

Si une grande source vous appartenant échoue, comme dans l'exemple le service de newsletter avec 1250 messages, il est trop tôt. Avec p=reject, le destinataire refuserait ces 1250 newsletters.

Rendre les rapports lisibles

Un seul rapport dans un éditeur de texte, c'est faisable. Vingt par jour, non. Il existe trois méthodes :

  • Un service de rapport (il en existe beaucoup, y compris des versions gratuites). Vous indiquez leur adresse dans rua et ils en font des graphiques et des listes. Attention : vous donnez alors à ce service une visibilité sur les serveurs qui envoient en votre nom, et l'adresse de rapport se trouve sur leur domaine (voir l'autorisation via _report._dmarc à la leçon 4.4). Choisissez un service en qui vous avez confiance et qui respecte le RGPD.
  • Un outil maison : il existe des programmes open source qui récupèrent les rapports dans une boîte mail et en font une synthèse.
  • Lire vous-même avec une visionneuse XML ou un navigateur, pour un usage occasionnel.

Les rapports d'échec (ruf, RFC 9991) sont différents : par e-mail en échec, parfois avec des extraits de l'e-mail inclus. Presque aucun grand destinataire ne les envoie, justement pour des raisons de confidentialité. Vous n'en avez pas besoin pour bien déployer DMARC.

En pratique : voici à quoi cela ressemble

Chez WebOké, vous pouvez renseigner l'adresse de rapport dans l'assistant DMARC de DirectAdmin ou de Mon WebOké (voir leçon 4.4), et vous choisissez vous-même une boîte mail où les rapports arrivent ; une adresse distincte comme dmarc@ avec son propre dossier évite que vos e-mails habituels soient noyés. Pour la lecture, utilisez un service ou un programme de votre choix. Cela fonctionne de la même manière chez tous les fournisseurs : le rapport suit un format standard.

Résumé

  • Un rapport agrégé est un fichier XML quotidien (souvent compressé) par destinataire, indiquant pour chaque IP d'envoi le nombre de messages et les résultats.
  • auth_results donne le résultat brut de SPF et DKIM ; policy_evaluated indique uniquement ce qui a réussi de manière alignée. Un pass dans auth_results peut correspondre à un fail dans DMARC.
  • L'e-mail transféré se reconnaît à un DKIM pass avec SPF fail ; l'usurpation à un échec complet depuis une IP inconnue.
  • Ne durcissez votre politique que lorsque toutes vos propres sources réussissent depuis quelques semaines.
  • Les rapports d'échec (ruf) sont rares et non nécessaires.

Quiz

1. Sur une ligne, auth_results indique DKIM pass pour mailer.example, et policy_evaluated indique dkim fail. Le domaine De est example.com. Comment est-ce possible ?



2. Une ligne provenant d'une IP inconnue indique DKIM pass pour example.com et SPF softfail pour example.com. Qu'est-ce que c'est probablement ?



3. Que signifie <disposition>none</disposition> sur une ligne où dkim et spf sont en fail, avec une politique p=none ?



4. Vous constatez qu'un service de newsletter vous appartenant, avec 1250 messages, échoue à DMARC. Quelle est la bonne étape suivante ?



5. Pourquoi presque aucun destinataire n'envoie-t-il de rapports d'échec (ruf) ?



Exercice

Exercice Z4.5: Lire un rapport DMARC. Ouvrez le fichier exemple dmarc-rapport-1.xml (un rapport agrégé concernant example.com, avec des données fictives). Répondez aux questions : quelle politique le destinataire a-t-il trouvée, combien de messages figurent au total dans le rapport, combien d'entre eux ont échoué à DMARC, quelle ligne correspond au service de newsletter et que faut-il faire, quelle ligne correspond à un e-mail transféré, quelle ligne est probablement une usurpation, que faut-il modifier dans l'enregistrement SPF selon la ligne 6, quelle ligne réussit uniquement grâce à DKIM chez un service avec son propre Return-Path, et le domaine peut-il désormais passer à p=quarantine ? Le programme vérifie vos réponses à l'aide d'un corrigé et explique, pour chaque question, quelle ligne du rapport donne la réponse.

Exercice Z4.5: Lire un rapport DMARC

Fichier pour cet exercice : dmarc-rapport-1.xml

Ouvrez le fichier d'exemple dmarc-rapport-1.xml et répondez aux questions. Vous souhaitez aussi consulter votre propre rapport ? Téléversez (facultatif) un rapport .xml décompressé ; il ne reste en mémoire que pendant la correction.













Téléchargez de préférence un fichier de test avec des données fictives plutôt que vos données réelles. Le fichier ne reste en mémoire que pendant la vérification; nous ne le conservons pas.

Nous ne conservons pas ce que vous saisissez ni ce que nous trouvons. Votre navigateur mémorise vos réponses et si l'exercice est réussi. Si vous êtes connecté, nous enregistrons uniquement dans Mes formations que l'exercice était (presque) correct ; vous pouvez aussi le supprimer à cet endroit.

Pour aller plus loin

Les étapes de ces articles s'appliquent aux panneaux de WebOké ; chez d'autres fournisseurs, cela fonctionne de manière similaire.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…