Pourquoi vérifier DNSSEC ?
DNSSEC (DNS Security Extensions) ajoute une vérification cryptographique aux réponses DNS. Sans cette protection, un attaquant peut falsifier les réponses et rediriger votre trafic vers ses propres serveurs. C'est le principe du cache poisoning.
Le danger est silencieux. Un DS orphelin ou une rotation de clés incomplète fait disparaître un domaine. Aucun monitoring HTTP, aucun ping, aucun uptime check ne détectera ce problème. Ces pannes silencieuses persistent des jours. Les résolveurs validants (Google, Cloudflare, Quad9) renvoient SERVFAIL au lieu de la réponse attendue.
Quatre raisons de vérifier votre DNSSEC :
- Sécurité : Confirmer que la chaîne est intacte. Vos visiteurs atteignent vos serveurs, pas ceux d'un attaquant.
- Disponibilité : Un DNSSEC cassé bloque 30 %+ des requêtes mondiales. Google, Cloudflare et Quad9 rejettent la réponse.
- Conformité : Banques, gouvernements, santé et e-commerce exigent DNSSEC sur les domaines critiques.
- Détection proactive : Repérer DS orphelins, algorithmes faibles et signatures expirées avant la panne.
Comment utiliser le DNSSEC Checker en 3 étapes
Étape 1 : Entrez votre domaine
Saisissez le nom de domaine à vérifier (par exemple cloudflare.com ou nic.fr). L'outil accepte tout domaine, signé DNSSEC ou non. Si DNSSEC n'est pas activé, le résultat l'indique immédiatement.
Étape 2 : Choisissez le mode d'analyse
- Mode Simple (par défaut) : Vérifie la chaîne de confiance complète via un serveur autoritaire par zone. Résultat en 1 à 3 secondes.
- Mode Complet : Ajoute la cohérence DNSKEY entre tous les serveurs autoritaires. Valide aussi les signatures RRSIG sur SOA, NS, A et MX. Résultat en 5 à 10 secondes.
En cas de doute, commencez par le mode Simple. Utilisez le mode Complet après un key rollover, une migration DNS ou pour un audit de sécurité.
Étape 3 : Analysez le rapport et corrigez
Le rapport classe chaque anomalie par sévérité :
- Les erreurs bloquent la résolution. Chaîne cassée, signatures invalides, incohérence entre serveurs.
- Les avertissements nécessitent une action. DS orphelins, algorithmes faibles, RRSIG expirant bientôt.
- Les informations ne requièrent aucune action. CSK détectée, NS hors-bailiwick, nombre de DS au parent.
Qu'est-ce que la chaîne de confiance DNSSEC ?
La chaîne de confiance DNSSEC (chain of trust) est un relais de vérifications cryptographiques en cascade. Chaque zone se porte garante de la suivante, de la racine DNS jusqu'à votre domaine :
Racine (.)
|-- DS du TLD --> vérifie la DNSKEY du TLD (KSK)
|-- La ZSK du TLD signe le DS de votre domaine
|-- DS de votre domaine --> vérifie votre DNSKEY (KSK)
|-- Votre KSK signe le DNSKEY RRSet
|-- Votre ZSK signe les données (A, MX, SOA, NS)
Les enregistrements clés :
| Enregistrement | Rôle | Où il est publié |
|---|---|---|
| DS (Delegation Signer) | Hash d'une DNSKEY enfant, crée le lien entre zones | Zone parent |
| DNSKEY | Clé publique de la zone (KSK = flags 257, ZSK = flags 256) | Zone enfant |
| RRSIG | Signature cryptographique d'un ensemble d'enregistrements | Zone enfant |
| NSEC/NSEC3 | Preuve authentifiée d'inexistence d'un enregistrement | Zone enfant |
Chaque maillon dépend du précédent. Un seul maillon brisé et toute la chaîne s'effondre. Les résolveurs validants renvoient alors SERVFAIL.
Que vérifie exactement l'outil ?
Mode Simple
| Élément | Description | Résultat |
|---|---|---|
| DS Records | Enregistrements DS publiés chez le parent | Match avec DNSKEY, orphelins, digest faible |
| DNSKEY Records | Clés publiques de la zone (KSK/ZSK) | Présence, algorithme, association DS |
| RRSIG sur DS | Signature du DS RRSet par la ZSK du parent | Validité cryptographique + fenêtre temporelle |
| RRSIG sur DNSKEY | Signature du DNSKEY RRSet par la KSK | Validité cryptographique + fenêtre temporelle |
| Algorithmes | Type d'algorithme de signature | Détection algorithmes dépréciés (RFC 8624) |
| Digests DS | Type de hash du DS | Détection SHA-1 déprécié |
Mode Complet (en plus)
| Élément | Description | Résultat |
|---|---|---|
| Cohérence DNSKEY | Compare les DNSKEY sur tous les serveurs autoritaires | Détection d'incohérences entre serveurs |
| RRSIG sur SOA | Signature de l'enregistrement SOA | Validité + délai avant expiration |
| RRSIG sur NS | Signature des enregistrements NS | Validité + délai avant expiration |
| RRSIG sur A/MX | Signatures des enregistrements A et MX | Validité + délai avant expiration |
| Expiration RRSIG | Délai avant expiration de chaque signature | Alerte si expiration dans moins de 7 jours |
Diagnostics courants et solutions
DS orphelin (DNSSEC_DS_ORPHAN)
Symptôme : Un enregistrement DS est publié chez le parent mais aucune DNSKEY correspondante n'existe dans votre zone.
Cause probable : Rotation de clés incomplète. L'ancienne clé a été supprimée de la zone avant la mise à jour du DS chez le registrar.
Action : Supprimez le DS orphelin via votre registrar ou ajoutez la DNSKEY correspondante. Relancez le test pour confirmer.
Algorithme faible (DNSSEC_WEAK_ALGO)
Symptôme : Votre zone utilise un algorithme de signature considéré comme non sûr par la RFC 8624.
Algorithmes concernés : RSAMD5 (1), DSA (3), DSA-NSEC3-SHA1 (6) sont interdits. RSASHA1-NSEC3-SHA1 (7) est déconseillé.
Action : Migrez vers ECDSAP256SHA256 (13) ou ED25519 (15). Relancez le test pour confirmer.
Digest SHA-1 (DNSSEC_WEAK_DIGEST)
Symptôme : Votre DS utilise SHA-1 (type 1) comme type de digest.
Action : Ajoutez un DS SHA-256 (type 2) en parallèle. Attendez 48h de propagation, puis supprimez le DS SHA-1. Relancez le test pour confirmer.
SERVFAIL après activation DNSSEC
Symptôme : Votre domaine renvoie SERVFAIL pour les résolveurs validants après activation de DNSSEC.
Causes fréquentes :
- DS au registrar ne correspond pas à la DNSKEY de votre zone
- Signatures RRSIG non générées ou expirées
- Serveurs autoritaires ne servant pas les enregistrements DNSKEY
Action : Lancez le test en mode Complet pour identifier le maillon cassé. Vérifiez que le DS correspond à la DNSKEY KSK. Relancez le test pour confirmer.
Incohérence DNSKEY entre serveurs (DNSSEC_SERVER_INCONSISTENT)
Symptôme : Les serveurs autoritaires de votre zone ne servent pas les mêmes clés DNSKEY. Détecté uniquement en mode Complet.
Cause probable : Propagation incomplète entre serveurs primaire et secondaires, ou configuration différente sur un serveur.
Action : Vérifiez la réplication entre serveurs. Forcez un transfert de zone (AXFR/IXFR) si nécessaire. Relancez le test pour confirmer.
Vérifier DNSSEC avec dig (ligne de commande)
Pour les administrateurs système, la commande dig permet de vérifier DNSSEC manuellement :
# Vérifier les enregistrements DS chez le parent
dig DS captaindns.com +short
# Vérifier les DNSKEY de la zone
dig DNSKEY captaindns.com +dnssec +short
# Vérifier les RRSIG sur un enregistrement
dig A captaindns.com +dnssec
# Vérifier la chaîne complète avec validation
dig captaindns.com +sigchase +trusted-key=./root.keys
Ces commandes nécessitent un accès terminal et une expertise DNS. Le DNSSEC Checker ci-dessus automatise tout le processus. Il présente les résultats visuellement, sans ligne de commande.
DNSSEC par hébergeur DNS
L'activation de DNSSEC dépend de votre hébergeur DNS et de votre registrar. Voici les principaux providers et leur niveau de support :
| Hébergeur | DNSSEC | Activation | Algorithme par défaut |
|---|---|---|---|
| Cloudflare | Automatique | Un clic dans le dashboard, puis ajout du DS chez le registrar | ECDSAP256SHA256 (13) |
| OVH | Supporté | Activation via l'espace client ou l'API | Varie selon la configuration |
| AWS Route 53 | Supporté | Via la console AWS, création de KSK puis DS chez le registrar | ECDSAP256SHA256 (13) |
| Gandi | Automatique | Activé par défaut si Gandi est registrar + hébergeur DNS | ECDSAP256SHA256 (13) |
| Infomaniak | Supporté | Activation via le manager | ECDSAP256SHA256 (13) |
Après activation, vérifiez toujours la chaîne de confiance avec le DNSSEC Checker. L'erreur n°1 : un DS au registrar qui ne correspond pas à la DNSKEY générée par l'hébergeur.
Bonnes pratiques DNSSEC
Algorithme de signature : Privilégiez ECDSAP256SHA256 (13) ou ED25519 (15). ECDSA produit des signatures 4x plus compactes que RSA-2048.
Digest DS : Publiez un DS avec SHA-256 (type 2). Ne publiez plus de DS SHA-1 seul.
Rotation de clés : Suivez le processus RFC 7583. Ne supprimez jamais l'ancien DS avant propagation du nouveau.
Monitoring : Vérifiez la chaîne après chaque modification DNS. Une zone non re-signée à temps provoque des SERVFAIL.
Migration de provider : Confirmez que le nouveau provider supporte le même algorithme. Les deux jeux de clés doivent coexister pendant la propagation.
Cas d'usage concrets
Activation DNSSEC chez un nouveau registrar
Vous venez d'activer DNSSEC ? Lancez une vérification en mode Simple. Confirmez que le DS au parent correspond à la DNSKEY de votre zone. La chaîne doit être complète de bout en bout.
Rotation de clés (key rollover)
Vous effectuez un key rollover ? Vérifiez l'absence de DS orphelins avec le mode Simple. Un ancien DS non supprimé ne casse pas la résolution. Il complique cependant les futurs rollovers.
Migration de provider DNS
Vous migrez vers Cloudflare ? Route 53 ? Lancez le test en mode Complet. Vérifiez que les DS pointent vers les nouvelles DNSKEY. Confirmez la validité des signatures sur tous les serveurs autoritaires.
Audit de sécurité
Le mode Complet couvre les trois piliers d'un audit DNSSEC. Cohérence DNSKEY entre serveurs. Signatures valides sur SOA, NS, A et MX. Alerte sur les RRSIG proches de l'expiration.
Domaine renvoyant SERVFAIL
Votre site est inaccessible depuis certains réseaux ? Ces réseaux utilisent probablement des résolveurs validants. Lancez le test immédiatement pour identifier si DNSSEC est en cause.
❓ FAQ - Questions fréquentes
Q : DNSSEC, c'est quoi et pourquoi l'activer ?
R : DNSSEC ajoute des signatures cryptographiques aux réponses DNS. Sans DNSSEC, un attaquant peut falsifier les réponses et rediriger le trafic. Activer DNSSEC garantit que les visiteurs atteignent vos serveurs, pas ceux d'un attaquant.
Q : Comment vérifier si DNSSEC est activé sur mon domaine ?
R : Entrez votre domaine dans l'outil ci-dessus. S'il affiche "DNSSEC n'est pas activé", aucun DS n'est publié chez le parent. Contactez votre registrar.
Q : Qu'est-ce qu'un DS orphelin ?
R : Un DS au parent sans DNSKEY correspondante dans la zone enfant. Cela arrive lors d'une rotation de clés incomplète. Pas bloquant tant qu'un autre DS valide existe.
Q : Pourquoi mon domaine renvoie SERVFAIL après activation de DNSSEC ?
R : La chaîne de confiance est cassée. Causes fréquentes : DS ne correspondant pas à la DNSKEY, RRSIG absentes ou expirées, DNSKEY non servies. Lancez le mode Complet pour identifier le maillon défaillant.
Q : Quelle est la différence entre les modes Simple et Complet ?
R : Simple vérifie la chaîne DS/DNSKEY/RRSIG sur un serveur par zone (1-3 s). Complet ajoute la cohérence multi-serveurs et les RRSIG sur SOA/NS/A/MX (5-10 s).
Q : Quels algorithmes DNSSEC sont recommandés ?
R : ECDSAP256SHA256 (13) et ED25519 (15). Évitez RSAMD5, DSA et RSASHA1-NSEC3-SHA1, considérés comme faibles par la RFC 8624.
Q : DNSSEC ralentit-il la résolution DNS ?
R : Impact négligeable. Les réponses sont plus volumineuses mais les résolveurs mettent en cache les résultats validés normalement.
Outils complémentaires
| Outil | Utilité |
|---|---|
| DNS Domain Check | Audit complet de la configuration DNS incluant une vérification DNSSEC basique |
| DNS Lookup | Interroger manuellement les enregistrements DS, DNSKEY ou RRSIG |
| DNS Propagation Test | Vérifier la propagation des modifications DNSSEC à travers le monde |
| RDAP Lookup | Vérifier le statut DNSSEC du domaine auprès du registrar |
Ressources utiles
- RFC 4033 - DNS Security Introduction : Introduction aux extensions DNSSEC
- RFC 4034 - Resource Records for DNSSEC : Spécification des enregistrements DS, DNSKEY, RRSIG, NSEC
- RFC 8624 - Algorithm Implementation Requirements : Exigences sur les algorithmes DNSSEC
- RFC 7583 - DNSSEC Key Rollover Timing : Guide pour la rotation de clés
- Verisign DNSSEC Debugger : Outil de référence pour le debug DNSSEC
- DNSViz : Visualisation avancée de la chaîne DNSSEC