Retour au blog Monitoring - 6 min

DNSSEC : à quoi sert la signature DNS d’un site

DNSSEC signe les réponses DNS pour empêcher leur falsification. Définition, enregistrement DS, et panne typique quand la chaîne est cassée.

DNSSEC est une signature des enregistrements DNS. Le serveur de noms joint une preuve cryptographique à la réponse (enregistrement RRSIG). Le résolveur qui valide cette preuve s’assure que la réponse vient bien de la zone et qu’elle n’a pas été altérée en chemin. Sans DNSSEC, un résolveur doit faire confiance au réseau qui lui a parlé.

Ce que DNSSEC garantit, et ce qu’il ne fait pas

SujetDNSSECAutre mécanisme
La réponse A ou MX n’a pas été falsifiéeOui, si le résolveur valide et que la chaîne est intacte—
La requête DNS est cachée à l’opérateurNonDNS sur HTTPS ou DNS sur TLS, entre le client et son résolveur
La page web est chiffréeNonCertificat HTTPS
Le visiteur est la bonne personneNonAuthentification du site

Un site peut avoir un cadenas valide et un DNS non signé. Il peut aussi avoir DNSSEC et un certificat expiré. Les deux contrôles sont indépendants. Pour la date du certificat : vérifier l’expiration SSL.

DNSSEC ne choisit pas non plus « le bon hébergeur ». Il protège l’enregistrement tel qu’il est publié. Si vous signez une mauvaise adresse IP, les résolveurs valident cette mauvaise adresse avec assurance.

La chaîne de confiance, en pratique

La signature ne suffit pas. Il faut une chaîne depuis la racine DNS jusqu’à votre zone.

  1. La zone est signée par des clés dont le gestionnaire DNS a la partie privée (souvent une option « activer DNSSEC » chez le prestataire DNS).
  2. Un condensé de la clé de la zone, l’enregistrement DS, est publié chez le parent : le bureau d’enregistrement, pour un .fr ou un .com.
  3. Le parent est lui-même signé, jusqu’à la racine.

Si le DS manque, les résolveurs validants considèrent la zone comme non signée : DNSSEC n’apporte rien, mais le site répond. Si le DS est présent et que les signatures manquent, sont expirées, ou ne correspondent plus aux clés (changement de DNS sans copier les clés), la validation échoue.

L’échec se voit ainsi : dig exemple.fr @1.1.1.1 renvoie SERVFAIL, alors que dig exemple.fr @ns1.votredns.example +cd (vérification désactivée) ou une requête directe au NS montre encore l’adresse. Une partie des visiteurs, ceux dont le résolveur valide, ne résolvent plus le nom. Les autres oui. Ce n’est pas une « propagation lente ». Le diagnostic d’un nom injoignable est dans domaine qui ne résout plus.

Les signatures ont une durée. Une zone signée une fois puis plus jamais re-signée finit par échouer de la même façon. L’option du prestataire doit rester active, pas seulement cochée le jour de la mise en place.

Activer sans couper le site

Ordre sûr :

  1. Les NS définitifs répondent déjà correctement en A, AAAA et MX. Le mode d’emploi des requêtes est dans tester le DNS.
  2. Activez la signature chez ces NS et vérifiez que les RRSIG sont servis.
  3. Seulement ensuite, publiez le DS chez le registrar. Copiez le key tag, l’algorithme et le condensé demandés. Un champ décalé casse la chaîne.
  4. Interrogez un résolveur validant (1.1.1.1, 8.8.8.8, 9.9.9.9). La réponse doit être l’IP, pas SERVFAIL. L’outil delv ou dig +dnssec montre l’indicateur AD (authentic data) quand la validation a réussi.

Pour retirer DNSSEC, on retire d’abord le DS, on attend que les caches du parent expirent, puis on arrête de signer. Retirer les signatures en laissant le DS en place reproduit la panne.

Lors d’un changement de prestataire DNS, les clés ne suivent pas toutes seules. Soit le nouvel opérateur importe les clés, soit vous retirez le DS avant la bascule et vous le republiez après la nouvelle signature. Les deux chemins évitent une fenêtre où le DS désigne des clés qui ne signent plus.

Questions fréquentes

DNSSEC chiffre-t-il les visites du site ?

Non. Il signe les enregistrements DNS pour qu’un résolveur puisse vérifier qu’ils n’ont pas été modifiés. Le chiffrement de la page reste le rôle du HTTPS. Le chiffrement des requêtes DNS, quand il existe, est un autre mécanisme (DNS sur HTTPS, par exemple).

Que se passe-t-il si le DS est publié mais que la zone n’est plus signée ?

Les résolveurs qui valident DNSSEC répondent SERVFAIL. Le nom semble « tombé » pour une partie des visiteurs, alors qu’un résolveur qui ne valide pas peut encore l’ouvrir.

Faut-il activer DNSSEC le jour d’une migration de DNS ?

Non. On migre d’abord les serveurs de noms, on vérifie que la zone répond, puis on signe et on publie le DS. Un DS posé avant les signatures correctes rend le domaine injoignable pour les résolveurs validants.

Surveiller mes URL