DNSSEC : sécuriser votre DNS contre le cache poisoning et le hijacking

Le DNS est le bottin téléphonique d'Internet : il traduit votre nom de domaine en adresse IP. Sans protection, un attaquant peut empoisonner ce bottin et rediriger vos visiteurs vers un site malveillant — sans que personne ne le remarque. DNSSEC résout ce problème par des signatures cryptographiques.

Le problème : DNS sans sécurité

Le protocole DNS a été conçu dans les années 1980, à une époque où Internet était un réseau académique fermé. La sécurité n'était pas une priorité. Les réponses DNS ne sont ni chiffrées, ni authentifiées : n'importe qui sur le réseau peut forger une réponse DNS et tromper le résolveur.

Conséquence : quand votre navigateur demande l'adresse IP de votre-banque.com, il reçoit une réponse — mais rien ne prouve que cette réponse est légitime. Elle pourrait venir d'un attaquant qui a empoisonné le cache du résolveur.

WARN
Le DNS non sécurisé expose vos visiteurs, pas seulement vous
Une attaque DNS réussie redirige silencieusement tous vos utilisateurs vers un site frauduleux. Ils verront votre URL dans la barre d'adresse, mais seront sur un site contrôlé par l'attaquant. Même un certificat SSL ne protège pas contre cette attaque si le domaine pointé change.

Les attaques DNS les plus courantes

Cache poisoning (empoisonnement de cache)

Un résolveur DNS mémorise (met en cache) les réponses pendant la durée définie par le TTL. Si un attaquant réussit à injecter une fausse réponse dans ce cache, tous les utilisateurs qui passent par ce résolveur seront redirigés vers l'IP malveillante — pendant toute la durée du TTL.

DNS hijacking

L'attaquant prend le contrôle des serveurs DNS de votre domaine en accédant à votre compte registrar (via phishing ou credential stuffing). Il modifie ensuite les enregistrements DNS pour rediriger votre trafic. Cette attaque est différente du cache poisoning car elle modifie les enregistrements officiels eux-mêmes.

Man-in-the-Middle DNS

Sur un réseau non sécurisé (Wi-Fi public, réseau compromis), un attaquant positionné entre l'utilisateur et le résolveur peut intercepter et modifier les réponses DNS en transit.

Comment DNSSEC sécurise les réponses

DNSSEC (DNS Security Extensions) ajoute des signatures cryptographiques à chaque enregistrement DNS. Lorsqu'un résolveur reçoit une réponse DNS signée, il peut vérifier mathématiquement que cette réponse provient bien du détenteur légitime de la zone DNS et n'a pas été modifiée en transit.

Sans DNSSEC
Navigateur → Résolveur → "wezea.net pointe vers X.X.X.X"
                          ← Impossible de vérifier si c'est vrai

Avec DNSSEC
Navigateur → Résolveur → "wezea.net pointe vers X.X.X.X"
                          + Signature cryptographique
                          ← La signature est vérifiée ✓
                          ← Réponse authentique garantie

DNSSEC utilise un système de clés asymétriques : une clé privée signe les enregistrements, une clé publique (publiée dans le DNS) permet la vérification. Si la signature ne correspond pas, le résolveur rejette la réponse plutôt que de l'accepter.

La chaîne de confiance DNSSEC

DNSSEC fonctionne grâce à une chaîne de confiance hiérarchique qui remonte jusqu'à la racine DNS. Chaque niveau de la hiérarchie signe le niveau inférieur.

Chaîne de confiance DNSSEC

. (racine)          → Zone signée par l'IANA (clé de racine)
  .fr              → Clé signée par la racine
    wezea.fr        → Clé signée par .fr (via registrar)
      www.wezea.fr  → Enregistrement signé par la clé de zone

Pour que la chaîne fonctionne, vous devez enregistrer votre clé de zone auprès de votre registrar, qui la communique au TLD (.fr, .com…). Cette étape — le dépôt des DS records — est souvent automatisée par votre hébergeur DNS.

Activer DNSSEC : étapes pratiques

La procédure varie selon votre hébergeur DNS, mais suit toujours la même logique.

Si votre hébergeur DNS gère tout (Cloudflare, OVH, Infomaniak…)

Ces prestataires signent automatiquement votre zone et gèrent la rotation des clés. Il vous suffit d'activer DNSSEC dans leur interface, puis de copier les DS records (Delegation Signer) fournis et de les coller dans l'interface de votre registrar.

# Exemple de DS record à déclarer chez votre registrar
wezea.net. IN DS 12345 13 2 A1B2C3D4E5F6...

# Ce record indique :
# 12345  → Key Tag (identifiant de la clé)
# 13     → Algorithme (ECDSA P-256 avec SHA-256)
# 2      → Type de digest (SHA-256)
# A1B2…  → Empreinte de la clé publique

Si vous gérez votre propre serveur DNS (BIND, PowerDNS…)

Vous devez générer une paire de clés (ZSK et KSK), configurer la signature automatique de votre zone, puis exporter les DS records pour les déclarer chez votre registrar. Cette procédure est plus technique mais bien documentée dans la documentation de BIND et PowerDNS.

INFO
Registrars supportant DNSSEC
Gandi, OVH, Infomaniak, 1&1, Cloudflare Registrar, et la plupart des grands registrars supportent DNSSEC. Si le vôtre ne le supporte pas, c'est un signal pour envisager un transfert de domaine.

Limites de DNSSEC

DNSSEC est une mesure de sécurité importante mais partielle. Il est utile de comprendre ce qu'il ne fait pas.

Ce que DNSSEC protège Ce que DNSSEC ne protège pas
Authenticité des enregistrements DNS Confidentialité des requêtes DNS (utiliser DoH/DoT)
Intégrité des réponses en transit Compromission du compte registrar (utiliser 2FA)
Cache poisoning classique Attaques sur le serveur web lui-même
DNS hijacking via résolveur compromis Enregistrements légitimes pointant vers une IP malveillante

DNSSEC ne chiffre pas les requêtes DNS — il les signe uniquement. Pour la confidentialité, utilisez DNS over HTTPS (DoH) ou DNS over TLS (DoT) côté client. La complémentarité DNSSEC + DoH offre à la fois authenticité et confidentialité.

Vérifier votre configuration DNSSEC

Une fois DNSSEC activé, vérifiez que la chaîne de confiance est correctement établie.

# Vérification en ligne de commande
dig +dnssec wezea.net A
# Chercher le flag "ad" (Authenticated Data) dans les flags
# et les enregistrements RRSIG dans la réponse

# Vérification via l'outil en ligne DNSViz
dnsviz.net → graphe visuel de la chaîne de confiance

# Test DNSSEC Analyzer de Verisign
dnssec-analyzer.verisignlabs.com

Wezea vérifie automatiquement la présence de DNSSEC lors de chaque scan et signale son absence comme une vulnérabilité. Une configuration incorrecte — DNSSEC activé mais chaîne de confiance rompue — est pire que pas de DNSSEC : elle rend votre domaine inaccessible pour les résolveurs validant DNSSEC.

WARN
Surveiller les expirations de clés DNSSEC
Les clés DNSSEC ont une durée de validité. Une clé expirée interrompt la validation et peut rendre votre domaine inaccessible. Activez les alertes de rotation de clés chez votre hébergeur DNS ou configurez un monitoring automatique.

Vérifiez votre configuration DNS et DNSSEC

Wezea analyse en 60 secondes votre SPF, DMARC, DNSSEC et l'ensemble de votre configuration DNS pour identifier les failles.

Scanner mon domaine →

Gratuit · Analyse DNS complète · Rapport PDF disponible

DNSSEC: securing your DNS against cache poisoning and hijacking

DNS is Internet's phone directory: it translates your domain name into an IP address. Without protection, an attacker can poison this directory and redirect your visitors to a malicious site — without anyone noticing. DNSSEC solves this with cryptographic signatures.

The problem: unsecured DNS

The DNS protocol was designed in the 1980s, when Internet was a closed academic network. Security wasn't a priority. DNS responses are neither encrypted nor authenticated: anyone on the network can forge a DNS response and trick the resolver.

Consequence: when your browser requests the IP address of your-bank.com, it gets a response — but nothing proves that response is legitimate. It could come from an attacker who poisoned the resolver's cache.

WARN
Unsecured DNS exposes your visitors, not just you
A successful DNS attack silently redirects all your users to a fraudulent site. They'll see your URL in the address bar, but be on a site controlled by the attacker. Even an SSL certificate won't protect against this attack if the pointed domain changes.

The most common DNS attacks

Cache poisoning

A DNS resolver remembers (caches) responses for the duration set by the TTL. If an attacker successfully injects a fake response into this cache, all users going through that resolver get redirected to the malicious IP — for the entire TTL duration.

DNS hijacking

The attacker takes control of your domain's DNS servers by accessing your registrar account (via phishing or credential stuffing). They then modify DNS records to redirect your traffic. This attack differs from cache poisoning because it modifies the official records themselves.

Man-in-the-Middle DNS

On an unsecured network (public Wi-Fi, compromised network), an attacker positioned between user and resolver can intercept and modify DNS responses in transit.

How DNSSEC secures responses

DNSSEC (DNS Security Extensions) adds cryptographic signatures to each DNS record. When a resolver receives a signed DNS response, it can mathematically verify that this response came from the legitimate DNS zone holder and wasn't modified in transit.

Without DNSSEC
Browser → Resolver → "wezea.net points to X.X.X.X"
                      ← Impossible to verify if it's true

With DNSSEC
Browser → Resolver → "wezea.net points to X.X.X.X"
                      + Cryptographic signature
                      ← Signature verified ✓
                      ← Authentic response guaranteed

DNSSEC uses an asymmetric key system: a private key signs the records, a public key (published in DNS) enables verification. If the signature doesn't match, the resolver rejects the response.

The DNSSEC chain of trust

DNSSEC works through a hierarchical chain of trust that reaches back to the DNS root. Each level of the hierarchy signs the level below it.

DNSSEC chain of trust

. (root)           → Zone signed by IANA (root key)
  .fr              → Key signed by root
    wezea.fr        → Key signed by .fr (via registrar)
      www.wezea.fr  → Record signed by zone key

For the chain to work, you must register your zone key with your registrar, which communicates it to the TLD (.fr, .com…). This step — depositing DS records — is often automated by your DNS hoster.

Activate DNSSEC: practical steps

The procedure varies by DNS hoster, but always follows the same logic.

If your DNS hoster manages everything (Cloudflare, OVH, Infomaniak…)

These providers automatically sign your zone and manage key rotation. You just need to enable DNSSEC in their interface, then copy the provided DS records (Delegation Signer) and paste them into your registrar's interface.

# Example DS record to declare at your registrar
wezea.net. IN DS 12345 13 2 A1B2C3D4E5F6...

# This record indicates:
# 12345  → Key Tag (key identifier)
# 13     → Algorithm (ECDSA P-256 with SHA-256)
# 2      → Digest type (SHA-256)
# A1B2…  → Public key fingerprint

If you manage your own DNS server (BIND, PowerDNS…)

You need to generate a key pair (ZSK and KSK), configure automatic zone signing, then export DS records to declare at your registrar. This procedure is more technical but well-documented in BIND and PowerDNS documentation.

INFO
Registrars supporting DNSSEC
Gandi, OVH, Infomaniak, 1&1, Cloudflare Registrar, and most major registrars support DNSSEC. If yours doesn't, it's a signal to consider domain transfer.

DNSSEC limitations

DNSSEC is an important but partial security measure. It's useful to understand what it doesn't do.

What DNSSEC protects What DNSSEC doesn't protect
DNS record authenticity DNS query confidentiality (use DoH/DoT)
Response integrity in transit Registrar account compromise (use 2FA)
Classic cache poisoning Attacks on the web server itself
DNS hijacking via compromised resolver Legitimate records pointing to a malicious IP

DNSSEC doesn't encrypt DNS queries — it only signs them. For privacy, use DNS over HTTPS (DoH) or DNS over TLS (DoT) on the client side. The combination DNSSEC + DoH provides both authenticity and confidentiality.

Verify your DNSSEC configuration

Once DNSSEC is enabled, verify that the chain of trust is properly established.

# Command-line verification
dig +dnssec wezea.net A
# Look for "ad" flag (Authenticated Data) in the flags
# and RRSIG records in the response

# Verification via DNSViz online tool
dnsviz.net → visual graph of the chain of trust

# Verisign DNSSEC Analyzer test
dnssec-analyzer.verisignlabs.com

Wezea automatically verifies DNSSEC presence on every scan and flags its absence as a vulnerability. Incorrect configuration — DNSSEC enabled but chain of trust broken — is worse than no DNSSEC: it makes your domain inaccessible to DNSSEC-validating resolvers.

WARN
Monitor DNSSEC key expiration
DNSSEC keys have a validity period. An expired key interrupts validation and can make your domain inaccessible. Enable key rotation alerts at your DNS hoster or configure automatic monitoring.

Check your DNS and DNSSEC configuration

Wezea analyzes in 60 seconds your SPF, DMARC, DNSSEC and all your DNS configuration to identify flaws.

Scan my domain →

Free · Complete DNS analysis · PDF report available

Vous gérez les domaines de vos clients ? Wezea propose des rapports PDF en marque blanche et un monitoring multi-domaines pour les agences web et MSP.

Découvrir Wezea Agences →

Managing your clients's domains? Wezea offers white-label PDF reports and multi-domain monitoring for web agencies and MSPs.

Discover Wezea for Agencies →