- LearnDMARC permet d’apprendre et de tester SPF, DKIM, DMARC, au cœur de l’authentification des e-mails, sur un seul écran, et l’explication visuelle complète est disponible sur desktop
- L’écran de résultats affiche d’abord des informations de connexion comme Source IP address, Hostname et Sender, afin de vérifier le point de départ de l’évaluation de l’authentification
- SPF et DKIM affichent chacun le domaine concerné par l’authentification et le résultat, tout en indiquant si l’Alignment nécessaire à l’évaluation DMARC est présent
- La section DMARC regroupe RFC5322.From domain, la Policy (p=), SPF et DKIM pour aboutir au résultat final DMARC, DMARC Result
- Enfin, Final verdict permet de voir l’évaluation globale, et des options d’anonymisation des résultats ainsi qu’un lien d’apprentissage sur DMARC sont également proposés
Objectif de LearnDMARC
- Il s’agit d’une page destinée à apprendre et à tester SPF, DKIM, DMARC
- L’explication visuelle complète du fonctionnement de DMARC n’est visible qu’en ouvrant le site sur desktop
Éléments visibles sur l’écran de résultats
-
Connection parameters
- Source IP address
- Hostname
- Sender
-
SPF
- Domain
- Identity
- Auth Result
- DMARC Alignment
-
DKIM
- Domain
- Selector
- Algorithm
- Auth Result
- DMARC Alignment
-
DMARC
- RFC5322.From domain
- Policy(p=)
- SPF
- DKIM
- DMARC Result
Verdict final et fonctions annexes
- L’écran de résultats affiche l’évaluation globale via Final verdict
- Anonymize results permet d’anonymiser les résultats
- Le lien Learn more about DMARC est fourni
1 commentaires
Avis de Hacker News
C’est une bonne façon de pousser les services e-mail essentiels nécessaires pour réduire le spam. J’ai toujours espéré que SPF, DKIM et DMARC suffiraient à motiver les entreprises avec lesquelles j’ai travaillé, mais la réputation seule ne suffit souvent pas à faire passer l’investissement en priorité.
Heureusement, pour les entreprises qui veulent communiquer avec leurs clients de manière fiable, il existe un standard que les marketeurs devraient apprécier : Brand Indicators for Message Identification (BIMI). Désormais, on ne gagne pas seulement en sécurité, on obtient aussi un joli logo : https://www.litmus.com/blog/what-is-bimi-and-why-should-emai...
Dans plusieurs entreprises, j’ai utilisé BIMI, au nom de « l’expérience client », pour les amener à implémenter DMARC correctement, c’est-à-dire avec
P=Reject.Ni SPF ni DKIM ne résolvent complètement la prévention de l’usurpation d’e-mails. SPF authentifie les identifiants HELO/MAIL FROM, et DKIM authentifie le champ
d=de l’en-tête DKIM-Signature, mais aucun des deux n’authentifie l’en-têteFromaffiché à l’utilisateur final. Ainsi, même si les validations SPF et DKIM réussissent, l’adresseFrompeut toujours être falsifiée.L’absence de DMARC+ sur un domaine e-mail est clairement un problème, mais DMARC+ à lui seul ne résout pas le problème de savoir si l’expéditeur est réellement le bon.
Ressource liée : voir de manière interactive comment fonctionnent DMARC, SPF et DKIM - https://news.ycombinator.com/item?id=29869266 - janvier 2022, 108 commentaires
Je me demande s’il existe une solution open source, ou au moins gratuite, pour traiter les rapports DMARC.
J’ai quelques domaines e-mail avec SPF, DKIM et DMARC activés, et ça fonctionne, mais DMARC a deux aspects pénibles.
(1) Certains sites envoient des rapports DMARC du genre « vous avez envoyé 3 messages, tout va bien, tous les contrôles sont passés ».
(2) De temps en temps, quelqu’un tente d’envoyer du spam avec mon domaine via un autre serveur, et je reçois un rapport disant : « quelqu’un a mis votre domaine dans HELO/FROM pour tenter d’envoyer du spam, mais les contrôles ont échoué et le message a été bloqué ».
Dans les deux cas, ça ne m’est d’aucune utilité. Je ne veux pas savoir que mon utilisateur a envoyé un e-mail à @gmail.com ou @mail.ru, et dans le second cas, comme ce n’est pas l’IP de mon serveur, je ne peux rien faire.
Décompresser et vérifier moi-même le XML est trop fastidieux ; un filtre ou un tableau de bord serait donc très utile.
Il affiche un résumé des rapports et le détail des échecs. Ce n’est pas très sophistiqué, mais cela devrait être assez simple à étendre. Il parse aussi les rapports SMTP-TLS.
L’explication selon laquelle « pour que DMARC passe, les contrôles DKIM et/ou SPF doivent réussir et le domaine doit être aligné » est, à ma connaissance, incorrecte.
Ce n’est pas “and/or”, mais or. Il suffit que DKIM ou SPF réussisse ; il n’existe pas de méthode pour exiger les deux.
Le problème de base était que MailChannels n’exigeait pas d’authentification. Cloudflare Workers pouvait appeler l’endpoint API de MailChannels pour envoyer des e-mails, et MailChannels demandait d’ajouter un enregistrement
include:à la politique SPF. Résultat : MailChannels devenait un expéditeur valide pour tous les domaines, et n’importe qui pouvait se faire passer pour n’importe qui.Sur 2 millions de domaines hébergés, seuls environ 400 avaient configuré DKIM, mais même avec DKIM, la seule réussite de SPF suffisait à faire passer DMARC.
[1] https://blog.cloudflare.com/sending-email-from-workers-with-...
Il suffit d’avoir, dans les champs
From:/Reply-To:, une adresse e-mail contenant un littéral d’adresse IP pour obtenir du « SPF », et un bien meilleur score afin d’éviter le greylisting lors de la première transaction. C’est encore mieux s’il n’y a pas d’URL dans le corps.Mais c’est du bon sens.
J’aime beaucoup cette façon de faire suivre le processus de manière itérative. Il y a quelques années, lorsque j’essayais, dans mon ancienne entreprise, de passer à l’envoi d’e-mails auto-hébergé avec de vraies mesures de sécurité, un outil comme celui-ci aurait été très utile.
J’ai envoyé un e-mail via le service « Hide My Email » d’Apple et j’ai obtenu une erreur : https://support.apple.com/en-us/HT210425
Unhandled Promise Rejection:TypeError: a.from.replace(/[<]/gi," is not a function. (In 'a.from.replace(/[<]/gi,"(")', 'a.from.replace(/[<]/gi,"' is undefined)dist.min.js:3:32767C’est arrivé après que l’interface a commencé à afficher « Here are the message headers and message body: » et
DKIM-Signature: d=icloud.com s=1a1haiCela fait plus d’un an que ce site a été présenté sur Hacker News ; le code JavaScript est donc probablement devenu obsolète et ne fonctionne plus. Il se peut aussi qu’il n’ait jamais pris Safari en charge, ou les deux. Malgré tout, j’ai beaucoup appris avec la première et la deuxième partie du test DMARC, et j’ai pu me faire une idée de ce qui se passerait dans les étapes suivantes
[2]
dig +noall +answer -t TXT | grep -i SPF[3]
dig +noall +answer -t Atelnet learndmarc.com 25Trying 87.239.13.42...Connected to learndmarc.com.Escape character is '^]'.220 allspark.uriports.com ESMTP URIports Mail Portal 1.03.2 Sun, 01 Oct 2023 21:55:40 +0000HELO there250 allspark.uriports.com Hello []MAIL From: me@example.com250 OKRCPT To: ld-49101f55f6@learndmarc.com250 AcceptedDATA354 Enter message, ending with "." on a line by itself.250 OK id=1qn4QF-00CUhd-5jÇa m’a fait rire, dans l’idée de « pas besoin d’écrire une lettre d’amour non plus » pendant la saisie. Je me trompe peut-être, mais il semble qu’il faille répéter les en-têtes
From:etTo:dans la section des donnéesÇa me fait toujours rire de repenser au nombre d’e-mails que j’ai envoyés pendant des années avec HELO there au lieu d’un nom d’hôte. Et je me demande aussi quelle part du trafic Internet correspond à
Enter message, ending with . on a line by itselffrom. Le programmeur n’a simplement pas pensé à tester le cas où un utilisateur malveillant fait quelque chose de mal ; il n’y a pas de complot particulierC’est vraiment étonnant de voir qu’au XXIe siècle, on dépend de couches et de couches de compatibilité et de hacks pour faire tourner des technologies qui correspondaient à la bonne volonté et aux idéaux d’il y a environ 30 ans
C’est pareil côté VOIP/télécoms
Microsoft a aussi récemment eu des problèmes de délivrabilité des e-mails, et la plupart de nos tenants O365 ont reçu une alerte demandant de vérifier SPF, DKIM et DMARC. Chez nous, c’était déjà correctement configuré, mais certains tenants avaient des problèmes pour envoyer des e-mails à de petits fournisseurs de messagerie (niveau FAI). La raison était que ces petits fournisseurs bloquaient des IP et des plages d’IP entières, parce que du spam sortait des mêmes adresses IP ou serveurs de messagerie
Fait amusant : sns.amazonaws.com n’a toujours pas d’enregistrement DMARC. Si vous n’utilisez pas de domaine personnalisé, les messages AWS SNS viennent de là, et toutes les alertes CloudWatch arrivent aussi depuis
no-reply@sns.amazonaws.comL’e-mail devrait fonctionner comme ça à l’origine, mais dans la réalité il existe des listes d’autorisation
Même en cas de basculement DNS, il ne faut pas oublier de configurer correctement ce type de vérifications
J’ai vu une entreprise se faire piéger à cause de la configuration par défaut d’Exchange Online
L’attaquant a rendu le DNS brièvement « indisponible », et tous les e-mails de phishing sont passés. Les serveurs MS répondaient avec une
temp errorDNS, puis laissaient passer tous les e-mails comme non-spamPlus précisément, c’était
received-spf: TempError (protection.outlook.com: error in processing during lookup of : DNS Timeout), et DKIM était vérifié sur le domaine du serveur SMTP de l’expéditeur, qui dans ce cas était le serveur de l’attaquant utilisé pour le phishingEnsuite, j’ai passé un excellent moment avec le support IT/sécurité de MS : les personnes en face ne comprenaient même pas comment fonctionne l’e-mail. Une expérience à la fois très drôle et triste ; j’espère que l’externalisation leur réussira