Module 4 · 4.4
DKIM : la signature sous votre mail
Module 4: Enregistrements pour l'e-mail · Temps de lecture : 8 minutes
Objectif d'apprentissage : Après cette leçon, vous pourrez expliquer le fonctionnement de DKIM, trouver et vérifier un enregistrement DKIM, et placer correctement un enregistrement DKIM d'un service externe (en TXT ou en CNAME).
Notions clés : DKIM, signature numérique, clé privée et clé publique, sélecteur, _domainkey, d= et s=, v=DKIM1; k=rsa; p=, DKIM via CNAME, rotation des clés
Un sceau sur chaque mail
SPF (leçon 4.3) vérifie de quel serveur provient un mail. DKIM (DomainKeys Identified Mail, RFC 6376) fonctionne différemment : il appose une signature numérique sur le mail lui-même.
Voici comment cela fonctionne :
- Le serveur de messagerie expéditeur possède une clé privée secrète. Il l'utilise pour créer, pour chaque mail, une signature portant sur les parties les plus importantes : l'expéditeur, l'objet, la date et le contenu.
- Cette signature est incluse dans un en-tête du mail :
DKIM-Signature. - La clé publique correspondante se trouve dans le DNS du domaine, dans un enregistrement TXT.
- Le destinataire récupère cette clé publique et vérifie la signature. Si elle est correcte, il sait deux choses : le mail a bien été signé par quelqu'un qui gère le DNS de ce domaine, et le mail n'a pas été modifié en chemin.
L'avantage : DKIM continue de fonctionner même si un mail est transféré, tant que le contenu n'est pas modifié. C'est précisément là que SPF rencontre des difficultés.
Où se trouve la clé ? Le sélecteur
Un domaine peut avoir plusieurs clés DKIM : une pour votre propre serveur de messagerie, une pour Microsoft 365, une pour votre service de newsletter. Pour les distinguer, chaque clé porte un nom : le sélecteur.
La signature contient deux champs importants :
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: le domaine qui signe.s=mail2026: le sélecteur.
Le destinataire recherche alors la clé sous ce nom :
<selector>._domainkey.<domaine>
mail2026._domainkey.example.comLa partie _domainkey est fixe. L'enregistrement ressemble par exemple à ceci :
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Élément | Signification |
|---|---|
v=DKIM1 | Il s'agit d'une clé DKIM. |
k=rsa | Le type de clé. RSA est courant ; ed25519 existe également (RFC 8463). |
p=... | La clé publique elle-même, une longue suite de lettres et de chiffres. Si p= est vide, la clé a été révoquée. |
Une clé RSA de 2048 bits est le choix habituel ; 1024 bits est le minimum (RFC 8301). Une telle clé dépasse les 255 caractères, si bien que l'enregistrement se compose de plusieurs segments de texte (leçon 4.2). La plupart des panneaux s'en chargent automatiquement.
Votre propre DKIM, et celui des services
Votre offre d'hébergement ou votre serveur de messagerie. Sur de nombreux serveurs, DKIM est activé par défaut et le panneau place lui-même l'enregistrement dans le DNS. Vous voyez alors un enregistrement TXT avec un nom comme x._domainkey ou default._domainkey.
Si le DNS de votre domaine se trouve chez un autre prestataire (par exemple Cloudflare ou votre registrar), votre serveur de messagerie ne peut pas y placer l'enregistrement lui-même. Vous copiez alors le nom et la valeur complète depuis votre panneau d'hébergement et vous créez, chez votre prestataire DNS, un enregistrement TXT avec exactement ce nom et cette valeur. C'est un point que l'on oublie souvent lors d'un changement de serveurs de noms : le mail part alors soudain plus souvent en spam.
Services externes. Microsoft 365, Google Workspace et les services de newsletter signent avec leur propre clé. Ils vous fournissent un ou plusieurs enregistrements :
- En TXT, par exemple Google Workspace : nom
google._domainkey, valeurv=DKIM1; k=rsa; p=suivie de la longue clé. - En CNAME, par exemple Microsoft 365 (
selector1._domainkeyetselector2._domainkey) ou Mailchimp (k2._domainkeyetk3._domainkey). Un CNAME pointe vers une clé gérée par le service lui-même. Avantage : le service peut remplacer sa clé sans que vous ayez à faire quoi que ce soit.
Tous ces enregistrements ont leur propre sélecteur et ne se gênent donc pas mutuellement. Ne supprimez pas l'enregistrement DKIM de votre propre serveur de messagerie quand vous ajoutez un service.
Pourquoi deux sélecteurs ?
Des services comme Microsoft 365 demandent deux enregistrements CNAME, selector1 et selector2. Ils signent avec une seule clé à la fois et basculent périodiquement vers l'autre (rotation des clés). Si vous ne configurez que selector1, cela fonctionne jusqu'au premier basculement, après quoi DKIM échoue d'un seul coup. Configurez donc toujours tous les enregistrements indiqués par le service.
Erreurs fréquentes
- Nom de domaine en double. Vous saisissez
k2._domainkey.example.comdans un panneau qui ajoute lui-même le nom de domaine à la fin. Résultat :k2._domainkey.example.com.example.com. Saisissez uniquementk2._domainkey. - TXT au lieu de CNAME (ou l'inverse). Reprenez exactement le type indiqué par le service.
- Pas de point final sur une cible CNAME. Dans les panneaux qui le demandent :
dkim2.mcsv.net.avec le point. - Clé tronquée. Lors de la copie, la dernière partie de
p=est manquante. Comparez le début et la fin avec l'original. - DKIM activé dans le panneau du service, mais enregistrements non configurés, ou inversement. Chez la plupart des services, il faut d'abord placer les enregistrements, puis activer DKIM dans leur interface de gestion.
Vérifier que DKIM fonctionne
Envoyez un mail à une adresse chez un grand fournisseur (par exemple Gmail) et consultez l'original (Afficher l'original ou Afficher la source). Cherchez dkim=pass et regardez quel domaine y est associé. Ou envoyez un mail à un service de test comme mail-tester.com. Vous pouvez aussi consulter vous-même l'enregistrement avec un outil DNS : interrogez l'enregistrement TXT de <selector>._domainkey.<domaine>.
En pratique : à quoi cela ressemble dans un panneau
Dans cet exemple, nous utilisons DirectAdmin. Dans Administration DNS se trouve un enregistrement TXT nommé x._domainkey ; la valeur commence par v=DKIM1; k=rsa; p=. Sous Gestion E-mail, Comptes E-mail, se trouve un bouton pour activer ou désactiver DKIM. Un CNAME d'un service se crée via Ajouter un Enregistrement, type CNAME, nom k2._domainkey, valeur avec un point à la fin.
Dans d'autres panneaux, DKIM se trouve parfois sous « Authentification e-mail » ou « Sécurité e-mail », mais l'enregistrement dans le DNS est partout le même.
Résumé
- DKIM appose une signature numérique sur chaque mail ; la clé publique se trouve dans le DNS.
- La clé se trouve à
<selector>._domainkey.<domaine>. Le sélecteur figure dans la signature (s=), le domaine aussi (d=). - Chaque service possède son propre sélecteur ; les enregistrements de différents services coexistent sans conflit.
- Les services utilisent souvent des enregistrements CNAME et plusieurs sélecteurs. Configurez-les tous, avec exactement le type indiqué.
- Si votre DNS se trouve chez un autre prestataire, vous devez y placer vous-même la clé DKIM de votre propre serveur de messagerie.
Quiz
Exercice
Exercice Z4.4 : Rechercher un DKIM. Ouvrez un mail reçu d'une entreprise ou d'une organisation et consultez l'original. Recherchez dans l'en-tête DKIM-Signature le domaine (d=) et le sélecteur (s=). Saisissez les deux. La vérification recherche la clé correspondante.
Exercice O4.4 : Configurer vous-même dans votre zone d'entraînement. Dans la zone d'entraînement, vous utilisez un faux service ; pour votre domaine réel, vous reprenez la véritable clé ou le véritable CNAME de votre serveur de messagerie ou de votre service. Vous recevez avec l'exercice une clé d'entraînement (la valeur après p=). Cette clé est longue : collez-la intégralement, sans rien omettre. Créez dans votre zone d'entraînement :<code>.dnspractice.eu
- un enregistrement TXT sur
cursus._domainkeyavec la valeurv=DKIM1; k=rsa; p=<oefensleutel>; - un enregistrement CNAME sur
k2._domainkeypointant versdkim.newsletter-demo.dnspractice.eu.(avec le point final si votre panneau le demande).
Exercice O4.4
Vous réalisez cet exercice dans votre propre zone d'entraînement : une véritable zone DNS sur les serveurs de noms de WebOké, rien que pour vous. Inscrivez-vous avec votre adresse e-mail. Vous recevrez un lien de connexion par e-mail et reviendrez ensuite sur cette leçon. Nous utilisons votre adresse uniquement pour le cours.
Pour aller plus loin
Les étapes décrites dans ces articles valent pour les panneaux de WebOké ; dans d'autres panneaux, le fonctionnement est comparable.
- Guide DirectAdmin 5.8: Activer et vérifier DKIM
- Configurer DKIM lorsque le DNS est géré sur un serveur externe
- Guide DirectAdmin 5.4: Enregistrements CNAME et le point final
- Guide WebOké 6.7: La carte Configurer la messagerie (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (longueur de clé), RFC 8463 (Ed25519)
