fbpx

Partie 5 : Création d’un enregistrement DMARC pour protéger votre nom de domaine contre l’usurpation d’e-mails

Débutant – Création d’un enregistrement DMARC pour protéger votre nom de domaine

lms 15 4

Vue d'ensemble

Dans la partie 4 de la série de didacticiels sur la création de votre propre serveur de messagerie (version Ubuntu) nous avons implémenté les enregistrements SPF et DKIM pour améliorer la délivrabilité des e-mails.

Dans cette partie, nous allons examiner une autre technologie d’authentification des e-mails : DMARC. Nous verrons comment DMARC peut vous être utile, comment créer un enregistrement DMARC et interpréter le rapport DMARC.

Ce que vous apprendrez

  • Comment créer un enregistrement DMARC
  • l’enregistrement DMARC sur votre DNS
  • Configuration d’OpenDMARC avec le serveur SMTP Postfix
  • Test DMARC
Tutoriels – postfix DMARC

Vous allez apprendre à protéger votre serveur de messagerie contre usurpation grâce à DMARC.

Débutant

12 hrs 43min

Mise à jour le: 3/12/2024

Pré-requis
Divi Theme
Graphic Software

Qu’est-ce que DMARC ?

DMARC (Domain-based Message Authentication, Reporting and Conformance) est une norme Internet (RFC 7489) qui permet aux propriétaires de domaine d’empêcher que leurs noms de domaine soient utilisés par des usurpateurs de courrier électronique.

Il s’agit d’une spécification technique disponible gratuitement et largement prise en charge sur Internet. Toute personne possédant un nom de domaine peut profiter de DMARC.

Une politique DMARC permet à un propriétaire de domaine d’indiquer que les e-mails de son domaine sont protégés par SPF et DKIM.

Vous pouvez utiliser DMARC pour découvrir toutes les sources légitimes de courrier électronique. DMARC s’appuie sur deux technologies existantes : SPF et DKIM.

Ce didacticiel vous montrera comment configurer OpenDMARC avec le serveur SMTP Postfix sur Ubuntu pour bloquer l’usurpation d’e-mails et le spam. OpenDMARC est un filtre de politique de messagerie DMARC open source pour les MTA (Message Transport Agent, alias serveur SMTP).

Si un propriétaire de domaine a créé un enregistrement DNS DMARC pour son nom de domaine et qu’un serveur de messagerie de réception a mis en œuvre la vérification DMARC, alors les acteurs malveillants doivent réussir l’alignement SPF ou l’alignement DKIM afin de réussir la vérification DMARC.

Si la vérification DMARC échoue, l’e-mail usurpé pourrait être rejeté.

Ne jamais être vu par les utilisateurs finaux. Il est difficile pour un acteur malveillant de transmettre SPF ou DKIM, à moins que le serveur de messagerie du propriétaire du domaine ne soit compromis.

Avantages DMARC

Pourquoi DMARC est-il bon pour vous ?

Les avantages du déploiement de DMARC sont :

  • Détection de fraude : les phishers usurpent souvent l’adresse d’en-tête From pour usurper l’identité de grandes marques. DMARC est un outil puissant pour lutter contre le phishing par email et ainsi protéger votre marque.
  • Envoi d’e-mails simplifié : l’envoi d’e-mails conformes à DMARC permet aux serveurs de messagerie de réception de simplifier les règles de filtrage.
  • La réputation de votre domaine de messagerie peut être améliorée après avoir créé correctement l’enregistrement DMARC.
  • Donne aux expéditeurs une visibilité sur la manière dont les serveurs de messagerie de réception traitent leurs e-mails. Vous pouvez obtenir un rapport sur le nombre d’e-mails légitimes envoyés depuis votre domaine et sur le nombre d’e-mails qui ne peuvent pas être authentifiés, y compris les e-mails légitimes et frauduleux.

Il s’agit d’un problème majeur pour toute organisation qui s’appuie sur le courrier électronique pour ses activités quotidiennes.

Si vous faites du marketing par e-mail, DMARC est un outil indispensable pour faciliter la livraison des e-mails et atteindre les clients.

Presque tous les principaux fournisseurs de boîtes aux lettres destinés aux consommateurs, comme Gmail, Yahoo et Microsoft, demandent à recevoir des e-mails conformes à la norme DMARC pour faciliter leur travail de filtrage des e-mails.

Comment créer un enregistrement DMARC

Les politiques DMARC sont publiées sous forme d’enregistrement TXT dans DNS.

Étape 1 : créer des enregistrements SPF et DKIM

Avant de créer un enregistrement DMARC, vous devez d’abord faire la partie 4 : Configurer SPF et DKIM avec Postfix sur Ubuntu Serveur.

Étape 2 : Alignement des identifiants

Envoyez un e-mail test depuis votre domaine, puis vérifiez-les en-têtes bruts de l’e-mail dans la boîte aux lettres du destinataire.

Vous voulez vous assurer que les domaines dans Return Path , From: header et d=domain dans la signature DKIM sont les mêmes.

Si les trois domaines sont identiques, alors ils sont alignés.

email test brut

Si Return-Path ou DKIM d=utilise un sous-domaine au lieu du nom de domaine principal, cela s’appelle un alignement détendu.

Si aucun sous-domaine n’est utilisé et que les noms de domaines principaux sont les mêmes, on parle d’alignement strict.

Étape 3 : Configuration de l'enregistrement DMARC

Accédez à votre gestionnaire DNS et ajoutez un enregistrement TXT.

Dans le champ Nom, saisissez _dmarc. Dans le champ valeur, saisissez ce qui suit :

Commande :

v=DMARC1; p = aucun ; PCT=100 ; rua=mailto : 2023reports@onetworking.com

dmarc configuration registrar

Explication:

  • v=DMARC1: La version du protocole est DMARC1.
  • p=none: Nous choisissons nonecomme politique pour notre domaine.
  • pct=100: Le pourcentage d’emails de votre domaine DMARC s’applique à
  • ruasignifie URI de rapport pour le rapport global. L’adresse e-mail est utilisée pour indiquer aux serveurs de messagerie de réception où le rapport doit être envoyé. Remplacez- 2023reports@domain.tld la par votre véritable adresse e-mail utilisée pour recevoir le rapport DMARC global.

Vous avez le choix entre 3 polices :

  • none : indique aux serveurs de messagerie de réception de ne rien faire de spécial si la vérification DMARC échoue.
  • Quarantine : indique au serveur de messagerie de réception dans lequel placer l’e-mail quarantine si la vérification DMARC échoue. Il doit être approuvé par un administrateur avant de pouvoir atteindre la boîte de réception du destinataire.
  • Reject : indique aux serveurs de messagerie de réception de rejeter l’e-mail si la vérification DMARC échoue. Notez que tous les serveurs de messagerie de réception ne sont pas conformes à la reject politique. Gmail et Yahoo Mail rejetteront l’e-mail, mais Microsoft Mail (Outlook, Hotmail, Live) ne rejettera pas l’e-mail.

Si votre nom de domaine a déjà envoyé des e-mails, c’est p=none un bon début. Vous devez analyser les données pendant un certain temps pour voir s’il existe des e-mails légitimes qui ne sont pas conformes au DMARC. Une fois que vous disposez de suffisamment de données et que vous avez résolu les problèmes de livraison, vous pouvez modifier la politique de none à quarantine ou reject.

Si vous avez un nouveau nom de domaine qui n’a jamais envoyé d’e-mails auparavant, vous pouvez ignorer none et quarantine définir p=reject.

 

Il existe une autre balise que vous pouvez ajouter à l’enregistrement DMARC : fo. Il a quatre valeurs possibles.

  • 0(par défaut) : générer des rapports si tous les mécanismes d’authentification sous-jacents ne parviennent pas à produire un résultat de réussite DMARC
  • 1 : génère des rapports en cas d’échec d’un mécanisme.
  • d : générer un rapport si la vérification de la signature DKIM a échoué.
  • s : générer un rapport en cas d’échec du SPF

Je recommande d’utiliser fo=1 d’abord pour générer des rapports d’échec DMARC plus complets. Lorsque vous passez à une stratégie plus restrictive, utilisez fo=0.

v=DMARC1; p = aucun ; PCT=100 ; fo=1; rua=mailto : 2023reports@domain.tld

Vous pouvez vérifier votre enregistrement DMARC depuis le terminal Linux avec la commande suivante :

Commande :

dig txt +short _dmarc.domain.tld

dmarc verifier enregistrement

Vous pouvez voir que j’ai utilisé deux adresses e-mail pour recevoir le rapport DMARC, que j’expliquerai plus tard.

Il existe un autre outil de ligne de commande (opendmarc-check) que vous pouvez utiliser pour vérifier l’enregistrement DMARC.

Il est fourni par le opendmarcpackage.

Configuration d'OpenDMARC avec le serveur SMTP Postfix sur Ubuntu 20.04

OpenDMARC est un logiciel open source qui peut effectuer la vérification et la création de rapports DMARC.

Il se trouve déjà dans le référentiel Ubuntu, vous pouvez donc exécuter la commande suivante pour l’installer.

Commande :

sudo apt installer opendmarc

Si vous êtes invité à configurer une base de données pour OpenDMARC avec dbconfig-common, vous pouvez choisir Non en toute sécurité.

Vous n’avez besoin de configurer une base de données pour OpenDMARC que si vous souhaitez générer des rapports DMARC pour d’autres fournisseurs de boîtes aux lettres.

Il n’est pas très utile pour les petits opérateurs de serveurs de messagerie comme nous de générer des rapports DMARC, nous pouvons donc l’ignorer.

opendmark installation

Une fois installé, il sera automatiquement démarré. Vérifiez son statut avec :

Commande :

systemctl statut opendmarc

eosntworking.comopendmarc.service – OpenDMARC Milter  

Chargé : chargé (/lib/systemd/system/opendmarc.service ; désactivé ;

préréglage du fournisseur : activé)  

Actif : actif (en cours d’exécution) depuis le mardi 18/12/2023 à 19:49:52 CST ; il y a 23 s    

Documents : man:opendmarc(8)           homme:opendmarc.conf(5)

PID principal : 14858 (opendmarc)   

Tâches : 6 (limite : 1110)  

Groupe C : /system.slice/opendmarc.service          

                 └─14858 /usr/sbin/opendmarcopendmarc.service

 

Astuce : si la commande ci-dessus ne se termine pas immédiatement, vous pouvez la quitter en appuyant sur la touche Q.

opendmarc-check interroge le DNS pour un enregistrement DMARC pour le domaine nommé, puis traduit le contenu trouvé sous une forme lisible par l’homme.

Opendmarc-check osntworking.com

root@mail:/home/depalain# opendmarc-check domain.tld

DMARC record for domain.tld

        Sample percentage: 100

        DKIM alignment: relaxed

        SPF alignment: relaxed

        Domain policy: none

        Subdomain policy: unspecified

        Aggregate report URIs:

                mailto:2023reports@domain.tld

        Failure report URIs:

                (none)

Si vous disposez d’un nom de domaine qui n’enverra pas d’e-mails, vous devez utiliser p=reject une stratégie.

Commande :
v=DMARC1; p = rejeter ; PCT=100 ;

Test DMARC

Un bon service pour le test DMARC est https://www.mail-tester.com.

Allez sur le site Web, vous verrez une adresse e-mail unique.

Envoyez un e-mail depuis votre domaine à cette adresse, puis vérifiez votre score. (Ce site Web vérifie tous les facteurs qui affectent la délivrabilité des e-mails, pas seulement DMARC).

Si DMARC réussit, vous verrez quelque chose comme ci-dessous dans le résultat du test.

dmark test

Une autre façon de tester DMARC consiste à envoyer un e-mail à check-auth@verifier.port25.com  depuis votre domaine vers votre compte Gmail.

Si DMARC est configuré correctement, vous verrez dmarc=pass dans l’en-tête des résultats d’authentification.

(Pour afficher les en-têtes des e-mails dans Gmail, cliquez sur le Show Original bouton qui se trouve dans le menu déroulant sur le côté droit d’un e-mail ouvert.)

dmark dkim spf test

Pour réussir le contrôle DMARC, vos e-mails doivent répondre à l’une des exigences suivantes.

  • Le pass SPF et le Return-Path:nom de domaine sont les mêmes que le From:domaine d’en-tête.
  • Le code DKIM et le d=domaine dans la signature DKIM sont les mêmes que le From:domaine d’en-tête.

Par défaut, DMARC utilise un alignement détendu. Ainsi le domaine Return-Path ou le d=domaine en signature DKIM peut être un sous-domaine.

Comment interpréter le rapport DMARC

Il existe deux types de rapports DMARC.

  • Rapport agrégé quotidien basé sur XML généré par Gmail, Yahoo, Hotmail, etc.
  • Rapports médico-légaux en temps réel (copies de courriers électroniques individuels qui échouent à la vérification DMARC)

Normalement, vous souhaitez uniquement recevoir le rapport global. Les données produites par DMARC sont inestimables pour comprendre ce qui se passe pour un domaine de messagerie donné.

Cependant, les données brutes du rapport DMARC sont très difficiles à lire et à comprendre.

Heureusement, Postmark propose un service gratuit pour traiter ces rapports et vous présente un rapport beaucoup plus lisible.

L’avantage de Postmark est que vous pouvez demander aux serveurs de messagerie de réception d’envoyer des rapports XML directement à Postmark pour traitement.

Ainsi, au lieu de saisir votre adresse e-mail dans l’enregistrement DMARC, vous saisissez une adresse e-mail postmarkapp.com qui vous sont propres.

Commande :

v=DMARC1; p = aucun ; PCT=100 ; fo=1; rua=mailto : unique-to-votreadresse@dmarc.postmarkapp.com ;

Vous pouvez également spécifier plusieurs adresses e-mail, séparées par des virgules.

Commande :

v=DMARC1; p = aucun ; PCT=100 ; fo=1; rua=mailto : unique-to-votradresse@dmarc.postmarkapp.com ,mailto : dmarc-report@your-domain.com ;

Une fois votre enregistrement DMARC vérifié par Postmark, vous recevrez un rapport DMARC chaque semaine tous les lundis dans votre boîte de réception e-mail. Vous n’avez pas besoin de créer un compte chez Postmark.

Vous trouverez ci-dessous mon premier rapport hebdomadaire envoyé depuis Postmark. mcsignup.com appartient à MailChimp, c’est ce que j’utilise pour envoyer des newsletters à ma liste de diffusion.

Dans mon enregistrement SPF, j’autorise en fait MailChimp à envoyer des e-mails en mon nom, mais je ne savais pas qu’ils n’utilisent pas mon nom de domaine dans l’en-tête Return-Path pour les e-mails de confirmation d’inscription.

Et ils ne signent pas les e-mails en utilisant mon domaine DKIM.

Il est préférable d’avoir une politique que de ne pas avoir d’enregistrement DMARC p=none.

Bien que cela ne puisse pas empêcher l’usurpation d’e-mails p=none, mes e-mails légitimes ont au moins une meilleure chance d’être placés dans la boîte de réception.

J’espère que cet article vous a aidé à comprendre et à déployer la politique DMARC.

Dans la partie 6, je partagerai avec vous tous mes conseils pour que vos e-mails arrivent dans la boîte de réception du destinataire plutôt que dans le dossier spam.

Support

FAQ

FAQ

FAQ

Toutes les questions que vous posez en cas d’une erreur qui apparaît dans votre article, je vous ai mis la solution ci-dessous en forme de FAQ.
Comment interpréter le rapport DMARC ?

Il existe deux types de rapports DMARC.

  • Rapport agrégé quotidien basé sur XML généré par Gmail, Yahoo, Hotmail, etc.
  • Rapports médico -légaux en temps réel (copies de courriers électroniques individuels qui échouent à la vérification DMARC)

Normalement, vous souhaitez uniquement recevoir le rapport global. Les données produites par DMARC sont inestimables pour comprendre ce qui se passe pour un domaine de messagerie donné.

Cependant, les données brutes du rapport DMARC sont très difficiles à lire et à comprendre.

Heureusement, Postmark propose un service gratuit pour traiter ces rapports et vous présente un rapport beaucoup plus lisible.

L’avantage de Postmark est que vous pouvez demander aux serveurs de messagerie de réception d’envoyer des rapports XML directement à Postmark pour traitement.

Ainsi, au lieu de saisir votre adresse e-mail dans l’enregistrement DMARC, vous saisissez une adresse e-mail postmarkapp.com qui vous sont propres.

Comment faire si nous recevons une source inconnue qui prétende être votre domaine ?

Premièrement, je traite toujours les adresses IP qui n’ont pas d’enregistrement DNS inversé comme du spam.

Ensuite, pour identifier d’autres sources inconnues, je vérifierai si elle figure sur une liste noire de courrier électronique. De https://www.debouncer.com.

Pour mieux comprendre la source inconnue et comment vos domaines sont utilisés, vous pouvez choisir de recevoir un rapport médico-légal en ajoutant la ruf balise dans l’enregistrement DMARC comme ci-dessous :

v=DMARC1; p = aucun ; PCT=100 ; fo=1; rua=mailto : votreadresse@domain.tld ; ruf=mailto : rapport.legal@votredomain.tld;

Le rapport légal contient les copies des e-mails qui ont échoué à la vérification DMARC.

Vous pouvez voir les en-têtes des e-mails, les lignes d’objet et parfois le corps du message pour déterminer la nature des e-mails ayant échoué.

Si vous reconnaissez la ligne d’objet, il s’agit probablement d’un message transféré.

Notez que certains serveurs de messagerie peuvent choisir de générer des rapports agrégés, mais pas de rapport forensique pour des raisons de confidentialité, et d’autres peuvent inclure uniquement des en-têtes de courrier électronique dans le rapport légal.

Quand SPF ou DKIM échouent-ils ?

Un exemple typique d’échec de SPF est lorsque vos e-mails sont relayés vers le serveur de messagerie de destination via un serveur tiers.

Et la situation courante dans laquelle DKIM échoue est lorsque vos e-mails sont envoyés via une liste de diffusion, qui ajoute souvent des en-têtes ou des phrases supplémentaires à vos e-mails.

En fait, une liste de diffusion peut également provoquer un échec du SPF.

Il existe deux types de listes de diffusion.

  • Liste de diffusion des annonces. Généralement utilisé par les sites Web pour envoyer des newsletters. Le propriétaire de la liste de diffusion peut envoyer des messages à un grand nombre d’abonnés, alors que les abonnés ne peuvent répondre qu’au propriétaire de la liste de diffusion.
  • Liste de diffusion de discussion, où les abonnés peuvent envoyer des messages à tous les autres abonnés. Ceci est courant dans la communauté open source. GNU mailman est le logiciel le plus populaire pour créer une telle liste de diffusion.

Ce premier type est facile à résoudre car le propriétaire du domaine est un client du fournisseur de serveur de liste de diffusion.

Il est facile d’ajouter le serveur de liste de diffusion à l’enregistrement SPF. En outre, le serveur de listes de diffusion peut effectuer la signature DKIM pour les clients.

Le deuxième type de liste de diffusion est difficile à gérer pour les propriétaires de domaine dont les utilisateurs participent aux discussions sur diverses listes de diffusion.

Le propriétaire du domaine ne peut pas répertorier tous les serveurs de listes de diffusion de discussion possibles dans l’enregistrement SPF, et ces listes de diffusion ne peuvent pas effectuer de signature DKIM pour d’autres noms de domaine.

Une solution possible consiste à ce que la liste de diffusion utilise sa propre adresse dans l’en-tête From: et ajoute l’adresse d’origine de l’expéditeur de l’e-mail dans l’en-tête Reply-To:.

Plus de détails peuvent être trouvés sur cette page wiki GNU mailman.

Une solution plus pratique et prometteuse est ARC (Authentication Receiver Chain), ce qui signifie essentiellement que les listes de diffusion vérifient et signent le résultat DMARC.

Les serveurs de messagerie de réception peuvent faire confiance à la signature ARC et remplacer les résultats de la vérification DMARC locale.

Quand devriez-vous passer à la politique p = rejeter ?

Vous devez attendre suffisamment de temps pour recevoir de nombreux rapports DMARC.

Ne soyez pas surpris lorsque vous voyez des faux positifs dans votre rapport DMARC.

Analysez ces faux positifs et prenez des mesures pour vous assurer qu’ils peuvent réussir le contrôle DMARC.

Après cela, changez votre politique DMARC p=quarantine et éventuellement p=reject. Ne sautez pas quarantine et allez directement à reject.

Lorsque vous passez à une politique DMARC plus stricte, envisagez de modifier la valeur de pct la balise.

Le processus global se déroule donc comme suit :

  1. p = aucun ; PCT=100 ;
  2. p=quarantaine ; PCT = 30 ;
  3. p=quarantaine ; PCT = 70 ;
  4. p=quarantaine ; PCT=100 ;
  5. p = rejeter ; PCT = 30 ;
  6. p = rejeter ; PCT = 70 ;
  7. p = rejeter ; PCT=100 ;
Pourquoi j'utilise toujours la politique p=none ?

Premièrement, c’est à cause de Microsoft.

Les courriers transférés depuis la boîte aux lettres Microsoft Outlook peuvent échouer à la vérification DKIM, ce qui est mauvais.

Pour cette raison, je ne peux pas définir ma stratégie DMARC sur quarantine ou reject.

Une autre raison est que j’utilise MailChimp pour envoyer des newsletters à mes abonnés par courrier électronique.

MailChimp utilise son propre domaine dans l’en-tête Return-Path et sa propre signature DKIM pour l’e-mail de confirmation d’inscription, ce qui provoque un échec DMARC.

La solution au premier problème consiste à déployer ARC (Authenticated Receiver Chain). Jusqu’à ce qu’ARC soit implémenté sur les fournisseurs de boîtes aux lettres, je ne modifierai pas ma politique DMARC.

Pour résoudre le deuxième problème, je dois passer à une application de newsletter auto-hébergée comme Mailtrain, au lieu d’utiliser un fournisseur de services de messagerie (ESP) pour envoyer des newsletters aux abonnés par courrier électronique.

De cette façon, je peux utiliser mon propre nom de domaine dans l’en-tête Return-Path et ma propre signature DKIM dans chaque e-mail.

Cependant, cela signifie également que je devrais bâtir une bonne réputation pour mon domaine de messagerie et l’adresse IP de mon serveur de messagerie afin que mes e-mails puissent atterrir dans la boîte de réception de mes abonnés au lieu du dossier spam.

Cela peut prendre du temps et des efforts.