DNSSEC : Sécurisez Votre DNS par Cryptographie

Protégez votre domaine contre les attaques DNS avec les signatures cryptographiques DNSSEC.

Le DNS a été conçu dans les années 80 sans mécanisme de sécurité : les réponses DNS sont transmises en clair et acceptées sur confiance. Cette faiblesse permet des attaques comme le DNS spoofing ou le cache poisoning, où un attaquant injecte de fausses réponses DNS pour rediriger le trafic vers des serveurs malveillants. DNSSEC (DNS Security Extensions) résout ce problème en ajoutant des signatures cryptographiques aux réponses DNS.

Avec DNSSEC, chaque enregistrement DNS est accompagné d'une signature numérique. Les résolveurs peuvent vérifier que la réponse provient bien du serveur autoritaire et n'a pas été modifiée en transit. C'est comme un sceau de cire sur une lettre : on peut vérifier qu'elle n'a pas été ouverte et qu'elle vient bien de l'expéditeur légitime.

Malgré ses avantages, DNSSEC reste sous-déployé : configuration complexe, gestion des clés, risque de panne si mal configuré. Cependant, avec les outils modernes et les providers DNS managés, activer DNSSEC est devenu bien plus accessible. Pour les domaines critiques (banques, e-commerce, gouvernement), c'est devenu une nécessité.

Comment Fonctionne DNSSEC

DNSSEC utilise la cryptographie asymétrique pour signer et vérifier les réponses DNS :

  • Paires de clés : Chaque zone signée possède une paire de clés : KSK (Key Signing Key) pour signer les clés, et ZSK (Zone Signing Key) pour signer les enregistrements. La rotation régulière des ZSK est recommandée.
  • RRSIG (Signatures) : Chaque ensemble d'enregistrements (RRset) est accompagné d'un RRSIG, la signature cryptographique générée avec la clé privée. Le résolveur vérifie avec la clé publique.
  • DNSKEY et DS : DNSKEY publie les clés publiques dans la zone. DS (Delegation Signer) est un hash de la KSK placé dans la zone parente, créant la chaîne de confiance.
  • Chaîne de confiance : La validation remonte jusqu'aux serveurs racine (trust anchor). Chaque niveau signe le niveau suivant : racine → TLD → votre domaine.

Pourquoi Activer DNSSEC

DNSSEC protège contre plusieurs types d'attaques DNS :

  • Cache poisoning : Sans DNSSEC, un attaquant peut injecter de fausses réponses dans le cache d'un résolveur, redirigeant tous les utilisateurs de ce résolveur vers un site malveillant.
  • Man-in-the-middle : Sur un réseau compromis, un attaquant peut intercepter et modifier les réponses DNS. DNSSEC détecte toute modification grâce aux signatures.
  • Protection email : DNSSEC sécurise les enregistrements MX, SPF, DKIM et DMARC, empêchant la redirection des emails vers des serveurs pirates.
  • DANE/TLSA : DNSSEC est requis pour DANE (DNS-Based Authentication of Named Entities), qui permet de publier les certificats TLS attendus dans le DNS.

Activer DNSSEC sur Votre Domaine

Le processus diffère selon votre hébergeur DNS, mais les principes restent les mêmes :

  1. Activez DNSSEC chez votre provider DNS : La plupart des providers DNS managés (Cloudflare, Route 53, Google Cloud DNS) proposent l'activation DNSSEC en un clic. Les clés sont générées et gérées automatiquement.
  2. Récupérez l'enregistrement DS : Votre provider DNS vous fournira l'enregistrement DS à configurer. Il contient le key tag, l'algorithme et le digest de votre KSK.
  3. Configurez le DS chez le registrar : Dans l'interface de votre registrar, ajoutez l'enregistrement DS. C'est ce qui établit la chaîne de confiance avec la zone parente (le TLD).
  4. Vérifiez et surveillez : Utilisez des outils comme DNSViz ou Verisign DNSSEC Debugger pour vérifier que la chaîne de confiance est complète. Surveillez en continu.

Exemples et Vérification DNSSEC

Voici comment vérifier et diagnostiquer DNSSEC :

# Vérifier si un domaine est signé DNSSEC
$ dig example.com +dnssec +short
93.184.216.34
A 13 2 3600 20240215000000 20240201000000 12345 example.com. ...signature...

# Afficher les DNSKEY
$ dig DNSKEY example.com +short
256 3 13 ...clé publique ZSK...
257 3 13 ...clé publique KSK...
# 256 = ZSK, 257 = KSK

# Afficher l'enregistrement DS (depuis la zone parente)
$ dig DS example.com +short
12345 13 2 49FD46E6C4B45C55D4AC...

# Vérification complète avec delv (BIND)
$ delv @8.8.8.8 example.com +rtrace
; fully validated
example.com.    3600 IN A 93.184.216.34

# Format DS pour le registrar
Key Tag: 12345
Algorithm: 13 (ECDSAP256SHA256)
Digest Type: 2 (SHA-256)
Digest: 49FD46E6C4B45C55D4AC...

# Outils de validation en ligne
# - https://dnsviz.net/
# - https://dnssec-debugger.verisignlabs.com/

La présence de RRSIG avec les enregistrements indique que le domaine est signé. Le flag AD (Authenticated Data) dans la réponse confirm que la validation a réussi. Si SERVFAIL est retourné, il y a un problème dans la chaîne de confiance.

Bonnes Pratiques DNSSEC

Gérez DNSSEC correctement pour éviter les problèmes :

  • Utilisez un provider managé : Les providers DNS modernes gèrent automatiquement les rotations de clés, les signatures et les expirations. Évitez de gérer DNSSEC manuellement si possible.
  • Surveillez les expirations : Les signatures RRSIG ont une date d'expiration. Si votre zone n'est pas re-signée régulièrement, les signatures expireront et le domaine deviendra inaccessible.
  • Plan de rollback : Si DNSSEC cause des problèmes, vous devez pouvoir le désactiver rapidement. Gardez les procédures documentées et testées.
  • Testez avant et après : Avant d'activer DNSSEC, vérifiez que votre zone est valide. Après activation, validez la chaîne de confiance avec plusieurs outils.

Checklist Déploiement DNSSEC

  • Provider DNS supportant DNSSEC identifié
  • DNSSEC activé dans la zone DNS
  • Enregistrement DS configuré au registrar
  • Chaîne de confiance validée (DNSViz, Verisign)
  • Monitoring des signatures mis en place
  • Procédure de rollback documentée

FAQ - DNSSEC

DNSSEC chiffre-t-il les requêtes DNS ?

Non, DNSSEC signe les réponses mais ne les chiffre pas. Pour la confidentialité, utilisez DNS over HTTPS (DoH) ou DNS over TLS (DoT) en complément.

DNSSEC peut-il casser mon domaine ?

Oui, une mauvaise configuration (signatures expirées, DS incorrect, clé manquante) peut rendre votre domaine inaccessible aux résolveurs validants. D'où l'importance de la surveillance.

Mon registrar ne supporte pas DNSSEC, que faire ?

Certains registrars ne permettent pas d'ajouter des DS records. Options : transférer le domaine vers un registrar compatible, ou utiliser un service DNS avec support registrar intégré.

Combien de temps pour activer DNSSEC ?

L'activation technique est rapide (minutes), mais la propagation du DS peut prendre jusqu'à 48h selon les TTL. Planifiez en conséquence.

Tous les résolveurs valident-ils DNSSEC ?

Les grands résolveurs publics (Google 8.8.8.8, Cloudflare 1.1.1.1, Quad9) valident DNSSEC. Les résolveurs d'entreprise et FAI varient - certains ne valident pas.

MoniTao surveille-t-il DNSSEC ?

Oui, MoniTao peut surveiller l'état DNSSEC de votre domaine et vous alerter si les signatures expirent, si le DS change, ou si la validation échoue.

Sécurisez Votre Infrastructure DNS

DNSSEC ajoute une couche de sécurité essentielle au DNS. Dans un monde où les attaques DNS sont de plus en plus sophistiquées, la signature cryptographique de vos enregistrements devient une nécessité pour les domaines critiques.

Commencez par un provider DNS managé qui simplifie la gestion DNSSEC, configurez le DS chez votre registrar, et surveillez activement. MoniTao peut vous alerter de tout problème DNSSEC avant que vos utilisateurs ne soient impactés.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.