DKIM Checker — Valider et sécuriser un enregistrement DKIM DNS

DKIM Checker — Valider et sécuriser un enregistrement DKIM DNS

DKIM : Valider et sécuriser un enregistrement

Introduction

La signature DKIM (DomainKeys Identified Mail) est un composant central de l’authentification email moderne aux côtés de SPF et DMARC. Une mauvaise implémentation DKIM ne bloque pas toujours l’envoi des messages, mais elle dégrade la délivrabilité, fragilise la posture anti-spoofing et expose l’organisation à des usurpations de domaine.

L’outil DKIM Checker d’ITPlatform permet d’analyser la syntaxe et la robustesse d’un enregistrement DKIM publié en DNS. Il s’adresse aux administrateurs systèmes, DevOps et responsables IT qui souhaitent valider rapidement un enregistrement TXT avant mise en production ou lors d’un audit messagerie.

Problématique terrain

Dans les environnements réels, les problèmes suivants sont fréquents :

  • Clé RSA trop faible (1024 bits encore présents en production).
  • Mauvaise concaténation des segments TXT DNS.
  • Tag v= ou p= manquant.
  • Usage résiduel de sha1.
  • Clé révoquée publiée par erreur (p= vide).
  • Mode test (t=y) laissé actif en production.
  • Mauvaise gestion de rotation des sélecteurs.
  • Copié-collé tronqué depuis une interface SaaS (Google Workspace, Microsoft 365, etc.).

Ces erreurs ne sont pas toujours visibles immédiatement. Elles apparaissent souvent lors :

  • d’un audit DMARC,
  • d’un incident de délivrabilité,
  • d’une migration d’infrastructure mail,
  • d’un changement de prestataire SMTP.

Le validateur permet une vérification statique immédiate avant diagnostic plus approfondi.

Explication technique structurée

1. Rappel du fonctionnement DKIM

DKIM repose sur la cryptographie asymétrique :

  • Clé privée : utilisée par le serveur émetteur pour signer les emails.
  • Clé publique : publiée en DNS sous forme d’enregistrement TXT.
  • Le serveur récepteur récupère la clé publique via :
selector._domainkey.domain.tld

La spécification de référence est la RFC 6376.

2. Structure d’un enregistrement DKIM

Exemple typique :

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...

Tags principaux :

Tag Obligatoire Description
v= Oui Version (DKIM1)
p= Oui Clé publique encodée en Base64
k= Non (défaut rsa) Type de clé (rsa, ed25519)
h= Non Algorithmes de hachage autorisés
t= Non Mode test (y) ou restriction
s= Non Service type

3. Points analysés par DKIM Checker

L’outil vérifie :

  • Présence des tags obligatoires.
  • Conformité syntaxique RFC.
  • Détection d’erreurs de séparation (; manquants).
  • Détection de clés révoquées (p= vide).
  • Identification du type de clé.
  • Indication de robustesse cryptographique.
  • Signalement du mode test.
  • Détection d’algorithmes obsolètes.

Il s’agit d’une analyse statique de la valeur TXT, sans interrogation DNS active (version actuelle).

Implémentation concrète

1. Récupération d’un enregistrement DKIM

Vérification DNS :

dig TXT selector._domainkey.votredomaine.com +short

ou

nslookup -type=TXT selector._domainkey.votredomaine.com

Copier uniquement la valeur TXT (sans guillemets multiples).

2. Exemple correct (RSA 2048)

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv...

Analyse attendue :

  • Version valide.
  • Clé présente.
  • Algorithme RSA détecté.
  • Aucun tag incohérent.

3. Exemple clé révoquée

v=DKIM1; p=

Interprétation :

  • Clé explicitement révoquée.
  • Utilisé lors d’une rotation propre.
  • Ne doit pas correspondre à un sélecteur encore actif.

4. Exemple incorrect (erreur syntaxe)

v=DKIM1 k=rsa p=MIIBIjANBg...

Problème :

  • Absence de ;
  • Parsing impossible côté récepteur.
  • Signature DKIM invalidée.

5. Vérification longueur clé RSA

Extraction manuelle :

echo "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..." | base64 -d | openssl rsa -pubin -text -noout

Vérifier :

Public-Key: (2048 bit)

Recommandation minimale actuelle : 2048 bits.

1024 bits est considéré faible dans un contexte 2026.

Erreurs fréquentes

Clé fragmentée mal concaténée

Les DNS autorisent la segmentation :

"v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0..."

Certains copier-coller introduisent :

  • Retours à la ligne
  • Espaces internes
  • Caractères invisibles

Conséquence : échec de validation côté réception.

Oubli du tag v=DKIM1

Certains générateurs tiers omettent explicitement la version.

Résultat : non conforme RFC.

Usage de SHA-1

Si h=sha1 est explicitement déclaré :

  • Obsolète
  • Refusé par certains serveurs
  • Impact négatif délivrabilité

Mode test laissé actif (t=y)

En production :

  • Les échecs ne sont pas bloquants
  • DMARC peut ne pas s’aligner correctement
  • Perte de protection effective

Rotation mal planifiée

Supprimer un sélecteur actif avant propagation complète :

  • Emails signés non vérifiables
  • Échecs DKIM massifs

Bonnes pratiques professionnelles

1. Standard minimal actuel

  • RSA 2048 bits minimum.
  • SHA-256 uniquement.
  • Un sélecteur par service SMTP.

2. Stratégie de rotation propre

  1. Publier nouveau sélecteur.
  2. Configurer signature côté MTA.
  3. Vérifier trafic.
  4. Révoquer ancien sélecteur (p= vide).
  5. Supprimer après délai (30–60 jours).

3. Segmentation des usages

Exemple :

  • smtp2026
  • newsletter-q1
  • app-notifications

Évite exposition globale si compromission d’une clé.

4. Surveillance DMARC

Analyser régulièrement :

  • Rapports agrégés.
  • Échecs DKIM.
  • Alignement SPF/DKIM.

5. Sécurité opérationnelle

  • Génération clé sur machine sécurisée.
  • Stockage clé privée chiffré.
  • Accès restreint au serveur mail.
  • Sauvegarde contrôlée.

6. Attention aux fournisseurs SaaS

Microsoft 365, Google Workspace ou prestataires SMTP génèrent souvent :

  • Clés 2048 bits correctes.
  • Sélecteurs spécifiques.
  • Rotation automatisée.

Mais :

  • Vérifier publication DNS effective.
  • Vérifier absence de doublons conflictuels.

Conclusion pragmatique

DKIM n’est pas complexe sur le papier, mais les erreurs de configuration sont fréquentes en production. Une validation statique rapide avant déploiement évite :

  • Problèmes de délivrabilité.
  • Échecs DMARC.
  • Failles anti-spoofing.
  • Incidents lors d’audit sécurité.

Le >DKIM Checker permet un premier niveau de validation syntaxique et cryptographique. Il ne remplace pas :

  • Une analyse complète SPF/DKIM/DMARC.
  • Un audit de flux SMTP.
  • Une vérification d’alignement DMARC.

Mais il constitue un outil opérationnel utile dans un workflow d’administration DNS et de sécurisation messagerie.

Liens internes suggérés