<?xml version="1.0" encoding="utf-8"?>
<rfcdesc title="Domain-based Message Authentication, Reporting, and Conformance (DMARC)" num="9989" status="standards" wg="dmarc">
  <authors><author>T. Herr (Valimail)</author><author>J. Levine (Standcore)</author></authors>
  <rfcdate><month>May</month><year>2026</year></rfcdate>
  <date>2026-05-20</date>
<content>
  <p><wikipedia>DMARC</wikipedia> est une technique
  d'<wikipedia>authentification</wikipedia> du <wikipedia name="Courrier électronique">courrier
  électronique</wikipedia> qui permet à un domaine d'indiquer quelle
  est sa politique de sécurité vis-à-vis des messages dont
  l'expéditeur (le champ <computer>From:</computer> de l'en-tête)
  indique ce domaine. Il donne au gérant du domaine la possibilité
  d'annoncer sa politique de sécurité « tous les messages de ce
  domaine sont authentifiés (via <wikipedia name="Sender Policy
  Framework">SPF</wikipedia> ou <wikipedia name="DomainKeys Identified
  Mail">DKIM</wikipedia>) ». Typiquement, DMARC est le couronnement
  d'une démarche de sécurité du courrier, ce qu'on annonce quand on a
  bien tout authentifié. Par contre, attention, en authentifiant la
  donnée visible par les utilisateurs et pas les données techniques,
  il casse certains usages du courrier. DMARC était à l'origine
  normalisé dans le <rfc num="7489" local="false"/>, que ce nouveau
  <wikipedia name="Request for comments">RFC</wikipedia>
  remplace. Mais rassurez-vous si vous avez déjà déployé DMARC : les
  changements ne sont pas radicaux. Le principal est le nouvel
  algorithme pour trouver l'enregistrement DMARC pertinent (celui à
  l'apex du domaine enregistré).</p>
  <p>Revenons sur les problèmes de sécurité du courrier
  électronique. Un message typique, tel que normalisé par le <rfc
  num="5322" local="true"/>, comprend dans son en-tête ce genre
  d'informations :
  <code>
<![CDATA[
Date: Wed, 18 Mar 2026 17:28:36 +0800
From: Jiankang Yao <yaojk@cnnic.cn>
To: 125attendees@ietf.org
Subject: [125attendees] Wednesday 8:00 pm, Shenzhen light show for IETF 125
X-Mailer: iPhone Mail (21D61)
[et bien d'autres]    
]]>
  </code>
  Une qui nous intéresse particulièrement est l'expéditeur. Cette
  notion est plus compliquée qu'il n'y parait (il y a plusieurs
  définitions possibles de « expéditeur ») mais pour DMARC, c'est
  simple : le champ qui nous intéresse est uniquement le
  <computer>From:</computer> (section 3.6.2 du <rfc num="5322"
  local="true"/>). C'est en effet celui qui est typiquement affiché
  par les <wikipedia name="Client de messagerie">MUA</wikipedia>, et
  c'est celui que DMARC va protéger. On l'appelle souvent RFC5322-From
  pour le distinguer de celui qui apparait dans l'enveloppe du
  courrier, le RFC5321-From (et qui n'est pas montré dans mon
  exemple).</p>
  <p>Les techniques d'authentification existantes avant DMARC,
  <wikipedia name="Sender Policy Framework">SPF</wikipedia> (<rfc
  num="7208" local="true"/>) et <wikipedia name="DomainKeys Identified
  Mail">DKIM</wikipedia> (<rfc num="6376" local="true"/>),
  n'authentifient <emphasis>pas</emphasis> ce champ mais d'autres (le
  RFC5321-From pour SPF et le domaine indiqué dans la signature pour
  DKIM), qui ne sont pas en général affichés à l'utilisateurice
  final·e. DMARC va permettre d'utiliser ces deux techniques, SPF et
  DKIM, pour les appliquer à l'expéditeur (RFC5322-From). Un test
  DMARC réussi signifie que SPF <emphasis>ou</emphasis> DKIM a réussi
  mais <emphasis>aussi</emphasis> que le <wikipedia name="Nom de
  domaine">domaine</wikipedia> authentifié par SPF ou DKIM est le même
  que celui présent dans le <computer>From:</computer> ; on parle
  d'<emphasis>alignement</emphasis> du nom de domaine. Cela ne va pas
  de soi car il y a de nombreux usages <emphasis>légitimes</emphasis>
  du courrier où ces domaines ne sont pas alignés, et DMARC casse donc
  ces usages.</p>
  <p>Dans les exemples de messages reçus après traitement par DMARC,
  on va regarder les champs
  <computer>Authentication-Results</computer>. Normalisés dans le <rfc
  num="8601" local="true"/>, ils sont ajoutés par le récepteur et
  indiquent le résultat d'une technique d'authentification. Ici, un
  exemple où SPF et DKIM ont marché (tous les exemples ici sont réels,
  issus de mes boites aux lettres):
  <code>
<![CDATA[
Authentication-Results: mail.bortzmeyer.org; dmarc=pass (p=quarantine dis=none) header.from=afnic.fr
Authentication-Results: mail.bortzmeyer.org;
        dkim=pass (2048-bit key; secure) header.d=afnic.fr header.i=@afnic.fr header.a=rsa-sha256 header.s=afnic-20240601
        header.b=bdGM6W8o;
        dkim-atps=neutral
Authentication-Results: mail.bortzmeyer.org; spf=pass (sender SPF authorized) smtp.mailfrom=afnic.fr
        (client-ip=2001:67c:2218:10::51:1; helo=mx1.nic.fr; envelope-from=quelqu.un@afnic.fr; receiver=bortzmeyer.org)
]]>
</code>
  Le domaine <computer>afnic.fr</computer> a bien été authentifié, à
  la fois par SPF et par DKIM, et DMARC passe donc (le champ
  <computer>From:</computer> n'est pas montré ici mais il indiquait
  bien une adresse <computer>@afnic.fr</computer>).
  </p>
  <p>Il est également important de se souvenir que DMARC ne fait
  qu'<wikipedia name="Authentification">authentifier</wikipedia> le
  domaine, il ne garantit pas que le message soit sincère, sûr, utile ou quoi
  que ce soit d'autre. Si on reçoit un message de
  <wikipedia name="Donald Trump">Trump</wikipedia>, on peut prouver qu'il vient bien de
  <computer>whitehouse.gov</computer> mais il sera quand même
  certainement mensonger. C'est pour cela qu'il est absurde, comme on
  le lit dans certains forums, de dire « je ne comprends pas, j'ai
  bien mis un enregistrement DMARC et mes messages finissent quand
  même dans la boite Spam » : les <wikipedia
  name="Spam">spammeurs</wikipedia> font du DMARC, eux-aussi.</p>
  <p>L'inverse est vrai aussi, un message légitime et désiré peut
  parfaitement échouer au test DMARC, d'autant plus, que, comme
  indiqué plus haut, DMARC casse plusieurs usages légitimes du
  courrier. Il vaut donc mieux ne pas refuser un message uniquement
  sur la base d'un échec DMARC mais traiter cet échec comme une
  indication parmi d'autres. Ce <rfc num="9989"/> insiste sur ce
  point (notamment sa section 7), en mentionnant également le <rfc
  num="7960" local="true"/>, qui détaille les problèmes venant de
  l'utilisation de DMARC.</p>
  <p>La section 2 du RFC détaille le cahier des charges de
  DMARC. Comme avec toutes les solutions de sécurité, il faut garder
  en tête ce cahier des charges lorsqu'on évalue DMARC. Aucune
  solution de sécurité n'est parfaite : elles collent simplement plus
  ou moins bien à leur cahier des charges. Celui-ci, en résumé, est :
  <enum>
    <item>Permettre aux gérants de <wikipedia name="Nom de
    domaine">noms de domaine</wikipedia> d'annoncer leur politique
    d'authentification du courrier et leurs souhaits quant au
    traitement du courrier qui ne passerait pas cette authentification.</item>
    <item>Fonctionner dans le contexte de l'Internet (donc, sans
    autorité centrale).</item>
    <item>Traiter uniquement les cas où le message malveillant copie
    exactement un nom de domaine qu'on gère. En d'autres termes, les
    usurpations utilisant des noms qui ressemblent
    (<computer>goog1e.com</computer> au lieu de
    <computer>google.com</computer>) sont hors-sujet.</item>
    <item>Authentifier uniquement le nom de domaine qui est dans
    l'adresse (<rfc num="5322"
    local="true"/>, section 3.4). En d'autres termes, dans un
    <computer>From:</computer> « Emmanuel Macron
    <computer>&lt;emmanuel5561@gmail.com&gt;</computer>, DMARC ne se
    préoccupe que du <computer>gmail.com</computer>, pas du <computer>emmanuel5561</computer>.</item>
    <item>Authentifier uniquement l'adresse, pas le nom affiché
    (« Emmanuel Macron » dans l'exemple ci-dessus). La section 11.4
    rappelle ce point très important.</item>
  </enum>
  Un bon cahier des charges a une autre section très importante :
  celle des non-objectifs, des choses qu'on n'essaie pas de
  faire. (Regardez les documents commerciaux : ils n'ont jamais
  l'honnêteté de lister ce qu'ils ne font pas.) Pour DMARC :
  <enum>
    <item>Il ne dit évidemment rien sur les domaines qui ont choisi de
    ne pas avoir d'enregistrement DMARC dans le DNS. Dit autrement, DMARC est <foreign>opt-in</foreign>.</item>
    <item>Il n'essaie pas de s'occuper des autres informations
    présentes dans l'en-tête (comme <computer>Reply-To:</computer> ou
    <computer>Date:</computer>).</item>
    <item>Il ne s'occupe pas des tricheries sur le nom affiché, comme
    dans l'exemple « Emmanuel Macron » plus haut (ou bien, tiré de ma
    boite Spam <computer>From: "amendes.gouv.fr"
    &lt;amendes-gouv-nepasrepondre.C9717A5D-EA39-D865-765A6C98B4A0BB03@therugest.com&gt;</computer>). Tant
    pis pour ceux et celles qui s'obstinent à utiliser un logiciel
    qui, par défaut, n'affiche que ce nom
    (<wikipedia name="Microsoft Outlook">Outlook</wikipedia> fait encore ça). Relisez la
    section 11.4 du RFC.</item>
    <item>Et naturellement, DMARC ne s'occupe pas du contenu du
    message, qu'il soit mensonger (« je suis l'ex-ministre des
    finances du Nigéria ») ou malveillant (logiciel qui va tenter
    d'exploiter une faille de sécurité pour prendre le contrôle de
    votre ordinateur).</item>
  </enum>
  Par exemple, voici un spam, prétendant venir de
  l'<wikipedia name="Agence nationale de traitement automatisé des infractions">ANTAI</wikipedia> mais qui passe tous les tests (le nom
  de domaine dans l'adresse n'a rien à voir avec l'ANTAI mais beaucoup
  d'utilisateurs n'y feront pas attention, et ce nom avait bien un
  enregistrement DMARC) :
  <code>
<![CDATA[
Authentication-Results: mail.bortzmeyer.org; dmarc=pass (p=quarantine dis=none) header.from=rtm.gov.my
Authentication-Results: mail.bortzmeyer.org;
        dkim=pass (2048-bit key; secure) header.d=rtm.gov.my header.i=@rtm.gov.my header.a=rsa-sha256 header.s=rtm
        header.b=MaKApt+s;
        dkim-atps=neutral
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=rtm.gov.my; s=rtm; t=1775231898; x=1775836698; darn=bortzmeyer.org;
        h=content-transfer-encoding:mime-version:subject:message-id:to:from
        :date:from:to:cc:subject:date:message-id:reply-to;
        bh=L6c3f6fDBrQyBjkO1RiiF3vHHNmYjLDd4A1urn+cNJg=;
        b=MaKApt+s0vgkVsgh3VoFE0/MgCt8ilWkghyQKUbj2NnhgInADkR8G3aW0UbklkuDDV
	…
Authentication-Results: mail.bortzmeyer.org; spf=pass (sender SPF authorized) smtp.mailfrom=rtm.gov.my
        (client-ip=2607:f8b0:4864:20::f64; helo=mail-qv1-xf64.google.com; envelope-from=antai.gouv.fr@rtm.gov.my;
        receiver=bortzmeyer.org)
Subject: ACTION REQUISE SOUS 24H
From: "Antai.gouv.fr" <Antai.gouv.fr@rtm.gov.my>
]]>
</code>  
  </p>
  <p>La section 3 du RFC décrit les termes utilisés par DMARC,
  entre autres :
  <enum>
    <item>Domaine de l'auteur : ce qui est après
    l'<wikipedia>arobase</wikipedia> dans l'adresse indiquée par le
    champ <computer>From:</computer> de l'en-tête (rappel : pas celui
    de l'enveloppe).</item>
    <item>Domaine DKIM : celui indiqué par le paramètre
    <computer>d=</computer> dans la signature <wikipedia
    name="DomainKeys Identified Mail">DKIM</wikipedia> (rappel : le
    domaine DKIM peut n'avoir aucun rapport avec l'adresse de
    l'en-tête ou avec celle de l'enveloppe).</item>
    <item>Domaine SPF : ce qui est après
    l'<wikipedia>arobase</wikipedia> dans l'adresse indiquée par le
    champ <computer>From</computer> de l'enveloppe (rappel : pas celui
    de l'en-tête). Dans le contexte de DMARC, ce terme ne s'applique
    pas au domaine indiqué dans la commande EHLO (ou HELO) de
    <wikipedia name="Simple Mail Transfer
    Protocol">SMTP</wikipedia>.</item>
    <item>Titulaire du domaine : la personne physique ou morale qui
    décidé d'enregistrer un <wikipedia name="Nom de domaine">nom de
    domaine</wikipedia> et qui le gère ensuite.</item>
    <item>Domaine organisationnel : le domaine au sommet du sous-arbre
    qui a la même administration (le <rfc num="5598" local="true"/>
    est une bonne lecture ici). Ainsi,
    <computer>bortzmeyer.org</computer> est le domaine organisationnel
    de <computer>mail.bortzmeyer.org</computer>. En pratique, c'est
    souvent le domaine enregistré du <rfc num="9499" local="true"/>,
    domaine qui a été enregistré auprès d'un <wikipedia name="Registre
    de noms de domaine">registre</wikipedia>.</item>
    <item>Suffixe public : domaine où le public peut enregistrer un
    sous-domaine, par exemple
    <computer><wikipedia>.fr</wikipedia></computer> ou
    <computer>eu.org</computer>. Ainsi, dans
    <computer>mail.foobar.eu.org</computer>,
    <computer>foobar.eu.org</computer> est le domaine organisationnel
    et <computer>eu.org</computer> le suffixe public, ou domaine
    d'enregistrement.</item>
  </enum>
  Armé de cela (mais il y a d'autres termes, que je présenterai au fur
  et à mesure), on peut passer à la section 4, qui explique les
  concepts importants.</p>
  <p>DMARC permet à un titulaire de domaine d'annoncer sa politique
  d'authentification d'un domaine de l'auteur d'un courrier. On
  n'authentifie donc que le domaine, pas toute l'adresse (je l'ai déjà
  dit mais c'est important). Et DMARC ne s'intéresse qu'à ce qu'il
  appelle le domaine de l'auteur, donc le <computer>From:</computer>
  dans l'en-tête (également appelé « RFC5322.From »). DMARC annonce
  juste une politique, l'authentification est faite avec <wikipedia
  name="Sender Policy Framework">SPF</wikipedia> (<rfc num="7208"
  local="true"/>) ou <wikipedia name="DomainKeys Identified
  Mail">DKIM</wikipedia> (<rfc num="6376" local="true"/>).</p>
  <p>Un concept essentiel dans DMARC est celui
  d'<emphasis>alignement</emphasis>. Il y a alignement quand le
  domaine authentifié par SPF (celui de l'enveloppe, le
  « RFC5321.From ») ou par DKIM (celui indiqué dans le
  <computer>d=</computer> de la signature) coïncide avec le domaine de
  l'auteur (celui du <computer>From:</computer> de l'en-tête). Plus
  précisément, il peut y avoir un alignement strict (les deux noms de
  domaine sont identiques) ou relâché (les deux noms sont dans le même
  domaine organisationnel). Le choix se fait dans l'enregistrement
  DMARC publié.</p>
  <p>Justement, on le publie où ? Via le <wikipedia name="Domain Name
  System">DNS</wikipedia>, dans un enregistrement de type TXT, publié
  dans le sous-domaine <computer>_dmarc</computer>, par exemple :
  <code>
% dig +short _dmarc.proton.me TXT
"v=DMARC1; p=quarantine; fo=1; aspf=s; adkim=s;"
  </code>
  On bénéficie ainsi de toute l'infrastructure,
  très fiable et éprouvée, du DNS. Ce sous-domaine
  <computer>_dmarc</computer> figure dans <link
  url="https://www.iana.org/assignments/dns-parameters/dns-parameters.xml#underscored-globally-scoped-dns-node-names">le
  registre IANA des noms commençant par un trait bas</link>, créé par le <rfc
  num="8552" local="true"/>.</p>
  <p>Au passage, si vous voulez voir (ou enregistrer), sur un serveur DNS faisant
  autorité, uniquement les requêtes DNS pour le sous-domaine
  <computer>_dmarc</computer>, <link url="https://www.dns-oarc.net/tools/dnscap">dnscap</link> permet
  de le faire facilement :
  <code>
% dnscap -g -x _dmarc   
  </code>
  (Je triche un peu, le <computer>-x</computer> attrape en effet
  davantage que cela mais ça suffit en première approximation.)</p>
  <p>Le format exact de l'enregistrement DMARC utilise des doublets
  clé=valeur<!-- clé = tag dans l'original -->, comme celui de DKIM. (Sa description formelle, en
  <wikipedia name="Augmented Backus-Naur Form">ABNF</wikipedia> - <rfc
  num="5234" local="true"/> - est dans la section 4.8.) Les clés
  possibles figurent dans <link
  url="https://www.iana.org/assignments/dmarc-parameters/dmarc-parameters.xml#tag">un
  registre IANA</link>. Les plus courantes sont :
  <enum>
    <item><computer>v</computer> : c'est obligatoirement le premier
    doublet clé=valeur et il indique la version de DMARC, actuellement
    <computer>DMARC1</computer>.</item>
    <item><computer>p</computer> : c'est la clé la plus importante,
    celle qui indique la politique à appliquer aux messages qui ne
    passent pas la validation DMARC. Une valeur
    <computer>reject</computer> indique que le titulaire du domaine
    recommande le rejet des messages invalides (cela ne peut être
    qu'une recommandation, car le récepteur du courrier reste
    évidemment libre de sa politique). <computer>quarantine</computer>
    recommande une mise en attente quelque part (un dossier
    « peut-etre-spam » par exemple). Enfin, <computer>none</computer>
    indique qu'on recommande de ne rien faire. Cela peut être utilisé
    quand on craint les conséquences de DMARC sur certains usages
    (cf. <rfc num="7960" local="true"/>) mais qu'on pense que certains
    récepteurs vont mal traiter les messages des domaines sans
    DMARC. Ou bien cela peut être utile dans certains audits « de
    sécurité » qui demandent un enregistrement DMARC, n'importe
    lequel. Enfin, un <computer>p=none</computer> peut être utilisé
    lors d'un déploiement progressif de DMARC, quand on veut juste
    tester, avant de publier une politique plus fasciste. Comme DMARC
    permet de solliciter l'envoi de rapports d'erreur, un
    <computer>p=none</computer> peut être accompagné d'une telle
    sollicitation.</item>
    <item><computer>sp</computer> : comme <computer>p</computer> mais
    pour les sous-domaines du domaine qui a l'enregistrement
    DMARC. Les valeurs possibles sont les mêmes que pour
    <computer>p</computer>.</item>
    <item><computer>np</computer> : nouveauté, initialement décrite
    dans le <rfc num="9091" local="false"/>. C'est le traitement à
    appliquer aux sous-domaines non-existants du domaine pour lequel
    une politique DMARC est publiée. Les valeurs possibles sont les
    mêmes que pour <computer>p</computer>.</item>
    <item><computer>ruf</computer> : c'est ainsi qu'on sollicite
    l'envoi de rapports d'erreur. On indique les <wikipedia
    name="Uniform Resource Identifier">URI</wikipedia> où envoyer ces
    rapports (souvent des URI de plan <computer>mailto:</computer>,
    pour demander des rapports par courrier). Le format des rapports
    est spécifié dans les <rfc num="9991" local="true"/>, <rfc
    num="6651"/> et <rfc num="6552"/>.  <computer>ruf</computer>
    demande un rapport par message invalide, <computer>rua</computer>
    permet de demander des rapports agrégés. Leur format figure dans
    le <rfc num="9990"
    local="false"/>.</item>
    <item><computer>psd</computer> : nouveauté de notre RFC, s'il a la
    valeur <computer>y</computer>, il
    indique que le domaine est un suffixe public (PSD :
    <foreign>Public Suffix Domain</foreign>), c'est-à-dire un domaine
    dont les sous-domaines peuvent être délégués à d'autres entités
    (comme c'est le cas de
    <computer><wikipedia>.re</wikipedia></computer> ou
<computer>eu.org</computer>).</item>
    <item><computer>fo</computer> : diverses options pour la
    génération de rapports d'erreur.</item>
    <item><computer>adkim</computer> et <computer>adpf</computer> :
    tous les deux peuvent prendre la valeur <computer>s</computer>
    (strict) ou <computer>r</computer> (relâché, ou laxiste). Ils
    indiquent si l'alignement avec l'identificateur authentifié par
    DKIM ou SPF doit être strict (les deux identificateurs sont
    rigoureusement identiques) ou relâché (l'identificateur
    authentifié peut se contenter d'être dans le même domaine
    enregistré que celui qui a un enregistrement DMARC). Par défaut,
    DMARC est laxiste. Notez que cela permet à quelqu'un qui peut
    utiliser un sous-domaine de se faire authentifier comme étant dans
    l'apex (section 11.8 du RFC). Demander un alignement strict résout
    ce problème (mais impose que vous controliez bien les
    sous-domaines).</item>
  </enum>
  Les clés inconnues doivent être ignorées, ce qui permet d'en ajouter
  de nouvelles sans tout casser. La politique pour un éventuel ajout
  est « Spécification nécessaire » (<rfc num="8126" local="true"/>).
  </p>
  <p>On a parlé du domaine organisationnel, l'apex du domaine testé
  par DMARC. C'est en fait une notion administrative, pas technique,
  ce qui fait que ce domaine organisationnel n'est pas évident à
  identifier dans le DNS. Pour le trouver, l'ancien <wikipedia
  name="Request for comments">RFC</wikipedia>, le <rfc num="7489"
  local="false"/>, suggérait de faire appel à une liste de suffixes
  publics, comme la <wikipedia name="Public Suffix List" xml:lang="en">PSL</wikipedia> (rappel : il n'existe
  pas de liste officielle). Notre nouveau RFC suggère une autre
  méthode, en remontant l'arbre des noms de domaine. On commence par
  le domaine qu'on veut authentifier, et, si on n'y trouve pas de
  politique DMARC, on essaie son domaine parent et ainsi de suite,
  jusqu'à ce qu'on trouve un enregistrement DMARC. Ainsi, pour
  <computer>truc.machin.example.com</computer>, on essaiera
  successivement <computer>_dmarc.truc.machin.example.com</computer>,
  <computer>_dmarc.machin.example.com</computer>,
  <computer>_dmarc.example.com</computer> et enfin
  <computer>_dmarc.com</computer>. La dernière requête permet donc au
  <wikipedia name="Verisign">registre</wikipedia> de
  <computer><wikipedia>.com</wikipedia></computer> de définir une
  politique DMARC qui s'appliquera à tous les domaines sans politique
  DMARC. C'est très dangereux, pour les raisons expliquées dans le
  <rfc num="1535" local="false"/> mais cela permet de se passer de
  liste de suffixes publics, et c'est plus souple pour le cas des
  grosses organisations, qui peuvent avoir des politiques DMARC dans
  des sous-domaines qui ne sont pas délégués.</p>
  <p>Notez que l'éventuelle présence de la clé
  <computer>psd</computer> va compliquer les choses mais je n'ai pas
  vraiment le courage de détailler ici l'algorithme complet.</p>
  <p>Maintenant, voyons quels sont les acteurs d'un déploiement de
  DMARC. D'abord, le titulaire du domaine qui envoie des messages. Il
  doit publier un enregistrement SPF à l'apex du domaine. Il doit
  signer les courriers sortants avec DKIM (ce qui implique de publier
  les clés publiques DKIM dans le DNS). Notez que DMARC n'a pas besoin
  de SPF <emphasis>et</emphasis> de DKIM, un seul des deux suffit
  mais, bon, autant tout faire. Il a intérêt à créer une boite dédiée
  pour recevoir les rapports sur les messages invalides. Le titulaire
  doit enfin publier dans le DNS l'enregistrement DMARC (celui qui
  commence par <computer>_dmarc</computer>). Au début, on utilise
  typiquement une politique indulgente
  (<computer>p=none</computer>). Puis on teste.</p>
  <p>Comment teste t-on ? En lisant les rapports indiquant des
  messages invalides (<rfc num="9990"/> et <rfc num="9991" local="true"/>). Les
  rapports agrégés sont du
  <wikipedia name="Extensible Markup Language">XML</wikipedia>, assez
  lisibles par un humain mais, en pratique, on préférera typiquement
  utiliser un programme qui les synthétisera dans une forme plus
  lisible. (Je n'utilise pas actuellement un tel programme, car je
  n'en ai pas trouvé. Il faut qu'il tourne en local - pas question de
  confier les rapports à un tiers - et ne nécessite pas d'installer
  toute une batterie de cuisine <wikipedia name="PHP: Hypertext
  Preprocessor">PHP</wikipedia> et <wikipedia>MariaDB</wikipedia>.)
  Une fois qu'on a trouvé les problèmes (une application oubliée dans
  un coin qui envoie des courriers sans passer par les serveurs
  centraux…) et qu'on les a corrigés, on peut durcir la politique
  (<computer>p=quarantine</computer>, par exemple). Il est raisonnable
  d'attendre plusieurs semaines, voire mois, pour être sûr d'avoir vu
  tous les problèmes.</p>
  <p>(Et si vous êtes gérant d'un suffixe public - - un domaine sous
  lequel d'autres entités peuvent enregistrer des noms, demandez-vous
  si vous devez publier du DMARC avec <computer>psd=y</computer>. Ce
  n'est pas obligatoire, cf. section 5.2.)</p>
  <p>Et le récepteur du courrier, que doit-il faire ? Il extrait du
  message le domaine de l'auteur. Il cherche s'il y a un
  enregistrement DMARC. Il exécute les tests SPF et DKIM. S'il
  récupère un ou plusieurs domaines authentifiés, il vérifie
  l'alignement (strict ou relâché). Si au moins un domaine authentifié
  est aligné avec le domaine de l'auteur, le test DMARC est un
  succès. Sinon, c'est un échec. Notez bien qu'il n'est pas nécessaire
  que SPF et DKIM réussissent tous les deux. Si le test DMARC se
  termine en échec, on applique un traitement, qui dépend de la
  politique suggérée dans l'enregistrement DMARC, et de la politique
  propre du receveur. Voici un exemple où DMARC dit que tout s'est
  bien passé :
  <code>
<![CDATA[
From: "Projet Arcadie" <admin@projetarcadie.com>
Authentication-Results: mail.bortzmeyer.org; dmarc=pass (p=none dis=none) header.from=projetarcadie.com
Authentication-Results: mail.bortzmeyer.org;
        dkim=pass (2048-bit key; unprotected) header.d=projetarcadie.com header.i=@projetarcadie.com header.a=rsa-sha256 header.s=alternc
        header.b=plrnZlsJ;
        dkim=pass (2048-bit key) header.d=projetarcadie.com header.i=@projetarcadie.com header.a=rsa-sha256 header.s=alternc
        header.b=m84VgM5U;
        dkim-atps=neutral
Authentication-Results: mail.bortzmeyer.org; spf=pass (sender SPF authorized) smtp.mailfrom=projetarcadie.com (client-ip=91.194.60.11;
        helo=arcadieweb01.octopuce.fr; envelope-from=admin@projetarcadie.com; receiver=bortzmeyer.org)
]]>
  </code>
  Ici, il y avait un enregistrement SPF (qui autorise l'émetteur
  <wikipedia name="Simple Mail Transfer Protocol">SMTP</wikipedia>
  donc cela suffit), deux signatures DKIM, toutes les deux corrects,
  il y a alignement strict, et donc DMARC passe, il n'y a aucun doute
  que le domaine émetteur était bien
  <computer>projetarcadie.com</computer>. (La politique DMARC était
  <computer>p=none</computer> donc un éventuel échec n'aurait sans
  doute pas eu beaucoup de conséquences.)
  </p>
  <p>Ici, DKIM a échoué (pourquoi ? mystère mais c'est peut-être la
  faute de <wikipedia>SpamAssassin</wikipedia> qui a modifié le sujet,
  il faudrait que je vérifie ma configuration) mais SPF réussit (le
  message vient bien de Gmail) donc DMARC est content (il
  s'agissait bien d'un spam, tentative d'escroquerie financière) :
<code>
<![CDATA[
Authentication-Results: mail.bortzmeyer.org;
        dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com
        header.a=rsa-sha256 header.s=20230601 header.b=K6F+sj7y;
        dkim-atps=neutral
Authentication-Results: mail.bortzmeyer.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: mail.bortzmeyer.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com
        (client-ip=2a00:1450:4864:20::133; helo=mail-lf1-x133.google.com; envelope-from=mrsbalex@gmail.com;
        receiver=sources.org)
From: "Mr. Mike Christopher" <mrsbalex@gmail.com>
]]>
</code>
  </p>
  <p>Et ici, un échec, SPF est correct, il n'y a pas de signature DKIM
  et il n'y a pas d'alignement des domaines, la tentative du spammeur
  pour se faire passer pour <computer>saison.co.jp</computer> échoue :
  <code>
<![CDATA[
From: 株式会社クレディセゾン <admin@saison.co.jp>
Authentication-Results: mail.bortzmeyer.org; dmarc=fail (p=none dis=none) header.from=saison.co.jp
Authentication-Results: mail.bortzmeyer.org; spf=pass (sender SPF authorized) smtp.mailfrom=zh-cht-jjb.com (client-ip=34.130.185.194;
        helo=zh-cht-jjb.com; envelope-from=admin@zh-cht-jjb.com; receiver=bortzmeyer.org)
]]>
  </code>
  </p>
  <p>Et ici, l'émetteur tente de faire croire qu'il vient de
  <wikipedia>Gmail</wikipedia> mais l'<link
  url="https://dns.bortzmeyer.org/gmail.com/TXT">enregistrement SPF de
  Gmail</link> se termine par un <computer>~all</computer>, son
  adresse IP n'y est pas listée et il n'y a pas de signature DKIM dans
  le message. Même pas besoin de tester l'alignement puisqu'il n'y a
  pas de domaine authentifié du tout :
  <code>
<![CDATA[
From: Axel.Bouvier <mailrmicro+Axel.Bouvier@gmail.com>
Authentication-Results: mail.internatif.org; dmarc=fail (p=none dis=none) header.from=gmail.com
Authentication-Results: mail.internatif.org; spf=softfail (domain owner discourages use of this host)
        smtp.mailfrom=gmail.com (client-ip=78.246.109.210; helo=gmail225.com;
        envelope-from=mailrmicro+axel.bouvier@gmail.com; receiver=internatif.org)
]]>
  </code>
  De nombreux autres exemples, avec succès ou échec, figurent dans l'annexe B du RFC.
  </p>
  <p>C'est pas mal si le récepteur de courrier qui fait tourner DMARC
  en profite pour générer les rapports (<rfc num="9991" local="true"/>), s'ils sont
  demandés (par un <computer>ruf</computer> ou un
  <computer>rua</computer> dans l'enregistrement DMARC de
  l'envoyeur). Néanmoins, le RFC note qu'il peut ne pas le faire, s'il
  craint pour la vie privée (cf. section 10) ou tout simplement si ça
  lui consomme trop de ressources.</p>
  <p>D'ailleurs, le RFC insiste bien sur un point que j'avais déjà
  mentionné : la décision finale (de livrer le message, ou de le
  mettre dans le dossier Spam ou de le jeter) revient
  <emphasis>toujours au destinataire</emphasis> (section 5.4). Celui-ci applique la
  politique qu'il veut. Il serait ridicule de croire que, parce qu'on
  a SPF, DKIM et DMARC bien configurés, nos messages seraient
  systématiquement livrés. Après tout, un spammeur peut en faire
  autant.</p>
  <p>À l'inverse, un récepteur peut parfaitement décider d'acheminer
  jusqu'à ses utilisateurices un message qui échoue aux testes DMARC,
  par exemple parce qu'il a lu le <rfc num="7960" local="true"/> (et
  la section 7.4 de notre RFC) et qu'il sait que DMARC échoue dans des
  cas d'usage pourtant légitimes, notamment les <wikipedia name="Liste de diffusion">listes de
  diffusion</wikipedia>. DMARC fournit de la traçabilité et de la
  responsabilité, il n'est pas un oracle tout-puissant sur
  l'authenticité du message.</p>
  <p>La section 7 du RFC est surtout intéressante pour les
  historien·nes et pour les technicien·nes qui veulent comprendre les
  choix faits par DMARC. C'est un pot-pourri de diverses
  discussions.</p>
  <p>D'abord, <wikipedia name="Sender Policy
  Framework">SPF</wikipedia>. SPF a été conçu pour être utilisable
  pendant la session <wikipedia name="Simple Mail Transfer
  Protocol">SMTP</wikipedia>, parfois avant même que l'en-tête du
  message ait été transmis. Une politique SPF « dure » (se terminant
  en <computer>-all</computer>) peut amener au rejet du message avant
  que DMARC n'ait été évalué. Ainsi, si un message échoue en SPF mais
  réussit en DKIM, normalement, DMARC réussirait. Mais, si le test SPF
  mène à un rejet dès la session SMTP, le message n'arrivera
  pas. Attention donc en configurant vos enregistrements SPF. (Relisez
  les « <foreign><link
  url="https://www.m3aawg.org/sites/default/files/doc_files/m3aawg_managing-spf_records-2017-08.pdf">M3AAWG Best
  Practices for Managing SPF Records</link></foreign> » et
  « <foreign><link
  url="https://www.m3aawg.org/sites/default/files/m3aawg-email-authentication-recommended-best-practices-09-2020.pdf">M3AAWG
  Email Authentication Recommended Best
  Practices</link></foreign> ».)</p>
  <p>Et à propos de rejet précoce (dans le cours de la session SMTP,
  avant d'avoir accepté le message) : le RFC recommande cette méthode
  car elle évite la génération d'un avis de non-remise (<rfc
  num="3464" local="false"/>), avis qui irait sans doute à un innocent
  si l'adresse était usurpée. Deux façons de mettre en œuvre ce rejet
  précoce, en renvoyant un code d'erreur (commençant par 5 <rfc
  num="5321" local="true"/>, section 4.2.5) au client SMTP, qui saura
  ainsi que son message a été refusé, ou, plus méchamment, en
  prétendant que le message a bien été reçu (code commençant par 2)
  mais en le jetant silencieusement. La deuxième solution est
  évidemment horrible (le serveur SMTP ment, l'émetteur ne sait pas ce
  qui s'est passé, le déboguage devient très difficile) mais elle est
  parfois nécessaire pour éviter le <foreign>backscatter</foreign>,
  l'envoi de messages d'erreur à un innocent, une des plaies du spam
  qui usurpe votre adresse. Et elle évite de donner des informations à
  quelqu'un qu'on estime être un usurpateur.</p>
  <p>Contrairement à ce qu'on voit dans <link
  url="https://next.ink/1202/securite-emails-trop-peu-fr-sont-proteges-quid-quatre-fai-nationaux/">certains
  articles pro-DMARC imprudents</link> qui promeuvent DMARC sans
  insister sur ses limites et ses faiblesses, notre RFC précise bien
  qu'il y a des cas où DMARC pose problème (sections 7.3 et 7.4). Par
  exemple, citant le <rfc num="7960" local="true"/>, il rappelle que
  DMARC peut casser des cas d'usage légitimes comme les adresses
  d'anciens élèves que certaines universités fournissent (en faisant
  suivre automatiquement le courrier à l'adresse actuelle), comme des
  alias où le courrier vers une même adresse est distribuée à
  plusieurs personnes, qui ne sont pas forcément dans le même domaine,
  ou comme les <wikipedia name="Liste de diffusion">listes de
  diffusion</wikipedia>. Pour les deux premiers cas, des solutions
  relativement simples existent (réécrire l'enveloppe pour ne pas
  casser SPF, ce qui est de toute façon une bonne pratique car
  l'envoyeur du message ne saurait pas quoi faire si la vraie adresse
  finale ne marcherait pas) et ne pas du tout toucher au message, pour
  éviter de casser DKIM), pour les listes de diffusion, c'est plus
  délicat. En pratique, plusieurs gestionnaires de liste adoptent la
  solution très intrusive de réécrire le champ
  <computer>From:</computer> comme ici dans ce message envoyé à une
  liste de l'<link url="https://dns-oarc.net/">OARC</link> (le vrai
  <computer>From:</computer> a été reporté en
  <computer>Reply-To:</computer>) :
  <code>
<![CDATA[
Authentication-Results: nic.fr;
        spf=pass smtp.mailfrom=dns-operations-bounces@dns-oarc.net;
        dmarc=pass header.from=dns-oarc.net
Reply-To: Walter Russo <walter@secureme.it>
From: Walter Russo via dns-operations <dns-operations@dns-oarc.net>
]]>
</code>
  Le problème est évidemment particulièrement sérieux si on a une
  politique DMARC restrictive (<computer>p=reject</computer>) et le
  RFC conseille fortement dans ce cas de systématiquement signer avec
  DKIM, pour éviter de compter sur le seul SPF (qui sera cassé par les
  serveurs qui font suivre un message sans réécrire l'enveloppe). Et
  il rappelle aux récepteurs de courrier qu'il est très imprudent de
  rejeter un message sur la seule base de DMARC. Ces consignes, qui ne
  sont pas toujours respectées par les serveurs actuels, sont
  cruciales pour le bon fonctionnement du courrier. Le RFC note bien
  ce problème de filtrage excessif et explique que c'est ce qui a mené
  plusieurs gestionnaires de liste à tripoter le champ
  <computer>From:</computer>, par exemple en changeant le vrai champ
  <computer>bob@example.com</computer> en un
  <computer>bob=example.com@user.somelist.example</computer>, où on
  peut toujours retrouver la vraie adresse. (On ajoute également
  parfois un <computer>Reply-To:</computer> indiquant la vraie adresse
  de l'expéditeur, comme dans l'exemple ci-dessus.) Le RFC n'approuve
  pas cette modification mais note qu'elle est répandue et qu'il faut
  faire avec. Il existe des solutions techniquement plus propres comme
  le ARC du <rfc num="8617" local="false"/><!-- draft-ietf-dmarc-arc-to-historic/ --> mais que presque personne
  n'utilise.
  </p>
  <p>En résumé, pour faire du DMARC complet, l'émetteur du courrier
  devrait idéalement :
  <enum>
    <item>Produire des messages qui auront un identificateur SPF
    aligné avec le domaine de l'auteur (une exigence qui me parait
    très excessive),</item>
    <item>produire des messages avec une signature DKIM valide et
    alignée,</item>
    <item>configurer une boite aux lettres qui recevra les
    rapports,</item>
    <item>publier l'enregistrement DMARC (je rajoute : après avoir
    soigneusement testé les trois points précédents),</item>
    <item>ne pas compter sur le seul SPF.</item>
  </enum>
  Et le receveur devrait idéalement :
  <enum>
    <item>Tester s'il y a un enregistrement DMARC pour le domaine de
    l'auteur,</item>
    <item>tester s'il y a des identificateurs authentifiés par SPF ou
    DKIM,</item>
    <item>tester si au moins l'un d'entre eux est aligné avec le
    domaine de l'auteur,</item>
    <item>déterminer ainsi si le résultat final est
    <foreign>pass</foreign> ou <foreign>fail</foreign>,</item>
    <item>envoyer des rapports, si demandé,</item>
    <item>ne <emphasis>pas</emphasis> rejeter des messages juste parce
    qu'il y a eu un échec DMARC, même si la politique de l'émetteur
    est <computer>p=reject</computer>.</item>
  </enum>
  </p>
  <p>La section 11 du RFC creuse les questions de sécurité. Que
  faut-il savoir pour utiliser DMARC de manière sûre ? D'abord, DMARC
  est évidemment dépendant des mécanismes d'authentification utilisés,
  SPF et DKIM (le groupe de travail <wikipedia name="Internet
  Engineering Task Force">IETF</wikipedia> avait même envisagé de
  supprimer SPF, considéré comme trop permissif). Si vous <link
  url="https://infosec.exchange/@badkeys/116407565746342278">publiez
  votre clé privée DKIM</link>, DMARC ne pourra rien pour vous. Et
  SPF, DKIM et DMARC dépendent tous les trois du <wikipedia
  name="Domain Name System">DNS</wikipedia> donc il est crucial de
  gérer ses serveurs DNS sérieusement. Malheureusement, les RFC sur
  ces trois techniques n'imposent pas <wikipedia name="Domain Name
  System Security Extensions">DNSSEC</wikipedia> (<rfc num="9364"
  local="false"/>) mais ils devraient : sans DNSSEC, l'envoi de
  fausses informations dans le DNS est plus facile. Compter sur SPF,
  DKIM et DMARC sans avoir DNSSEC me semble peu sérieux mais, bon, le
  vrai but de la cybersécurité est de réussir l'audit de conformité,
  pas d'améliorer la sécurité concrète. D'autre part, l'examen du
  trafic DNS (qui n'est pas limité aux deux parties qui s'envoient du
  courrier) donne des informations sur le trafic. Utiliser
  <wikipedia name="DNS over TLS">DoT</wikipedia> (<rfc num="7858" local="true"/>) ou
  <wikipedia name="DNS over HTTPS">DoH</wikipedia> (<rfc num="8484"
  local="true"/>) peut donc être une bonne idée.</p>
  <p>Comme toujours en ingéniérie, d'autres solutions techniques
  auraient été possibles. L'annexe A de notre RFC examine certaines de
  ces alternatives et explique pourquoi elles n'ont pas été
  retenues. Ainsi, on aurait pu utiliser <wikipedia>S/MIME</wikipedia>
  (<rfc num="8551" local="false"/>) pour signer le message,
  ajoutant cette technique à SPF et DKIM. Mais S/MIME a un cahier des
  charges différent de celui de DMARC, il vise plutôt à une
  authentification de bout en bout du message entier. Et puis il faut
  bien constater qu'en dehors de quelques environnements
  bureaucratiques fermés,
  personne n'utilise S/MIME. C'est en partie dû à la nécessité d'une
  <wikipedia name="Infrastructure à clés publiques">PKI</wikipedia>, dont le RFC note qu'elle a été souvent
  promise mais ne s'est jamais matérialisée. (Curieusement, le RFC ne
  cite pas <wikipedia>OpenPGP</wikipedia> - <rfc local="true"
  num="9580"/> - qui est pourtant nettement plus utilisé que
  S/MIME.)</p>
  <p>Une autre décision de conception cruciale de DMARC est le fait
  d'accepter n'importe quelle technique d'authentification ; SPF ou
  DKIM, c'est pareil pour lui. Il a pourtant été souvent proposé de
  permettre au titulaire du domaine de spécifier, dans
  l'enregistrement DMARC, 
  de préciser qu'on ne veut que SPF, ou que DKIM. Mais DMARC est assez
  compliqué comme cela et la décision a finalement été de permettre
  l'une ou l'autre des méthodes d'authentification. Débrouillez-vous
  pour qu'au moins une (et de préférence les deux) fonctionne.</p>
  <p>Un point essentiel de DMARC est qu'il authentifie l'expéditeur
  (plus exactement son alignement) en
  considérant que l'expéditeur est indiqué par le champ
  <computer>From:</computer> de l'en-tête. Cela casse bien des usages
  légitimes (comme les listes de diffusion). Ne serait-il pas
  préférable d'authentifier un champ plus technique comme
  <computer>Sender:</computer> (<rfc num="5322" local="true"/>,
  section 3.6.2) ? Cela avait même été spécifié dans le <rfc
  num="4870" local="false"/>, puis retiré. Finalement, le choix a été
  de se concentrer sur <computer>From:</computer> puisqu'il est le
  seul à être toujours montré à l'utilisateur. (SPF, comme DKIM,
  peuvent authentifier un identificateur que l'utilisateur ordinaire
  ne voit pas.)</p>
  <p>Notre <rfc num="9989"/> introduit une nouvelle clé,
  <computer>np</computer>, qui spécifie la politique à appliquer aux
  sous-domaines non-existants du domaine authentifié. Cela soulève le
  problème de la définition de non-existant. Le RFC dit que cela
  inclut les réponses NXDOMAIN (<foreign>No Such Domain</foreign>),
  évidemment, mais pas forcément les réponses NOERROR où la section
  Réponses est vide, car le nom existe mais ne contient ni
  enregistrement MX, ni enregistrement d'adresse (A ou AAAA). Ce test
  de la présence de certains types d'enrgeistrement est déjà
  couramment utilisé en pratique (il n'y a aucune raison d'accepter du
  courrier d'un domaine qui ne permettrait pas les réponses) mais le
  RFC ne l'impose pas. Et, sinon, le RFC rappelle que, si une requête
  pour un domaine renvoie NXDOMAIN, tous ses sous-domaines n'existent
  pas non plus (<rfc num="8020" local="true"/>).</p>
  <p>Évidemment, un débat ancien et récurrent pour DMARC est celui des
  frontières organisationnelles. Comment sait-on si
  <computer>cis.cnrs.fr</computer> dépend de la même autorité que
  <computer>cnrs.fr</computer> (ou bien
  <computer>pick.eu.org</computer> et <computer>eu.org</computer>). Il
  n'y a pas de réel moyen de trouver cette information dans le
  DNS. (On peut trouver les frontières <emphasis>techniques</emphasis>
  en demandant l'enregistrement de type SOA. Mais cela ne donne pas
  les frontières
  <emphasis>administratives</emphasis>. <computer>gouv.fr</computer>
  n'est pas géré par la même organisation que <computer>fr</computer>,
  même s'ils sont dans la même zone.) Des efforts ont été faits à
  l'<wikipedia name="Internet Engineering Task Force">IETF</wikipedia>
  pour résoudre ce problème mais <link local="fin-dbound">sans
  résultat</link>. L'ancien RFC DMARC, le <rfc num="7489"
  local="false"/> suggérait d'utiliser une <wikipedia name="Public
  Suffix List" xml:lang="en">liste de suffixes d'enregistrement</wikipedia> mais
  notre <rfc num="9989"/> a finalement préféré une autre méthode,
  la « montée à l'arbre » (on grimpe l'arbre des noms de domaine,
  cherchant des enregistrements DMARC).</p>
  <p>Passons à la pratique, maintenant. OpenDMARC est aujourd'hui très
  répandu, aussi bien côté envoyeur que côté récepteur, et apparait
  souvent dans les articles de marketing « comment s'assurer que votre
  spam pardon votre <foreign>newsletter</foreign> sera bien livrée
  partout ». Sur mon serveur de messagerie personnel, j'<link
  url="https://dns.bortzmeyer.org/_dmarc.bortzmeyer.org/TXT">annonce
  une politique DMARC</link> et, pour valider les messages entrants,
  j'utilise <link
  url="https://github.com/trusteddomainproject/OpenDMARC">OpenDMARC</link>
  (notez que son développement semble bien <link
  url="http://www.trusteddomain.org/opendmarc/">avoir stoppé</link> et
  qu'il y a donc peu de chances qu'il prenne en compte les nouveautés
  de ce RFC). Ma configuration est très proche de celle par défaut :
  <code>
<![CDATA[
Socket inet:54321
# Les autres ont leur valeur par défaut	 
]]>
  </code>
  Et <wikipedia>Postfix</wikipedia> le lance ainsi, juste après DKIM :
  <code>
smtpd_milters = unix:run/opendkim.sock, inet:localhost:54321
  </code>
  Et c'est ainsi que sont produits les champs
  <computer>Authenticated-Results:</computer> que vous avez vus.</p>
  <p>Pour apprendre DMARC, je recommande l'excellent et interactif <computer><link
  url="https://www.learndmarc.com/"/></computer>. Pour tester votre
  configuration, comme d'habitude, il existe de <link
  local="repondeurs-courrier-test">nombreux services</link>.</p>
  <p>Le chemin vers ce RFC a <link
  url="https://datatracker.ietf.org/doc/draft-ietf-dmarc-dmarcbis/">été
  très long</link> (plusieurs années). L'annexe C du RFC résume les
  changements depuis le précédent RFC, le <rfc num="7489"
  local="false"/>. Les principaux sont :
  <enum>
    <item>Nouvel algorithme (« montée dans l'arbre » pour trouver le
    domaine organisationnel, au lieu de l'utilisation d'une liste de
    suffixes publics). C'est la suite du <rfc num="9091" local="false"/>.</item>
    <item>Introduction de nouveaux concepts comme le PSD
    (<foreign>Public Suffix Domain</foreign>) et le PSO
    (<foreign>Public Suffix Operator</foreign>).</item>
    <item>Le RFC n'est plus seulement « Pour information », il passe
    sur le chemin des normes.</item>
    <item>Plusieurs nouvelles clés sont possibles dans
    l'enregistrement DMARC : <computer>np</computer>,
    <computer>psd</computer> et <computer>t</computer>.</item>
    <item>Mise à l'écart de certaines clés comme
    <computer>pct</computer> (partiellement remplacé par
    <computer>t</computer>).</item>
    <item>Résolution des <link
    url="https://www.rfc-editor.org/errata/rfc7489">erreurs du
précédent RFC</link>.</item>
  </enum>
  Les articles suivants sont de bonnes lectures pour les nouveautés de DMARC :
  <enum>
    <item>« <foreign><link
    url="https://dmarcadvisor.com/understanding-dmarcbis/">Understanding
    DMARCbis</link></foreign> ».</item>
    <item>« <foreign><link url="https://blog.101domain.com/dmarc/dmarcbis-is-coming">DMARCbis is coming: New DNS tree walk algorithm and more </link></foreign> ».</item>
    <item>« <foreign><link url="https://redsift.com/guides/dmarcbis-guide">What is DMARCbis: A guide by Red Sift</link></foreign> ».</item>
  </enum>
  </p>
  <!-- TODO IANA :
  https://www.iana.org/assignments/dmarc-parameters/dmarc-parameters.xml#report-format
  Au 2026-04-29, le seul est le afrf du <rfc num="6591"
  local="true"/>. -->
  <!-- Développement à
       https://github.com/ietf-wg-dmarc/draft-ietf-dmarc-dmarcbis -->
</content>
</rfcdesc>
