DMARC (Domain-based Message Authentication, Reporting and Conformance)

DMARC (Authentification, Rapports et Conformité des Messages basés sur le Domaine)
est une spécification technique créée par un groupe d’organisations visant à réduire l’usage abusif des e-mails, tels que le spam, le phishing, en proposant une solution de déploiement et de surveillance des problèmes liés à l’authentification des e-mails et de leurs contenus.

DMARC est un protocole d’authentification des emails, de stratégie de messagerie et de compte rendu de messagerie pour une meilleure sécurisation de l’internet et des échanges. La mise en place d’un enregistrement DMARC nécessite la mise en place préalable des enregistrements SPF et DKIM.

L’enregistrement DMARC habilite les entrées SPF et DKIM en énonçant une stratégie claire qui doit être utilisée pour les 2, et permet de définir une adresse pouvant être utilisée pour envoyer des rapports sur les statistiques de messagerie collectées sur le domaine spécifique par les destinataires et récepteurs.

Créer un enregistrement DMARC pour votre domaine permet de garantir que les e-mails légitimes s’authentifient correctement par rapport aux normes DKIM et SPF établies, et que les activités frauduleuses qui semblent provenir de domaines sous le contrôle d’une marque sont bien bloquées.

En pratique, DMARC standardise la façon dont les destinataires des emails réalisent l’authentification des messages reçus en utilisant les mécanismes de SPF (Sender Policy Framework) et DKIM (DomainKeys Identified Mail). Cela signifie que l’expéditeur du message recevra les résultats de l’authentification de ses messages par les différents services de messagerie (Gmail, Hotmail, Yahoo!, etc.) et tout autre destinataire qui implémente DMARC.

Une politique d’authentification DMARC autorise l’expéditeur à indiquer que ses e-mails sont protégés par SPF et/ou DKIM, et précise au destinataire ce qu’il doit faire dans le cas où ces 2 méthodes d’authentification (SPF et DKIM) échouent (par ex : rejeter tous les emails sans DKIM et prévenir une adresse email). DMARC supprime les assertions/hypothèses que le destinataire doit formuler à propos de la façon de gérer ces messages en échec, en limitant ou en supprimant l’exposition de l’utilisateur aux messages potentiellement frauduleux ou dangereux. DMARC fournit également un moyen pour les destinataires de rendre compte à l’émetteur du message qu’il a réussi ou bien échoué à l’évaluation DMARC effectuée à la réception.

Conseils pour la mise en place d’un enregistrement DMARC :

  • ● DMARC.org fournit les informations nécessaires pour comprendre et créer un enregistrement DMARC.
  • ● Définissez la stratégie (p=) sur p=none pour obtenir des rapports lors de la première création de DMARC. Si la stratégie est définie sur p=reject (rejeter) avant d’analyser les rapports, l’expéditeur rencontrera probablement des problèmes de délivrabilité ou remise de messages. Ne changez pas votre politique à «quarantine» (quarantaine) et «reject» (rejeter) avant d’acquérir de l’expérience grâce à la compréhension des effets sur votre programme de messagerie.

DMARC et le processus d’authentification par courrier électronique

DMARC est conçu pour s’intégrer dans le processus d’authentification de courrier électronique entrant existant d’une organisation. La façon dont cela fonctionne consiste à aider les destinataires des e-mails à déterminer si le prétendu message «correspond» à ce que le destinataire sait de l’expéditeur et parvient authentifier le message. Sinon, DMARC inclut des conseils sur la façon de gérer les messages «non alignés». Par exemple, en supposant qu’un récepteur déploie SPF et DKIM, ainsi que ses propres filtres anti-spam, le flux peut ressembler à ceci :

Dans l’exemple ci-dessus, le test d’alignement selon DMARC est appliqué au même point où l’ADSP serait appliqué dans le flux. Tous les autres tests restent inchangés.

À un niveau élevé, DMARC est conçu pour répondre aux exigences suivantes :

  •   Minimiser les faux positifs.
  • •  Fournir des rapports d’authentification robustes.
  • •  Affirmer la politique de l’expéditeur aux destinataires.
  • •  Réduire la livraison de phishing réussie.
  •  Travailler à l’échelle globale Internet.
  •  Minimiser la complexité.

Il est important de noter que DMARC s’appuie à la fois sur les spécifications DomainKeys Identified Mail (DKIM) et Sender Policy Framework (SPF) qui sont actuellement en cours de développement au sein de l’IETF (Internet Engineering Task Force). DMARC est conçu pour remplacer ADSP (Author Domain Signing Practices) en ajoutant la prise en charge de :

  •  les règles ‘Wildcard’ ou de sous-domaine,
  •  sous-domaines inexistants,
  •  déploiement lent (par exemple, pourcentage d’expériences),
  •  SPF,
  •  courrier en quarantaine.

Anatomie d’un enregistrement DMARC dans le DNS

Les politiques DMARC sont publiées dans le DNS sous forme d’enregistrements texte (TXT) et annoncent ce que le destinataire d’un e-mail doit faire avec le courrier non aligné qu’il reçoit.

Prenons un exemple d’un enregistrement DMARC TXT pour le domaine «sender.dmarcdomain.com» qui se lit comme suit :

"v=DMARC1;p=reject;pct=100;rua=mailto:postmaster@dmarcdomain.com"
Dans cet exemple ci-dessus, l’expéditeur demande que le destinataire rejette carrément tous les messages non alignés et envoie un rapport, dans un format d’agrégation spécifié, sur les refus à une adresse spécifiée. Si l’expéditeur testait sa configuration, il pourrait remplacer «rejeter» par «quarantaine», ce qui indiquerait au destinataire qu’il ne devrait pas nécessairement rejeter le message, mais envisager de le mettre en quarantaine.

Les enregistrements DMARC suivent la syntaxe extensible «tag-value» pour les enregistrements de clés basés sur le DNS définis dans le DKIM. Le graphique suivant illustre certaines des balises disponibles :

Nom du tagObjectifÉchantillon
vVersion du protocolev=DMARC1
PCTCette balise DMARC spécifie le pourcentage d’e-mails soumis au filtrage. Par exemple, pct=25 signifie qu’un quart des e-mails de votre entreprise sera filtré par le destinataire.pct=20
rufCette balise est facultative. Elle dirige les adresses auxquelles les informations forensic spécifiques au message doivent être rapportées.ruf=mailto: authfail@example.com
ruaCette balise facultative est conçue pour signaler des URI (s) pour des données agrégées.rua=mailto: aggrep@example.com
pLa balise p requise illustre la politique du domaine (ou la politique de traitement demandée). Il demande au destinataire de signaler, de mettre en quarantaine ou de rejeter les e-mails qui échouent aux vérifications d’authentification. Les options de politique sont: 1) Aucune 2) Quarantaine ou 3) Rejeter.p=quarantine
spCette balise représente la politique de traitement demandée pour les sous-domaines.sp=reject
adkimLa balise adkim facultative est le mode d’alignement du protocole DKIM. Un exemple de tag est adkim=r.adkim=s
aspfLa balise aspf représente le mode d’alignement pour SPF. Une balise facultative, aspf=r est un exemple courant de sa configuration.aspf=r

REMARQUE: Les exemples de ce tableau sont uniquement illustratifs et ne doivent pas être utilisés à la place de la spécification. Veuillez vous référer à la page de spécifications pour la version la plus récente et la plus précise.

Comment les expéditeurs déploient DMARC en 5 étapes faciles

DMARC a été conçu sur la base de l’expérience du monde réel par certains des plus grands expéditeurs et récepteurs d’e-mails au monde déployant SPF et DKIM. La spécification tient compte du fait qu’il est presque impossible pour une organisation de basculer un interrupteur en production. Il existe un certain nombre de méthodes intégrées pour «limiter» le traitement DMARC afin que toutes les parties puissent faciliter le déploiement complet au fil du temps.

  1. Déployez DKIM et SPF. Vous devez d’abord couvrir les bases.
  2. Assurez-vous que vos expéditeurs alignent correctement les identifiants appropriés.
  3. Publiez un enregistrement DMARC avec l’indicateur «none» (aucune) défini pour les règles, qui demande des rapports de données.
  4. Analysez les données et modifiez vos flux de messagerie selon les besoins.
  5. Modifiez vos indicateurs de règles DMARC de «none» (aucune) à «mise en quarantaine» pour «rejeter» au fur et à mesure que vous acquérez de l’expérience.

Source : https://dmarc.org/overview/

Si vous voulez créer un enregistrement DMARC simple et sans aucune politique :

v=DMARC1; p=none
Ce qui nous donne l’enregistrement suivant :
_dmarc.domaine.com  33200 TXT   "v=DMARC1; p=none"

Configuration DNS
Création des enregistrements DNS de type TXT pour SPF, DKIM et DMARC :

EnregistrementDomaineTypeValeur
SPF<DOMAIN>TXT« v=SPF1 a mx ip4:<EXTERNAL_IPv4> ip6:<EXTERNAL_IPv6> -all »
DKIM<TOKEN>._domainkey.<DOMAIN>TXT« v=DKIM1; k=rsa; p=<DKIM_PUBLIC_KEY> »
DMARC_dmarc.<DOMAIN>TXT« v=DMARC1; p=none »

Exemple avec le domaine exemple.com :

enregistrementDomaineTypeValeur
SPFexemple.comTXT« v=SPF1 a mx ip4:XX.XXX.XX.XX ip6:XXXX:XXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX -all »
DKIMdefault_domainkey.exemple.comTXT« v=DKIM1; k=rsa; p=MIGfMA0… »
DMARC_dmarc.exemple.comTXT« v=DMARC1; p=none »

Pour en savoir plus et créer puis déployer et tester votre enregistrement DMARC :

https://dmarc.org/

https://dmarc.org/resources/deployment-tools/

https://dmarc.org/resources/deployment-tools/

https://www.globalcyberalliance.org/dmarc/

https://www.globalcyberalliance.org/dmarc-implementation-guides/

https://www.dmarcanalyzer.com/dmarc/dmarc-record-check/

https://dmarcly.com/tools/dmarc-checker