Le blog de Philippe

DMARC: SPF + DKIM + reporting

P.Leclercq dans Sécurité    2024-04-12   technologie 

article header image

Combinez le meilleur de SPF et DKIM avec DMARC

DMARC, Domain-based Message Authentication, Reporting & Conformance, est un protocole offrant des fonctionnalités d’authentification, de gestion des politiques et de reporting des e-mails. Il s’appuie sur SPF et DKIM pour améliorer la surveillance et le reporting de la protection de votre domaine de messagerie.

Une politique DMARC permet à l’expéditeur d’indiquer que ses messages sont protégés par SPF et/ou DKIM, et d’indiquer au destinataire la marche à suivre si ces méthodes d’authentification donnent un résultat négatif. Elle permet également au destinataire d’informer l’expéditeur du traitement de ses messages.

DMARC s’appuie sur les efforts déployés par des organismes financiers (PayPal, Bank of America…) et des entreprises Internet (Yahoo, Google…) pour réduire le nombre d’e-mails frauduleux d’usurpation de domaine.

Fonctionnement de DMARC

Lorsque l’administrateur de messagerie du domaine exemple.com souhaite utiliser DMARC pour permettre aux destinataires de vérifier l’authenticité des e-mails envoyés sous son nom de domaine, il doit effectuer les actions suivantes :

  • Configurer SPF et/ou DKIM (de préférence les deux) ;
  • Publier un enregistrement DNS TXT DMARC ;
  • Configurer une boîte aux lettres pour recevoir des rapports.

Lui-même et les autres administrateurs de messagerie des domaines recevant des e-mails du domaine exemple.com doivent ensuite activer DMARC afin que le logiciel de gestion des e-mails puisse vérifier les e-mails et envoyer des commentaires.

DMARC effectue les étapes suivantes :

  • Extraire le domaine de l’en-tête From: de l’e-mail ;
  • Interroger le DNS pour récupérer l’enregistrement DMARC correspondant ;
  • Extraire le domaine de l’en-tête de signature DKIM (d=) ;
  • Si les deux domaines ci-dessus ne correspondent pas, le résultat n’est pas conforme à DKIM et la vérification SPF est effectuée.
  • Si les deux domaines ci-dessus correspondent, le résultat DKIM est vérifié.
  • Si le résultat DKIM est pass, le résultat DMARC est conforme à DKIM.
  • Si le résultat DKIM est fail, le résultat DMARC n’est pas conforme à DKIM.
  • Pour la vérification SPF, l’en-tête de l’e-mail From: est comparé à l’en-tête de l’enveloppe MAIL FROM:.
  • S’ils ne correspondent pas, le résultat n’est pas conforme à SPF.
  • S’ils correspondent, le résultat SPF est vérifié.
  • Si le résultat SPF est pass, le résultat DMARC est conforme à SPF.
  • Si le résultat SPF n’est pas pass, le résultat DMARC n’est pas conforme à SPF.
  • Au final, si le résultat DMARC est conforme aux normes DKIM ou SPF, le résultat DMARC est pass ;
  • Sinon, le résultat DMARC est fail.
  • L’action résultante dépendra du contenu de l’enregistrement DMARC, comme décrit dans l’un des paragraphes suivants. DMARC peut influencer la distribution des e-mails et fournir des rapports à l’expéditeur. Les FAI et les grandes entreprises Internet peuvent envoyer des commentaires aux expéditeurs s’ils indiquent une adresse e-mail dans leur enregistrement DNS DMARC. Les rapports peuvent être agrégés, résumant l’activité sur une période donnée (par défaut, 24 heures), ou individuels, en cas d’échec d’alignement DMARC pour un e-mail spécifique.

La figure suivante résume le processus d’évaluation DMARC :

Flux DMARC

Configuration de DMARC pour un domaine

Un enregistrement DMARC est un enregistrement DNS (Domain Name System) TXT, généralement composé de cinq parties :

  • La version DMARC ;
  • L’action à entreprendre en cas d’échec ;
  • La rigueur des contrôles d’alignement ;
  • Quand envoyer les rapports ;
  • Où envoyer les rapports.

La syntaxe générale d’un enregistrement DMARC est la suivante :

_dmarc.<domaine> TXT "v=DMARC1; p=<action>; <conditions de vérification>; <conditions de rapport>; <URI des rapports>"
  • <action> peut être none, quarantine ou reject, selon l’action que l’expéditeur souhaite que le destinataire applique aux e-mails qui ne passent pas le contrôle d’alignement DMARC.
  • <conditions de vérification> peut être :
    • pct=<nombre> : pourcentage d’e-mails reçus de cet expéditeur soumis à l’action ci-dessus. Cela permet un déploiement progressif des règles DMARC sans perturber l’ensemble des e-mails envoyés. La valeur par défaut est 100 %.
    • adkim=r ou s : mode souple ou strict pour l’alignement DKIM ; la valeur par défaut est r. En mode strict, les domaines DKIM d= et From: doivent être strictement identiques. En mode souple, le domaine From: peut être un sous-domaine du domaine DKIM d=. Par exemple, si l’expéditeur est utilisateur@mail.exemple.com et le domaine d= est exemple.com, ils sont considérés comme alignés.
    • aspf=r ou s : mode souple ou strict pour l’alignement SPF. Les mêmes règles s’appliquent que pour adkim.
  • <conditions de rapport> est : fo=<valeur>,<valeur>... où <valeur> est 0 ou 1 ou d ou s.
    • 0 est la valeur par défaut et génère un rapport d’échec DMARC lorsque le résultat DMARC est négatif ;
    • 1 génère un rapport d’échec DMARC lorsque l’un des alignements SPF ou DKIM donne un résultat autre que pass ;
    • d génère un rapport d’échec DMARC lorsque DKIM donne un résultat d’échec, quel que soit son alignement ;
    • s génère un rapport d’échec DMARC lorsque SPF donne un résultat d’échec, quel que soit son alignement.
  • <URI des rapports> peut être :
    • rua=mailto:<adresse e-mail> : adresse de destination où envoyer les rapports agrégés ;
    • ruf=mailto:<adresse e-mail> : adresse à laquelle envoyer les rapports d’échec spécifiques aux messages.

Trouver l’enregistrement DMARC d’un domaine

L’enregistrement DMARC étant un enregistrement DNS TXT, vous pouvez l’obtenir avec les commandes suivantes :

dig -t txt _dmarc.<domaine>
nslookup -ty=txt _dmarc.<domaine>
nslookup -ty=txt _dmarc.google.com
Serveur : 9.9.9.9
Adresse : 9.9.9.9#53

Non-authoritative answer:
_dmarc.google.com       text = "v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com"

Cela signifie que Google souhaite que le destinataire rejette les e-mails qui échouent à la vérification DMARC et souhaite recevoir des rapports quotidiens agrégés dans sa boîte mail mailauth-reports@google.com.

Vous pouvez également utiliser les sites web gratuits suivants pour trouver les enregistrements DMARC :

Vérification des résultats DMARC dans les en-têtes d’e-mails

DMARC ajoute ses résultats aux en-têtes Authenticated-Results des e-mails traités, généralement après les résultats SPF et DKIM.
La syntaxe générale est :

Authenticated-Results: <serveur d'authentification> ....
dmarc=<résultat> <résumé de la politique DMARC> <en-tête vérifié>

<résultat> est pass ou fail. Le format dépend du fournisseur de messagerie ; Google, Microsoft et Yahoo ont des formats légèrement différents.

Vérifions un en-tête d’e-mail réel. Ceci est un e-mail envoyé de pltrash2@outlook.com à pltrash2@gmail.com. Le code DMARC Authenticated-Results est généré par le serveur gmail.com (Google).

Delivered-To: pltrash2@gmail.com
Received: by 2002:a17:906:d294:b0:a4a:365b:20e4 with SMTP id ay20csp1070802ejb;
        Thu, 11 Apr 2024 07:40:27 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG8Ug/mzFIi4XUZiyUuOHhLtnNJ6fGoGZvaZtp/3BC1KeNkNrCbgRVzWJR/onEw8po3ught
X-Received: by 2002:a05:6359:1581:b0:184:69c5:c088 with SMTP id jv1-20020a056359158100b0018469c5c088mr8086931rwb.12.1712846426495;
        Thu, 11 Apr 2024 07:40:26 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1712846426; cv=pass;
        d=google.com; s=arc-20160816;
        b=yLQJJE6Qiznv95fE1PkudoTljBSl57xgJNtiESPiKv9yIIctOgSoPQINlDxcRpo+1N
         GTCMIT7wFb4MD0SGWjQOCyU4G4KCB7mU7cMliIJumByfMDnzjrrgOzeDQbjB79k3ICsO
         AvEcQ0VOu2XLN0N5i6gF3xmVRXWR3z80i8UnLaS+SJXCyr2+XIy0MJBoYKhvN89bua36
         Lz2Q5KbYggNDe10BDV3ArRbmajt/zv1TsbjTzJL6+WWAcTDJj++i+GDNP+v1Nab75dwb
         l2L4yAIyRPF3X3RcvKbkYI8arWWPtUiEDSYDwIjLcN9B8MaKM3H4leUP9daF51+HDuck
         CASw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=mime-version:content-transfer-encoding:msip_labels:content-language
         :accept-language:message-id:date:thread-index:thread-topic:subject
         :to:from:dkim-signature;
        bh=nmuZd0MPqHHFa9pIGb0+I+SebjZShl563DjrzElH5JM=;
        fh=H8fS/F1Xi7k6c76u5mat11UzewD7stRXC+xTg8ayz9I=;
        b=jZYC1NhVVpwNhyOgFWM/LHW0BZ3u9ljYk6DEqfBCtFH0HJuYhBpqdUOml2g+8U//Oc
         MisUhmWXDObOH3EtyBRmSeQ3hZMZoSL40oFKGV07otms/r6McJjUrEcWoshH3F6eFF/l
         jOfGcYEsmVX85v5fHyjX0JfGPlBnVJcGtX7+I9v5QT5xJE6Vb2rlWPFy+z665grhAAJ7
         S0QTWzeuIxBZ9LxIzEWS+2tktJziPw5J7xllrOW45VgrVPxqQeZAgqU4MHsCuGLwkcZx
         DsblVAd6BgSHWEPH4D+YJK5olY7kAOgcIs9mGukYMl9cBhRwFU1H9MCheY4fqnnb6IS+
         j+/Q==;
        dara=google.com
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@outlook.com header.s=selector1 header.b=MvWEquRr;
       arc=pass (i=1);
       spf=pass (google.com: domain of pltrash2@outlook.com designates 2a01:111:f400:fe1f::810 as permitted sender) smtp.mailfrom=pltrash2@outlook.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com
Return-Path: <pltrash2@outlook.com>
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn0810.outbound.protection.outlook.com. [2a01:111:f400:fe1f::810])
        by mx.google.com with ESMTPS id mi16-20020a056214559000b0069b1f8b5ab0si1554535qvb.574.2024.04.11.07.40.26
        for <pltrash2@gmail.com>
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 11 Apr 2024 07:40:26 -0700 (PDT)
Received-SPF: pass (google.com: domain of pltrash2@outlook.com designates 2a01:111:f400:fe1f::810 as permitted sender) client-ip=2a01:111:f400:fe1f::810;
Authentication-Results: mx.google.com;
       dkim=pass header.i=@outlook.com header.s=selector1 header.b=MvWEquRr;
       arc=pass (i=1);
       spf=pass (google.com: domain of pltrash2@outlook.com designates 2a01:111:f400:fe1f::810 as permitted sender) smtp.mailfrom=pltrash2@outlook.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T8fKfYp1xtjbOqieQ31Y51ISZTrb9fTW9Zg8Cms2n8fk3D8fJ5LLeOHwayMMia2zQ0ouohDRCiapcdyon9YNk0mburCbkVXAex/raoCTzQciQAkZoxrWbK4uRN56Xt3XVcUNk4WcV6xz4xc0z+DEpUg4Ced60cbVUQ3g4u8GhGmDV3IOIQddNHU5SPpoBg2Oxy8lzshxy504fcNoPnHtWskMuXJi0zlec/cvWXkq6P/33d5ao4jeLvqpfiJQ5kfE4h6BTDbqKKfZBFc00Sia4qTwlseRd3jNxbi87gH3os/3MwiJqU65hjG44kvHPtNddg9Uh928FVTwu4jPB+vVEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nmuZd0MPqHHFa9pIGb0+I+SebjZShl563DjrzElH5JM=; b=UvWI08OhU698YsiJg0DAkrVCQ5ywbtuYdDkh1LUMHeEh5CkA49VttSuIDaH6ipTWlU/ZR8aSmYUF2g5nSwxoJxnpxyyF71PKDaVkXyUu+y9i8gTTLIsDjTA6x9OTs3czGXq6K3IddQp4mcjODImvb2jmQKXkJJBAnv5infAIeL3ZfmNsUMGaJao5fnJMN+gyZrio0jglgu3ga4Scdi8rsESfDKW82L7e0mrPTBGDQ53DNhdrw4JVBlhr8pvijuyNofPXXfyMBgblHmgY/7zLuCNtE3FzNeGDadnYRi9sqPr2TCn8c+0EHYopwm9xbVyZft2eWn/g7Hw9qkmD+1Meeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nmuZd0MPqHHFa9pIGb0+I+SebjZShl563DjrzElH5JM=; b=MvWEquRrP2D5ugmX4w/vutSLGDGXY/ew1uzQXW5LvhDkDUCDmvPox6ubAEbVd7gWW2dluyDexiUFkZSF0rXMf41MVF9mnrJG2hNrAQYDS3n3vbRbuAl3AqBfCC2+ivIUUtVhKvhnwbDd4eNV1rgBAoDIyvrhTS0VBnz7MEolrggeh1mR5nbOophNeSXYpVT40ld4lPEEoVnHVW5+cNDGyQuDiDoLfnnHKzFADSoNA2u/NdByeL8cjEcpmzQuT1t0RS4Rk9kEqr9YVKQuAflhIWHTr7Ihg96Jtlp/NdeTpmncNGXcqC/tiXazZKjYRN5kwGSzYnLuuqX/gJk1ykXwxQ==
Received: from AS8P189MB1621.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:393::12) by AS8P189MB1176.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:2aa::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr 2024 14:40:24 +0000
Received: from AS8P189MB1621.EURP189.PROD.OUTLOOK.COM ([fe80::c7fb:d192:40d8:2f36]) by AS8P189MB1621.EURP189.PROD.OUTLOOK.COM ([fe80::c7fb:d192:40d8:2f36%3]) with mapi id 15.20.7409.053; Thu, 11 Apr 2024 14:40:24 +0000
From: PL Trash2 <pltrash2@outlook.com>
To: pl_trash <pltrash2@gmail.com>
Subject: DMARC test
Thread-Topic: DMARC test
Thread-Index: AQHajB4wmPTgUx5MKkyyBDK0ux2iFg==
Date: Thu, 11 Apr 2024 14:40:24 +0000
Message-ID: <AS8P189MB1621F4DB3BE74F9B01145B2C8E052@AS8P189MB1621.EURP189.PROD.OUTLOOK.COM>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: 
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [qDT4Feh/8uxkRKMs4obZNyBSXqjQGgxEP3Nq6ghUfI3jSTFgier6/QQapWBw+sks]
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8P189MB1621:EE_|AS8P189MB1176:EE_
x-ms-office365-filtering-correlation-id: 5d6abbf9-9b86-4e33-3f67-08dc5a3552c3
x-ms-exchange-slblob-mailprops: 2xtDbzDEsjJ+6YSxtzQdlotZqtDO7vInfnrSL6pS9kKKX9cpt5q+D/W/Z/vd6hiIpcJzhm1qqMElxlVGJgmodMT7vr1lVL1jXT/HHQWtj0rqHtZVXK8utDgbi+vwtUj1NWOYXAB9BSuulDRtwJm16amzIfl1O7c2abWQtienb86+6ue2YOVXt/0j4183oplD4+bsBiF4fnPIALWwoGb9KcJe9HkzVV+dhPUKoyitZq7ZSiGSvaas2RlRE/9tl7ezuAgS84n4xdV8AAL1balAIuCu29bysHUM5MHVpfWX8pch+65rWHZ0kBn1bG5xSLSm1gbCgdMQ96v88BN5QP1p+o3uuCUeqYGLIuIqx79bd0ciE9vlNrsStKdUY2NV2Q9LZurSQ/0E7BPfUUss+Qggo2Hr5ryKsipQDTYshk63HaEt/7JW32pBcIXUoojtRL44lu4o7qbu0fTm07/pRapd2r9ldcpKf+ADb+n0rHFnhGXFvlf6mo13cfcE2frUtNQWa+dUBvIQorAFQ3urd8nk3VXv0asc1KGCZ0GpvA4MBmEOYXxOQEFQgwjyWKLXwa/rBGh+G/TpqCPtnSLQkfiAGA==
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: tZ3uQ5ZpAJAKQJTEklFMYMz/bVvjjWoTYW9OBDwRb6alguvNDmbmlwCXYOBJzYEuFiKU8fQdcYeLOOxJNVyxwSOXC32vMuEuZ+1rQp2jG37W4RYng4JqHJRO7N8Aj0MxZXPMn6SLtfUr9f9dVH5rOzcfM4si4EhmDHyhFzWsUSuVfmLarJRJHcA2VWtRrTfzL5F+SBRuTeZY8bHa2Jy0YJN2x2iF0Rl5c7k3C3z9i2bShznaV8pe321Jtz1a9EAkmqAKnWT9r7ba08jmBzO/GBv66H5YcEuMAGl45IY9jcc=
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: SWztyGh0+xzwMjhhddodI9svPCkRH0zqRj/QEE59LAjgna7Q7xznA8oC63KYq8qzL3+WMl0UXvBG3lkRS2X7CQJEFnaiC2fapN3f9eSgTozyf90ZoUwQzIZtXfBLAMLIV06OYVc0RvTcdpg0Mu67AnuIfTgdHnuBCXNBwY+AHLQVT3iCxNlXw9EsfD1rpXrMXTxofSGW6tifBQgE9aaDxdVqWY0Q3KsD0BxAB/Eo0Pw67NZCqvX1tDhaWvoJv/nJf+bugtyuEhU9dXCMAgeYlEWSBHQT+pCOgJ6hAsgmMML2Fhua3uHao7Nvr79LrrcMsgALz7qRQ3D1JTljLaZxNJDin+o/wibvzKRPOwTp51BwiigRJdp0qd9PsnW4DFcOnfGnMOOVQKUjE9Z72V1xBiVkRJ3OyWeRXZINVM8Mcv28zZ3Q4rhWEz65MdjvGX5ubIcWS6ngG/ViRO/UtgKrnu908RvelS0jrk14Xeb8jq+jPWK7KnAociomdKaoCUKApKYRdPfbD6o6Rd+m5oO50FcG9VjsH95BQn0wvq6AgG+2cZEb7AH//gPBPlks8HthIgIw0VufrTJmVlU1y3K8yom7GwQ1ZjFXKbLq3xaeUQk4ECW8w6uGZQ8BSSqCmKzwhK00naJ1tZhWolZL1ZFD0ilOOt+s0r+htnQxYbqt6ebOcWisKdBhONrCvTwvuEOmeqkPenhx4ubi6HYUMqO6LwVSJ5cFlKdn0InKpTHtJwSDD2nskHvJNIJPFhtK9LCeYKncGOWtowXF4/kFuoVOYUIXhvlgMDdomL1Dz/f4gj5AV81zydZ+i2YSt4mkiVfLcqsaGRXN0aX0aK66U1grOOq5THPu1u9Ry0hxQdPID49ta5WsoEzDxQkX6VfG71OAIz7WLcCB9GK+KqCnSKq5WLKXHgC+swmJONH0MVqt7te77Z1cohCQp5GcnxClaGU09tpZS/mGwxDiHbIZqdPRSnnHHD69cnmekf3Y/v6dG0VhNLJOHWzHon9GS78DNo2FLT61BcIeAnqMHhpyhA4+tQ7ivRztTFN+OoETtCqbAGsIjYVjWC2wROnsrVhNkAlJkuLqO7GTgbbspciXM6VN2YF2LYWGMHq8Lx9wPD7mn+1Kl349zSyXEG/5lc0KwkWLL6pEEozD/ZKYbzkPlRK0VFmvoPE146RNIpEEbY66/avf5AF7gexwJ+oMb0BgpPFsyS7iXIa4BtaupL/1T6n+aN8UPozeGMgZecvcaKJkW3ki+pE5/5SGRA8lNNBRg0DUunWs1vp8f1s4HhI1dHONOQ==
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8P189MB1621.EURP189.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d6abbf9-9b86-4e33-3f67-08dc5a3552c3
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2024 14:40:24.7590 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P189MB1176

DMARC test.

L’en-tête Authenticated-Results est :

Authentication-Results: mx.google.com;
       dkim=pass header.i=@outlook.com header.s=selector1 header.b=MvWEquRr;
       arc=pass (i=1);
       spf=pass (google.com: domain of pltrash2@outlook.com designates 2a01:111:f400:fe1f::810 as permitted sender) smtp.mailfrom=pltrash2@outlook.com;
       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com

Le vérificateur est mx.google.com, le serveur de messagerie Gmail.
Le résultat DMARC est positif, car les résultats SPF et DKIM sont tous deux positifs.
La politique DMARC provenant de outlook.com est la suivante :

  • aucune action en cas d’échec de DMARC ;
  • mise en quarantaine si l’e-mail provient d’un sous-domaine et échoue ;
  • aucune action n’est prise sur l’e-mail actuel.

L’en-tête From: est outlook.com.

Vérifions l’enregistrement TXT _dmarc.outlook.com :

nslookup -ty=txt _dmarc.outlook.com
Serveur : 9.9.9.9
Adresse : 9.9.9.9#53

Non-authoritative answer:
_dmarc.outlook.com      text = "v=DMARC1; p=none; sp=quarantine; pct=100; rua=mailto:rua@dmarc.microsoft; ruf=mailto:ruf@dmarc.microsoft; fo=1"

Cela correspond à la partie p=NONE sp=QUARANTINE de l’en-tête.

Rapports DMARC

Si l’expéditeur indique une adresse e-mail pour recevoir les rapports DMARC et qu’il envoie des e-mails à des FAI connus ou à de grandes entreprises Internet, il recevra des rapports. Ces rapports sont fournis dans un fichier .zip joint à l’e-mail.

Une fois décompressés, ces rapports ne sont malheureusement pas très attrayants ; ils sont écrits en XML.

<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
  <report_metadata>
    <org_name>google.com</org_name>
    <email>noreply-dmarc-support@google.com</email>
    <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
    <report_id>3858404806197327731</report_id>
    <date_range>
      <begin>1712707200</begin>
      <end>1712793599</end>
    </date_range>
  </report_metadata>
  <policy_published>
    <domain>example.com</domain>
    <adkim>r</adkim>
    <aspf>r</aspf>
    <p>quarantine</p>
    <sp>quarantine</sp>
    <pct>100</pct>
    <np>quarantine</np>
  </policy_published>
  <record>
    <row>
      <source_ip>XXX.XXX.XXX.XXX</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>pass</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>example.com</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>example.com</domain>
        <result>pass</result>
        <selector>dkim</selector>
      </dkim>
      <spf>
        <domain>example.com</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
</feedback>

Nous pouvons décoder certaines informations :

  • Balise <org_name> : le rapport a été envoyé par google.com.
  • Balise <policy_published> : la politique DMARC du domaine de l’expéditeur.
  • Chaque paire de balises <record>...</record> délimite un enregistrement contenant les données suivantes :
    • Adresse IP source de l’expéditeur (balise <source_ip>)
    • Nombre d’e-mails envoyés par cet expéditeur dans ce rapport (balise <count>)
    • Politiques évaluées (SPF, DKIM) (balise <policy_evaluated>)
    • En-tête From: (balise <header_from>)
    • Résultats DKIM et SPF (balises <dkim> et <spf>)

Le rapport pourrait être résumé comme suit :

Organisation source du reporting Rapport pour le domaine
google.com example.com
Politique de domaine Politique de sous-domaine Pourcentage Alignement DKIM Alignement SPF
quarantaine quarantaine 100 % souple souple
  • Courriels reçus :
Adresse IP d’envoi # Évaluation de la politique En-tête From: DKIM SPF
XXX.XXX.XXX.XXX 1 DKIM : pass, SPF : pass, Disposition : none example.com pass. domain : example.com, selector : dkim pass. domain : example.com

Heureusement, il existe des sites gratuits qui rendent ces données lisibles :

Rapport Dmarcian

Accueil   Début