Wiki DNSprobe · Section DNSSEC
Signature DNSSEC (Domain Name System SECurity extensions) et vérifications de validation
DNSprobe inspecte la configuration DNSSEC de votre domaine pour s’assurer que la zone est correctement signée et que les résolveurs peuvent valider vos réponses sans erreur.
DNSSEC ajoute une couche de signatures cryptographiques par-dessus le DNS classique. Elle protège vos usagers contre certains empoisonnements de cache et attaques de type man-in-the-middle en permettant aux résolveurs de vérifier que les données DNS proviennent bien de vous.
En contrepartie, DNSSEC tolère très mal les erreurs : un enregistrement manquant, une clé expirée ou un DS incorrect chez le parent peuvent rendre votre domaine inaccessible pour les résolveurs validants.
DNSprobe vous aide à visualiser toute la chaîne DNSSEC de votre domaine, à comprendre où les problèmes peuvent apparaître et comment les corriger avant qu’ils ne provoquent une panne.
Ce que DNSprobe vérifie dans la section DNSSEC
Comment DNSprobe évalue la DNSSEC de votre domaine
DNSprobe interroge vos serveurs de noms en mode DNSSEC (+dnssec) pour récupérer les enregistrements RRSIG, DNSKEY, DS et NSEC/NSEC3. Lorsque nécessaire, il contacte aussi les serveurs du TLD parent pour comparer ce qu’ils publient pour votre domaine.
L’outil reconstitue ensuite la chaîne de confiance, vérifie que les signatures correspondent aux bonnes clés et que les algorithmes et tailles de clés respectent les bonnes pratiques actuelles.
Si quelque chose semble incohérent, manquant ou trop faible, DNSprobe le signale clairement dans la section DNSSEC afin que vous puissiez corriger la configuration chez votre hébergeur DNS ou votre registraire.
1. Zone signée
Ce test vérifie si votre zone est signée avec DNSSEC et si les enregistrements principaux (SOA, NS, A/AAAA, MX, etc.) disposent de signatures RRSIG valides.
Pourquoi c’est important
Si votre zone n’est pas signée, DNSSEC n’apporte aucune protection. Si elle est seulement partiellement signée ou si des signatures manquent sur des enregistrements clés, les résolveurs validants peuvent considérer les réponses comme non sécurisées, voire boguées.
Comment DNSprobe vérifie ce point
DNSprobe envoie des requêtes avec le bit DO (DNSSEC OK) vers vos serveurs de noms et inspecte la présence et la validité des RRSIG pour les RRsets les plus importants. Il vérifie aussi que les clés de signature utilisent des algorithmes considérés comme sécuritaires.
Problèmes courants détectés
- Zone non signée (aucun enregistrement RRSIG pour les ensembles d’enregistrements).
- Signatures RRSIG présentes mais expirées ou pas encore valides (problème d’horloge ou de rotation de clés).
- Enregistrements critiques (SOA, NS, A/AAAA de l’apex) non signés ou signés avec des algorithmes obsolètes.
Bonnes pratiques
- Activer la signature DNSSEC pour l’ensemble de la zone, pas seulement pour certains enregistrements.
- Surveiller les fenêtres de validité des RRSIG et les rotations de clés pour éviter les périodes de recouvrement incorrectes.
- Utiliser des algorithmes et tailles de clés recommandés (par exemple ECDSA P-256 ou RSA 2048+) et maintenir vos logiciels DNS à jour.
2. Enregistrements DNSKEY
Les enregistrements DNSKEY publient les clés publiques utilisées pour signer votre zone. Ils sont la base de la validation DNSSEC pour votre domaine.
Pourquoi c’est important
Si les enregistrements DNSKEY sont manquants, incohérents ou utilisent des algorithmes faibles, les résolveurs ne peuvent pas vérifier correctement vos signatures. Un ensemble DNSKEY défectueux peut transformer tout votre domaine en SERVFAIL pour les résolveurs validants.
Comment DNSprobe vérifie ce point
DNSprobe interroge l’ensemble DNSKEY à l’apex de la zone et vérifie que les identifiants de clés (key tags) et les algorithmes correspondent aux RRSIG observés sur vos enregistrements. Il vérifie aussi la séparation éventuelle des rôles KSK/ZSK et la taille des clés.
Problèmes courants détectés
- Ensemble DNSKEY manquant ou trop minimal (une seule clé) alors qu’une séparation KSK/ZSK est attendue.
- Algorithmes ou tailles de clés obsolètes ou jugés trop faibles pour un usage en production.
- Signatures RRSIG faisant référence à des identifiants de clés absents de l’ensemble DNSKEY (rotation mal effectuée).
Bonnes pratiques
- Utiliser une KSK dédiée pour signer l’ensemble DNSKEY et une ou plusieurs ZSK pour le reste de la zone.
- Suivre les procédures de rotation recommandées par votre logiciel DNS pour éviter les décalages entre DNSKEY et RRSIG.
- Éviter les algorithmes obsolètes et privilégier ceux recommandés par votre registre ou votre opérateur DNS.
3. Enregistrement DS chez le parent
Ce test vérifie si la zone parente (par exemple .com ou .ca) publie un enregistrement DS qui pointe correctement vers l’une de vos DNSKEY, afin de fermer la chaîne de confiance depuis la racine jusqu’à votre domaine.
Pourquoi c’est important
Sans DS correct dans la zone parente, les résolveurs ne peuvent pas construire une chaîne DNSSEC complète. Votre zone peut être signée, mais elle sera tout de même traitée comme non sécurisée par les résolveurs validants.
Comment DNSprobe vérifie ce point
DNSprobe interroge les serveurs du TLD parent pour obtenir les enregistrements DS, compare leur empreinte, identifiant de clé et algorithme avec vos DNSKEY publiées et vérifie que le DS correspond à l’une de vos KSK.
Problèmes courants détectés
- Aucun DS publié chez le parent alors que la zone enfant est signée.
- DS présent mais utilisant une empreinte ou un identifiant qui ne correspondent à aucune DNSKEY actuelle.
- Anciens DS laissés en place après une rotation de clés, provoquant des échecs de validation pour certains résolveurs.
Bonnes pratiques
- Après avoir activé DNSSEC, publier le DS chez votre registraire et confirmer qu’il correspond bien à la KSK active.
- Lors des rotations de clés, mettre à jour le DS chez le parent en même temps que les changements DNSKEY.
- En cas de désactivation de DNSSEC, retirer le DS chez le parent avant ou en même temps que l’arrêt de la signature de la zone.
4. Enregistrements NSEC / NSEC3
Les enregistrements NSEC et NSEC3 servent à fournir une preuve signée de non-existence : ils démontrent qu’un nom ou un type d’enregistrement n’existe pas dans votre zone.
Pourquoi c’est important
Si les chaînes NSEC ou NSEC3 sont cassées ou incohérentes, les réponses négatives peuvent échouer la validation et être vues comme SERVFAIL. Une configuration NSEC3 inadaptée peut aussi révéler plus d’informations que souhaité ou compliquer le diagnostic.
Comment DNSprobe vérifie ce point
DNSprobe envoie des requêtes pour des noms ou types inexistants afin de déclencher des réponses NSEC ou NSEC3, puis vérifie que les enregistrements de déni d’existence et leurs signatures sont cohérents avec le reste de la zone.
Problèmes courants détectés
- Absence d’enregistrements NSEC/NSEC3 alors que DNSSEC est activée et que les réponses négatives devraient être signées.
- Enregistrements NSEC ou NSEC3 présents mais avec des signatures RRSIG invalides ou expirées.
- Paramètres NSEC3 incohérents entre les enregistrements ou choix qui exposent trop la structure de la zone.
Bonnes pratiques
- Choisir NSEC ou NSEC3 selon les exigences de votre registre et vos besoins de confidentialité.
- S’assurer que votre logiciel DNS maintient des chaînes NSEC/NSEC3 continues et correctes après chaque mise à jour de zone.
- Revoir les paramètres NSEC3 (itérations, sel) pour équilibrer confidentialité et performance et suivre les recommandations de votre registre.
5. Tester DNSSEC manuellement depuis votre propre terminal
La section DNSSEC de DNSprobe vérifie si votre zone est signée, si des enregistrements DNSKEY et DS sont présents et si la négation d’existence est correctement configurée avec NSEC ou NSEC3. Vous pouvez examiner ces enregistrements depuis un terminal en utilisant dig avec l’option +dnssec.
Linux : utiliser dig avec +dnssec
Sur la plupart des distributions Linux, la commande dig est fournie par le paquet d’outils BIND. Les exemples ci-dessous montrent comment vérifier que votre zone est signée, que les enregistrements DNSKEY et DS existent, et que des enregistrements de négation d’existence sont renvoyés pour des noms inexistants :
dig example.com A +dnssec +noall +answer
# Vérifier si l’enregistrement A de example.com est accompagné d’un RRSIG, ce qui indique que la zone est signée
dig example.com DNSKEY +dnssec +noall +answer
# Lister les enregistrements DNSKEY de votre zone (ils contiennent les clés publiques utilisées pour valider les signatures)
dig example.com DS +dnssec +noall +answer
# Vérifier la présence d’enregistrements DS publiés dans la zone parente ; ils lient les clés de votre zone au registre
dig nonexistent-subdomain.example.com A +dnssec +noall +answer
macOS : utiliser dig avec les outils intégrés
macOS inclut dig dans ses outils en ligne de commande. Ouvrez Terminal et exécutez les mêmes commandes que sous Linux pour vérifier les signatures sur vos enregistrements, inspecter les DNSKEY et confirmer la présence d’enregistrements DS dans la zone parente :
dig example.com A +dnssec +noall +answer
# Vérifier si l’enregistrement A de example.com est accompagné d’un RRSIG, ce qui indique que la zone est signée
dig example.com DNSKEY +dnssec +noall +answer
# Lister les enregistrements DNSKEY de votre zone (ils contiennent les clés publiques utilisées pour valider les signatures)
dig example.com DS +dnssec +noall +answer
# Vérifier la présence d’enregistrements DS publiés dans la zone parente ; ils lient les clés de votre zone au registre
dig nonexistent-subdomain.example.com A +dnssec +noall +answer
Windows : utiliser dig via WSL
Windows n’inclut pas dig par défaut, mais si vous activez le sous-système Windows pour Linux (WSL), vous pouvez exécuter les mêmes commandes dig que sous Linux/macOS. Depuis une fenêtre Invite de commandes ou PowerShell, préfixez les commandes avec wsl :
wsl dig example.com A +dnssec +noall +answer
REM Vérifier si l’enregistrement A de example.com est accompagné d’un RRSIG, ce qui indique que la zone est signée
wsl dig example.com DNSKEY +dnssec +noall +answer
REM Lister les enregistrements DNSKEY de votre zone (ils contiennent les clés publiques utilisées pour valider les signatures)
wsl dig example.com DS +dnssec +noall +answer
REM Vérifier la présence d’enregistrements DS publiés dans la zone parente ; ils lient les clés de votre zone au registre et permettent à la validation de chaîner depuis le TLD
wsl dig nonexistent-subdomain.example.com A +dnssec +noall +answer
Important : n’interrogez que les enregistrements DNS de domaines que vous possédez ou que vous êtes autorisé à analyser. Des requêtes DNSSEC automatisées et répétées vers des domaines tiers ou des serveurs de TLD sans autorisation peuvent être considérées comme du trafic abusif par certains fournisseurs.
Résumé : garder une DNSSEC en santé
Une configuration DNSSEC robuste exige que toutes les pièces fonctionnent ensemble : zone entièrement signée, DNSKEY cohérents, DS correct chez le parent et chaînes NSEC/NSEC3 valides pour les réponses négatives.
DNSprobe vous offre une vue lisible de cette chaîne et indique précisément où se trouvent les erreurs, afin que vous puissiez les corriger rapidement avec votre hébergeur DNS ou votre registraire.
Besoin d’aide pour comprendre une erreur DNSSEC dans votre rapport ?
Si un avertissement ou un échec DNSSEC dans DNSprobe n’est pas clair, contactez votre fournisseur DNS ou votre registraire avec une capture d’écran de la section DNSSEC. La plupart publient aussi des guides détaillés sur l’activation, la rotation des clés et la publication du DS : les suivre attentivement est le meilleur moyen d’éviter les pannes.