Qu’est-ce que DKIM ? Configuration, vérification et monitoring.

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.

Cet article est avant tout pour ceux ou celles qui souhaitent savoir ce qui se cache derrière ces quatre lettres : D K I M

Si l’enregistrement SPF reste peu connu, DKIM est, quant à lui, généralement encore moins connu. Tout comme SPF, on va essayer de vous expliquer en quelques lignes qu’est-ce que DKIM, à quoi ça sert, comment ça fonctionne, comment ça se paramètre et comment vérifier qu’il est bien paramétré sur un domaine !

Définition de DKIM

DKIM – ou DomainKeys Identified Mail – est une norme d’authentification e-mails utilisant un système de signature cryptographique permettant de garantir l’intégrité du message lors de son envoi jusqu’à réception chez le destinataire. Une clé DKIM est composée d’une clé privée (qui se trouvera dans votre outil de routage) et d’une clé publique (qui se trouvera dans l’enregistrement TXT de votre domaine). Ces 2 clés seront liées à vie par un sélecteur ! Sans lui, malheureusement, il sera impossible de savoir si votre clé publique et clé privée correspondent et donc par définition si votre e-mail est bien celui qui est parti de vos serveurs…

Si vous souhaitez en savoir plus sur l’historique de DKIM, n’hésitez pas à consulter le site officiel.

Pourquoi implémenter DKIM sur tous vos domaines ?

Tout comme SPF, l’objectif premier de DKIM est de protéger l’expéditeur d’un e-mail des risques liés au spam et à l’usurpation d’identité. Et oui, dès que vos e-mails quittent vos serveurs d’envoi, il devient alors vulnérable (et plus d’une personne lui voudra du mal) !

Mais son paramétrage va bien au-delà de combattre le spam et le phishing. En déployant DKIM, vous montrez aux filtres Anti-Spam que vous utilisez les technologies recommandées pour vos envois d’e-mails. Attention toutefois, ceci ne fera pas de vous pour autant un bon annonceur mais au moins vous prouverez que vous n’êtes pas un pur spammeur !

Tout comme je l’avais mentionné dans mon article sur SPF, ne pensez surtout pas que vous êtes à l’abri un jour de subir une attaque de spam ou de phishing car malheureusement pour vous, le spam et le phishing n’épargnent personne ! (Même si vous êtes une startup, un indépendant débutant ou confirmé, une PME, etc.)

Pour conclure, plus vous négligerez la protection de vos domaines, plus vous aurez de chance de voir une personne mal intentionnée chercher à les utiliser à des fins pas très glorieuses.

Concrètement, comment fonctionne DKIM ?

Son fonctionnement reste plutôt simple. Lorsqu’un e-mail va être envoyé, il va contenir une signature (la clé privée paramétrée sur votre serveur d’envoi est alors utilisée pour crypter la signature). À réception, le serveur distant va interroger la zone DNS de votre domaine afin de vérifier si la signature contenue dans votre e-mail, la clé publique paramétrée sur votre domaine et le sélecteur correspondent bien.

Une image contenant horloge

Description générée automatiquement
Schéma de fonctionnement de la norme DKIM
  • Si la clé publique, la signature de l’e-mail et le sélecteur matchent tous, cela veut dire que le message n’a pas été altéré pendant son envoi et donc provient bien de son expéditeur.
  • Si la clé publique, la signature de l’e-mail et le sélecteur ne matchent pas, cela veut dire que le message a été altéré pendant son envoi et donc qu’il ne provient pas de l’expéditeur qu’il prétend être mais d’un tiers cherchant à usurper son identité.

Note : Contrairement à SPF où vous ne pourrez ajouter qu’un enregistrement SPF par domaine, vous pourrez avec DKIM avoir plusieurs clés publiques enregistrées sur votre domaine (par exemple, vous utilisez 2 outils de routage, vous pouvez paramétrer 1 clé par outil de routage soit 2 clés).

Go go go… On passe au paramétrage !

Vous avez deux options pour créer votre clé DKIM : soit utiliser un outil en ligne, soit utiliser la clé de votre routeur professionnel !

Générer une clé DKIM

Avec une application en ligne : DKIMCore

DKIMCore est un outil en ligne qui vous permettra de créer une clé DKIM. Il vous suffira juste de rentrer votre domaine et l’outil va vous générer votre clé privée (qui sera à ajouter à votre serveur d’envoi), votre clé publique et votre sélecteur (qui seront à ajouter à votre domaine).

Étape n°1 : Vous renseignez votre nom de domaine
Une image contenant texte

Description générée automatiquement
Étape n°2 : Vous récupérez les informations liées à votre clé DKIM

Avec votre routeur professionnel

C’est la façon la plus facile ! Comme vous utilisez un outil de routage professionnel, votre ESP (cf. Email Service Provider) va vous fournir votre clé DKIM en vous demandant directement d’implémenter la clé publique (incluant le sélecteur) sur votre domaine et le tour est joué 

Note 1 : Vous avez également la possibilité via votre ordinateur et le logiciel Putty Key Generator (j’utilisais cette méthode quand j’étais jeune !) via WinSCP de créer votre clé DKIM. Si cette méthode vous intéresse, je vous renvoie vers cet article complet de KDJ Webdesign.

Note 2 : Google utilise maintenant depuis plusieurs années des clés encodées en 2048-bits mais la plupart du temps on vous recommandera au moins d’avoir une clé encodée à 1024-bits (ou plus). Personnellement (et ça n’engage que moi), j’opterai pour le format de Google 

Implémenter la clé publique & clé privée sur votre domaine

Comme je vous l’ai dit à plusieurs reprises, la clé publique se place sur le domaine et plus précisément dans votre zone TXT. Le paramétrage des 2 clés va dépendre de l’hébergeur que vous utilisez et du routeur que vous utilisez.

Configuration de la clé publique

Que vous passiez par la création d’une clé DKIM via une application ou si votre routeur professionnel vous la fournit, la clé publique se paramétrera chez l’hébergeur de votre nom de domaine (il faudra se référer généralement à la documentation fournie par l’hébergeur).

Configuration de la clé privée

En ce qui concerne la clé privée, si vous utilisez un routeur professionnel SaaS comme Actito, Sendinblue ou encore Mailjet, vous n’aurez qu’à ajouter leur clé publique pour authentifier votre domaine. Dans certains cas (je pense à mes années Neolane – Adobe Campaign maintenant), vous devrez ajouter votre clé privée (si c’est vous qui l’avez générée) directement dans la configuration de votre instance (il faudra alors parcourir votre documentation technique pour pouvoir trouver le bon endroit).

Besoin d'aide ?

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


Note : la clé privée est… comment dire… privée (comme son nom l’indique) et donc ne doit être communiquée à personne !

Et chez Badsender, ça donne quoi ?

Voici ce que nous avons déclaré dans notre domaine Badsender.com et bien sûr, je ne vous montrerai que notre clé publique

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBMZ33Nv8+dde7Ovkp
PdxtT1DXnq0/idJhaKN6Bn4DxknuWwjQpxNmw3arr9/KE5knDt8nqBWsN6ZeebZCQ98u7RFrJO
7CiIL4iir1dFziQ1qT1SFXHN6zXPrzQAErPsoCxQsv7fUiPTB1nDFuAO6lRCMZNvOCP4pVORZ4
2u2KxQIDAQAB;

On y retrouve différentes informations comme la version de DKIM (v=), les mécanismes utilisés pour décoder la signature DKIM (k=), la clé publique encodée (p=).

Et la signature contenue dans un e-mail :

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=badsender.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=atrqrzoOOt6QQ2ftP5NNkk7E3EJsyCAlwrSXXzbom5w=; b=HbGGbRIZh81OdUbGnkwW6pyZInXckMC6keL+VRUQrPTtfVm9Hbj4hBFHdtaxFuIjwFgB1Ra/jJ/w9pn9dr/KAey9oBNJV2wiOJ3VGAenvKRKta+7i18HVKQXmUITbzEUb4i/30OITDSPV1ib6nfnMHnYHkGaCGJ08P/4LHIkLP4=

Là aussi, vous y trouverez beaucoup d’informations comme la version de DKIM (v=), l’algorithme de signature (a=), le domaine signé (d=), le sélecteur (s=), les véritables signatures des contenus (b=), le hachage du body (bh=), …

Comment vérifier si DKIM est bien paramétré ?

Personnellement, je n’utilise qu’un outil pour vérifier si DKIM est bien valide sur un domaine, il s’agit de DKIMCore. Vous pouvez également utiliser l’outil de Mxtoolbox ou de DMARCAnalyser.

Une image contenant capture d’écran

Description générée automatiquement
Exemple d’outil pour vérifier la signature DKIM d’un domaine (via DKIMCore)

Pour cela, il faudra votre nom de domaine ainsi que le sélecteur associé car sans lui, impossible de vérifier votre signature DKIM. Si vous ne le connaissez pas, pas de panique, il vous suffira d’envoyer un e-mail et vérifier son entête SMTP.

Dans l’entête SMTP d’un e-mail de Badsender (chez Gmail), nous retrouvons en vert le sélecteur utilisé pour la signature DKIM.

dkim=pass header.i=@badsender.com header.s=selector2 header.b=S0W1FpEi;

Une fois le sélecteur en votre possession, il suffit de les rentrer dans les champs correspondants et hop le résultat s’affiche 

Une image contenant capture d’écran, tenant, table

Description générée automatiquement
Résultat obtenu suite à la vérification via DKIMCore

Pour ceux qui aiment plus les consoles que les outils graphiques, vous avez également la possibilité de vérifier en ligne de commande via «Terminal» sur MacOs (ou MS-Dos si vous êtes sous Windows) votre signature DKIM :

dig votreselecteur._domainkey.votredomaine TXT
dig selector2._domainkey.badsender.com TXT

On vérifie DKIM sur l’enregistrement TXT du domaine :

Une image contenant texte

Description générée automatiquement
Résultat obtenu dans Terminal sur MacOs

Comment monitorer DKIM ?

Malheureusement, tout comme SPF, vous ne pourrez pas monitorer DKIM directement (même via des outils externes) et donc vous n’aurez aucune chance de savoir si quelqu’un a essayé d’usurper votre nom de domaine.

Par contre, tout comme SPF (encore), il existe un moyen indirect… DMARC ! Grâce aux rapports envoyés par les FAI/Webmails vérifiant DMARC, vous avez la possibilité de savoir si quelqu’un a essayé d’usurper ou d’utiliser votre nom de domaine ou si vous avez une clé DKIM défaillante.

Monitoring du domaine Badsender.com avec la solution DMARC de 250Ok

Dans l’exemple ci-dessus, on peut constater que le domaine «*.etilux.be» a émis un e-mail avec le domaine «badsender.com», DKIM est déclarée «Fail». On peut se poser la question de la légitimité de ce domaine à émettre des e-mails de Badsender.com. Est-ce une usurpation d’identité ou un simple transfert de mail ?

On conclut !?!

Une nouvelle fois, j’espère que cet article va vous aider à mieux comprendre ce système d’authentification complexe et vous inciter, si toutefois ce n’est pas encore fait, à le mettre en place sur tous vos domaines (et sous-domaines) car je suis encore étonné qu’en 2020, certains annonceurs n’ont pas encore paramétré DKIM sur leur domaine (peut-être sans le savoir), le rendant ainsi vulnérable…

Si vous avez des questions, commentaires/remarques à faire, n’hésitez pas à nous contacter  Vous pouvez également consulter nos derniers articles sur l’authentification e-mails :

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

Laisser un commentaire

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