Authentification des emails : SPF, DKIM, DMARC… Tout ce qu’il faut savoir !

Restez informé·e via les newsletters de Badsender

Chaque mois, nous publions une newsletter sur l’email marketing et une infolettre sur la sobriété et le marketing. En savoir plus.

Votre adresse email ne sera jamais communiquée à un tiers. Vous pourrez vous désabonner à tout moment en un seul clic.

Imaginez que votre téléphone sonne. Sur l’écran, le numéro de votre meilleur ami s’affiche. Vous prenez votre téléphone en main, vous décrochez et vous le portez à votre oreille. Là, à votre plus grande surprise, ce n’est pas votre meilleur ami qui vous dit bonjour… Mais la voix suave d’un serveur téléphonique commercial qui vous propose d’acheter le tout dernier modèle d’un appareil électroménager dont vous n’avez absolument pas besoin.

Impossible me direz-vous ! En effet, avec votre téléphone, à moins de faire face à un pirate très ingénieux, c’est impossible. Par contre, en matière d’email, rien de plus simple : vous pouvez envoyer un email au nom de barack@whitehouse.gov à tous vos amis. Ou plutôt, vous pouviez. En fait, à la base, le protocole SMTP ne prévoit pas de mécanisme d’authentification : tout le monde peut envoyer un email au nom de… tout le monde !

Évidemment, avec l’augmentation du nombre d’emails envoyés, et surtout du nombre de spams (et autres phishing), il fallait trouver une solution. C’est au début des années 2000 que des discussions sont engagées, celles-ci aboutiront à la publication en 2006 de SPF et l’année suivante de DKIM. Et à la nécessité de veiller à l’authentification des emails.

Authentification des emails et SPF = Sender Policy Framework.

authentification des emails

On ne va malheureusement pas pouvoir continuer avec notre exemple du coup de téléphone… l’analogie serait trop bancale 🙂

Lors de l’envoi d’un email, la principale source d’identification de l’expéditeur est l’adresse email contenue dans le champ FROM:. Cette adresse email est constituée de deux parties : la partie située à droite du signe « @ », le nom de domaine, et la partie située à gauche, le nom de l’utilisateur. SPF est une technique qui va définir quels sont les serveurs qui ont le droit d’émettre un email pour le nom de domaine (donc la partie droite de l’adresse).

Prenons par exemple… « example.net ». Example.net est un gros site de paiement en ligne. Et donc, ils n’ont pas trop envie que l’on essaye de se faire passer pour eux, c’est mauvais pour leur réputation. Le site a donc décidé de publier en enregistrement SPF sur son serveur DNS, voici ce que ça donne (c’est un exemple, tout est fictif) :

example.net. IN TXT "v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 a -all"
example.net. IN SPF "v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 a -all"

Ici, on a deux enregistrements DNS similaires : l’un est de type SPF et l’autre de type TXT pour une question de rétrocompatibilité. Qu’est-ce que ces enregistrements veulent dire ? Que les serveurs ayant pour adresse IP 198.51.100.123 et toutes les adresses IP du bloc 192.0.2.0/24 ont le droit d’envoyer des emails au nom de Example.net. Le « a » signifie que toutes les adresses IP de l’enregistrement A ont aussi le droit d’envoyer des emails pour ce nom de domaine. De son côté, le « -all » signifie que toutes les autres IP doivent être rejetées (« SPF=FAIL »).

Mais attention, un email qui ne passerait pas le test du SPF ne sera pas pour autant considéré comme un SPAM. Par contre, un nom de domaine ayant un enregistrement SPF bien configuré aura moins de chance d’être exploité par des spammeurs.

Besoin d'aide ?

Lire du contenu ne fait pas tout. Le mieux, c’est d’en parler avec nous.


Authentification des emails et DKIM = DomainKeys Identified Mail.

dkim délivrabilité email

DKIM est la fusion de deux technologies, l’une développée par Yahoo! (DomainKeys) et l’autre développée par Cisco (Identified Internet Mail). Là où SPF essaye de lier un nom de domaine à l’adresse IP émetrice du message, DKIM tente d’associer un nom de domaine à un message en y aposant une signature numérique. La vérification de la signature se fait via une clef située dans un enregistrement DNS. Ce faisant, DKIM permet de vérifier si un message a été altéré durant son transport entre les différents serveurs SMTP. Et il garantit que le contenu arrivera intact jusqu’au destinataire.

Tout comme SPF, DKIM n’évite en rien le SPAM. Mais il permet d’être vu comme plus légitime par les serveurs recevant les messages. Les filtres peuvent alors se concentrer sur les messages non signés et leur infliger un filtrage plus agressif.

Exemple de signature par DKIM contenu dans le header d’un email :

DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;
     c=relaxed/simple; q=dns/txt; l=1234; t=1117574938; x=1118006938;
     h=from:to:subject:date:keywords:keywords;
     bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
     b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZ
              VoG4ZHRNiYzR

Authentification des emails et DMARC = Domain-based Message Authentication, Reporting and Conformance.

dmarc délivrabilité emailing

DMARC joue sur la synthèse entre SPF et DKIM. Pas en les remplaçant, mais en les unissant. Et en les rendant plus intelligents. On peut distinguer deux grandes utilisations de DMARC :

  1. Indiquer ce que le FAI/Webmail doit faire avec le message si l’authentification échoue (le laisser passer, le supprimer, le classer comme spam, …).
  2. Permettre à l’expéditeur d’être averti lorsque l’authentification échoue.

DMARC a été conçu par plusieurs grands noms du secteur de l’email (Return Path, Gmail, AOL, Microsoft, …) afin de lutter plus efficacement contre le Phishing dont le nombre d’attaques ne cesse d’augmenter. C’est d’ailleurs pour cette raison que des entreprises comme Paypal, Facebook ou LinkedIn se sont aussi associées à cette initiative.

Remarque.

J’ai bien conscience que le sujet de l’authentification des emails est très technique. N’hésitez donc pas à demander plus de précisions dans les commentaires, je me ferai un plaisir d’y répondre. De plus, je reviendrai probablement plus en détail sur ces différentes technologies dans le futur.

Vous désirez améliorer la délivrabilité de vos emails ?

Soutenez l'initiative "Email Expiration Date"

Brevo et Cofidis soutiennent financièrement le projet. Rejoignez le mouvement et ensemble, responsabilisons l’industrie de l’email face à l’urgence climatique.

Partagez
L’auteur

24 réponses

  1. Un des aspects les plus frustrants de DMARC est que bien qu’assez contraignant à mettre en place, son efficacité est toute relative. Certes, il devient impossible d’envoyer un mail From: service@maboite.com si DMARC est correctement configuré pour ce domaine, mais service@maboi1e.com ne comporte aucune restriction. Pire, le propriétaire du domaine pourrait même tranquillement configurer son SPF, son DKIM et son DMARC, tout en se faisant passer pour un autre aux yeux des non-avertis.
    Par ailleurs, s’il est vrai que les domaines utilisant SPF et DKIM sont généralement bien vus de la part des FAI receveurs, ça n’est pas le cas pour DMARC dont la démarche se veut volontairement neutre.
    Enfin, DKIM, en plus de permettre de garantir l’intégrité et la non-altération d’un message par un tiers, permet aux FAIs receveurs de créer une réputation pour chaque domaine signant en DKIM, puisque l’expéditeur est forcément celui qu’il prétend être. S’il envoie du spam, il est bien lui-même, et le FAI va lui pourrir sa réputation. Si les envois son propres, la réputation du domaine augmentera et les quotas d’envoi augmenterons éventuellement.

  2. ça fait toujours du bien de revoir les classiques et de les vulgariser.
    Dmarc est effectivement très important pour les sites/domaines ou entreprises sensibles, même si je pense qu’à terme tout le monde l’utilisera par défaut.

  3. Benjamin,

    Merci pour votre commentaire (et désolé, il n’a pas été publié tout de suite parce qu’il était en attente d’approbation).

    Concernant votre remarque sur DMARC, malheureusement, peu de solutions permettent de réellement lutter contre le phishing et il est évidemment possible d’être le plus gros spammeur du monde et d’avoir des emails valides au niveau SPF, DKIM, DMARC and c°.

    Mais pour lutter contre maboi1e.com, je vois bien peu de solutions, surtout si on reste avec notre bon vieux SMTP (qui a encore de beaux jours devant lui).

    À bientôt,

  4. ET BIEN, ce délai entre mon commentaire et sa publication tombe plutôt bien puisque je travaille en ce moment sur un projet qui tentera de répondre humblement à ce problème, justement.
    Plus d’infos quand ça sera officialisé =)

  5. Bonjour,
    Jusqu’ici, pas de problème avec la réception de ma newsletter.
    Depuis quelques jours, ma newsletter est rejetée, sur une adresse en aol.com, avec le Diagnostic-Code: smtp; 521 5.2.1
    Pas de problème avec les autres adresses d’envoi.
    Que puis-je faire pour que ma newsletter arrive de nouveau à son destinataire ?

  6. Bonjour,

    y a t il un moyen sur gmail de demander une identification de ceux qui envoient les emails, ou de par exemple accepter les emails que d adresse IP certifie et reconnue ?

    Car je recois en gros 20 spams et fishing par jour d’un meme hacker, qui etait un ami il y a bien longtemps de ca.
    Je sais qui il est, mais je ne peux pas le prouver puisqu il m envoit avec toute sorte d’adresse emails.
    Donc j aimerais savoir s il y a un logiciel ou une option dans gmail, qui oblige ceux qui m envoient des emails a avoir des adress IP tracable ?

  7. pour ma question sur le DKIM: pour la configuration ou bien header que sont pass avec la config de dkim ??? et 2question pour spf : y a t il des application que fait de check 150000000 milion domian ?? et mrc en avance

  8. Anthony > À ma connaissance, il n’y a pas d’option de ce type dans Gmail. Désolé.

  9. Karim > Désolé, mais je ne comprends pas vos questions.

  10. Bonjour Jonathan et merci pour ton article très intéressant.

    A l’aise pour mettre en place des sites web, je ne m’y connais pas du tout en protection messagerie, je comprends le php mais je ne programme pas, je me fais assister.

    Bref, depuis longtemps à présent, je reçois des retour d’email que je n’envoie pas avec des adresses emails de mon NDD qui n’existent pas.

    Est-ce que mettre en place DMARK serait un plus contre cette pratique d’usurpation et si oui, peux-tu être précis quand à : où et quoi mettre en place sur mon serveur. A te lire, j’imagine qu’il s’agit d’un simple fichier texte à mettre à la racine de son www ?? Quel serait la ligne de code à y mettre ?

    Je te remercie bcp car pour les personnes comme moi, il est difficile de trouver un « code tout fait »…

    Julien 🙂

  11. tout ceci est bien mais cela fait un an que je me bas avec des messages illicites ,je bloque l’expediteur ,je signale comme pishing ,je préviens google j’essais de trouver des sites d’alerte ,enfin tout ce qui inimaginable à ça jour j’en reçois toujours et toujours les meme mais à chaque fois les adresses changées
    Donc j’aimerai trouver une solution quand meme pour stopper tout ça Merci de m’aider Patricia

  12. Des solutions existent pour fermer la porte aux spams mais elles ne conviennent pas à tous, mais pour un utilisateur lamba, c’est utilisable sans problème.

    Si vous avez votre propre domaine (@dupont.fr) et accès à un panneau similaire à cPanel, vous pouvez :

    – Activer le Greylisting, en bref votre serveur fait attendre le serveur expéditeur, si c’est un spam, il ne sera pas renvoyé.

    – Activer le BoxTrapper, un expéditeur dont l’email n’est pas dans votre liste blanche, doit répondre à une vérification manuellement lors de son premier envoi. Ensuite ses autres emails seront acceptés sans confirmation.

    Si vous n’avez pas votre propre domaine, reste la solution de passer par un service tiers de filtrage, certains gratuits comme spamfence.net.

    Vous pouvez aussi utilisez des emails temporaires, semi-temporaires ou dédiés.
    Un peu long à expliquer… je suis en train de préparer divers articles sur la protection en général.

  13. Continue à t’occupé des courriels et laisse faire la téléphonie 😉

    Contrairement à ton premier paragraphe il est très facile de faire afficher un nom et un numéro avec la téléphonie IP, car la majorité des fournisseurs laisse le callerID envoyer par votre PBX passé sans filtrage. Par ce fait meme je peux appeler quelqu’un en affichant le nom et numéro du poste de police du cartier sans problème.

    Donc soyez vigilant

    Bonne journée

    Eric Beaulieu
    Spécialiste VoIP, nul en email 😉

  14. Pas très gentillet ce commentaire Eric, t’as passé une mauvaise journée ?

    Nous sommes sur un blog d’emailing, dans un post de 2014 que t’as déterré et tu viens la ramener avec des éléments techniques sur la téléphonie IP pour souligner l’inexactitude d’une image utilisée par Jonathan pour illustrer son propos sur les besoins et méthodes d’identification et authentification en emailing.

    Rien à rajouter, on a un perfect ! You made my day 🙂

  15. bonjour,
    merci pour les explications.
    Effectivement, c’est très technique et bien détaillé.

    Cordialement

  16. Bonjour,

    Je me demandais s’il est possible de ne pas avoir tous nos emails signé DKIM. En quelques mots pour expliquer : mes emails peuvent êtres envoyés par 3 serveurs différents, si je mets en place le DKIM sur l’enregistrement DNS, est-ce que le chiffrement doit être mis en place sur les 3 serveurs obligatoirement ?

    Merci pour le retour 😉
    Nicolas

  17. Bonjour,

    Dans le champ ipv4 du SPF, puis-je indiquer un nom de domaine type « nom.fr » au lieu de mettre directement une IP / Plage IP ?

  18. @Rr0ty

    Oui et non 😉 un nom de domaine seul n’a pas d’intérêt, vu que SPF nécessite toujours des adresses IP, ce sont elles que l’on authentifie. Par contre il est possible d’utiliser le méchanisme « include:domain.com » pour utiliser les IPs déclarées dans l’enregistrement SPF d’un autre domaine. Il est aussi possible de désigner les IPs des enregistrements MX et A.

    Il faudrait que l’on ait une petite mise à jour de l’article pour creuser ces différents points !

  19. Bonour
    Merci pour cet article.
    Peut-on déclarer les records SPF, DKIM et DMARK dans son propre serveur DNS externe (ex: ns1.mondomaine.com) ou bien doit-on impérativement demander a son ISP de le mettre sur son DNS public ?
    Merci par avance.

  20. Bonjour,

    Tout d’abord très bon article et pédagogique.
    Je me permet de remettre au jour la question de « Nicolas 08/01/2019  » : faut-il configurer DKIM sur l’ensemble des serveurs (MX & SPF)?

    Merci pour vos réponses.

  21. Bonjour à tous.

    Je partage la réponse de Jonathan (encore un grand merci) :

    Bonjour Hamid,

    Oui, il est nécessaire de configurer/signer avec DKIM tous les emails, qu’ils sortent directement de votre serveur email d’entreprise (celui de votre entregristement MX) ou d’un hébergeur. Sans DKIM, vous avez beaucoup de chance d’arriver en spam.

    C’est votre hébergeur Saas qui doit vous founir d’autres clefs DKIM à placer dans votre DNS.

    Bien à vous,

    Jonathan

    @+

  22. Rebonjour,

    Je me permet du coup de poser une autre question, toujours au sujet des DKIM/SPF/DMARK : quels sont les prérequis pour faire du mailling de masse (plusieurs milliers de destinataire) sans se voir blacklister …?

    Merci d’avance pour vos réponses et le temps consacré.

    à+,

    Zine

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *