DNS menteur : reconnaître un résolveur qui filtre

Un DNS menteur est un résolveur récursif qui renvoie volontairement autre chose que la donnée publiée par la zone : adresse de redirection, NXDOMAIN fabriqué ou SERVFAIL. En France la pratique sert surtout à appliquer des blocages administratifs et judiciaires, et se vérifie en quelques secondes en comparant deux résolveurs avec dig.

Ce que renvoie vraiment un résolveur menteur

Le symptôme classique : une page refuse de s'ouvrir chez vous, elle s'ouvre chez un collègue sur un autre opérateur. Lancez `dig +short exemple.fr @192.168.1.1`, vous récupérez 127.0.0.1 ou l'IP d'une page d'avertissement. Lancez `dig +short exemple.fr @9.9.9.9`, vous récupérez une adresse publique cohérente. Le domaine existe, les serveurs faisant autorité répondent correctement, c'est le résolveur de votre box qui a fabriqué sa réponse.

La falsification prend plusieurs formes, et elles ne produisent pas les mêmes symptômes côté navigateur.

Côté implémentation, la brique s'appelle RPZ (Response Policy Zone). BIND, Unbound, Knot Resolver et PowerDNS la gèrent tous : une zone de politique liste les noms concernés et l'action à appliquer, NXDOMAIN, redirection vers une IP donnée, ou passthru pour les exceptions. Le vocabulaire des RFC ne parle jamais de mensonge mais de filtrage. Depuis octobre 2020, la RFC 8914 normalise des codes d'erreur étendus pour qu'un résolveur puisse annoncer qu'il a bloqué au lieu de laisser croire à une panne réseau.

Ne confondez pas avec l'empoisonnement de cache. Le DNS menteur est une politique appliquée par l'opérateur du résolveur que vous avez choisi, souvent documentée. Le cache poisoning est une attaque menée par un tiers contre ce résolveur, popularisée par la faille Kaminsky en 2008 et atténuée depuis par la randomisation du port source (RFC 5452) puis par DNSSEC. Résultat visible identique, responsabilité et remède complètement différents.

  • Enregistrement A ou AAAA forgé : le résolveur substitue l'IP d'une page d'information, ou une adresse morte comme 0.0.0.0 et 127.0.0.1.
  • NXDOMAIN forcé : le résolveur affirme que le nom n'existe pas. La RFC 8020 rappelle qu'un NXDOMAIN vaut pour tout ce qui se trouve sous ce nom, donc les sous-domaines tombent aussi.
  • SERVFAIL ou REFUSED : le résolveur refuse la réponse, le navigateur affiche une erreur générique et l'utilisateur croit à une panne.
  • Réécriture sélective : seuls certains types passent. Un blocage qui laisse vivre MX et TXT casse la navigation sans casser la messagerie, ce qui rend le diagnostic pénible.

Qui filtre en France, et sur quelle base

Le blocage administratif repose sur l'article 6-1 de la LCEN, complété par le décret n° 2015-125 du 5 février 2015. L'OCLCTIC notifie une liste de domaines aux fournisseurs d'accès, qui disposent de 24 heures pour la mettre en œuvre. Le nom bloqué est redirigé vers une page du ministère de l'Intérieur expliquant le motif, ce qui reste la façon la plus honnête de mentir : l'utilisateur sait qu'il est bloqué.

Le blocage judiciaire suit une autre voie, l'article L336-2 du code de la propriété intellectuelle, saisi par les ayants droit contre les sites de contrefaçon et de streaming sportif. Un tournant a eu lieu en 2024 : le tribunal judiciaire de Paris a étendu l'obligation aux résolveurs publics de Google, Cloudflare et Cisco à la demande de Canal+, alors que seuls les FAI français étaient visés jusque-là. Cisco a cessé de servir OpenDNS depuis la France dans la foulée. Basculer sur 8.8.8.8 n'est donc plus un contournement fiable pour cette catégorie de blocages.

Le reste des cas n'a rien de judiciaire. Un portail captif d'hôtel répond systématiquement l'IP de son portail à toutes les requêtes tant que vous n'êtes pas authentifié, c'est du DNS menteur assumé. Un résolveur de sécurité comme Quad9 renvoie NXDOMAIN sur les domaines de commande et contrôle listés par ses partenaires. Et certains FAI ont longtemps détourné les NXDOMAIN vers une page de recherche publicitaire, pratique qui casse la détection d'erreur des applications et fausse les tests réseau.

MotifQui appliqueSymptôme côté client
Blocage administratif (art. 6-1 LCEN)FAI, sous 24 h après notification de l'OCLCTICRedirection vers la page du ministère de l'Intérieur
Blocage judiciaire (art. L336-2 CPI)FAI, et depuis 2024 certains résolveurs publicsNXDOMAIN ou SERVFAIL
Jeux d'argent sans agrémentFAI sur demande de l'ANJ (ex-ARJEL)Page d'information de l'autorité
Filtrage de sécuritéRésolveur d'entreprise, Quad9, 1.1.1.20.0.0.0 ou NXDOMAIN
Contrôle parentalBox opérateur, résolveur familialRedirection vers un avertissement
Portail captifHôtel, aéroport, trainToutes les requêtes pointent vers le portail

Trois commandes pour trancher

Le test tient en une comparaison. Interrogez le domaine suspect sur votre résolveur habituel, puis sur un résolveur externe, et regardez si les réponses divergent. Attention au faux positif : sur un site derrière un CDN, deux résolveurs situés à des endroits différents renvoient légitimement des IP différentes. Une divergence entre une IP publique et 127.0.0.1, en revanche, ne laisse pas de place au doute.

Le second réflexe consiste à interroger un nom qui ne peut pas exister. S'il répond, votre résolveur détourne les NXDOMAIN.

  • `dig +short lemonde.fr @192.168.1.1` puis `dig +short lemonde.fr @9.9.9.9` : comparez, en tenant compte de l'effet CDN.
  • `dig ceci-nexiste-vraiment-pas-8471.fr` : la réponse attendue est `status: NXDOMAIN`. Un enregistrement A ici signe un détournement.
  • `dig +dnssec afnic.fr` : cherchez le flag `ad` dans la ligne `;; flags:`. Sur une zone signée, un résolveur validant ne peut pas produire de réponse forgée acceptable, il retourne SERVFAIL plutôt qu'une fausse IP.
  • Les versions récentes de dig affichent une ligne du type `; EDE: 16 (Censored)` quand le résolveur documente son blocage.
  • Pour savoir quel résolveur vous utilisez réellement : `resolvectl status` sous Linux avec systemd, `scutil --dns` sous macOS, `Get-DnsClientServerAddress` sous Windows.
Code EDE (RFC 8914)NomCe qu'il indique
4Forged AnswerLe résolveur reconnaît avoir fabriqué la réponse
15BlockedBlocage décidé par l'opérateur du résolveur
16CensoredBlocage imposé par une autorité externe
17FilteredFiltrage demandé par le client lui-même
18ProhibitedLe client n'est pas autorisé à interroger ce résolveur

Les limites du procédé

Un blocage DNS ne touche jamais le serveur visé. L'adresse IP reste jointe, et une ligne dans /etc/hosts ou un `curl --resolve exemple.fr:443:203.0.113.10 https://exemple.fr/` suffit à passer outre. C'est un panneau de sens interdit, pas un mur.

Les effets de bord sont plus gênants que le contournement. Rediriger un nom en HTTPS vers une page d'avertissement produit une erreur de certificat, ERR_CERT_COMMON_NAME_INVALID sous Chrome, parce que le certificat présenté par le serveur de redirection ne couvre pas le domaine demandé. L'utilisateur ne voit donc jamais le message d'explication, seulement un écran rouge. Sur une zone signée DNSSEC, la réponse forgée est rejetée par le résolveur validant et se transforme en SERVFAIL muet : mêmes causes, même incompréhension.

Le sur-blocage est l'autre plaie. Bloquer un nom d'apex emporte l'ensemble de ses sous-domaines par construction, et une plateforme d'hébergement mutualisé peut voir des services sans rapport tomber en même temps. Enfin, le DNS ne dit rien du contenu réellement transporté : le filtrage passe à côté des accès par IP directe, des applications qui embarquent leur propre résolveur DoH, et des noms résolus via une adresse déjà en cache chez le client.

Changer de résolveur sans se tirer une balle dans le pied

Le changement se fait sur la box, sur la machine, ou dans le navigateur, et il est réversible en trente secondes. Le DNS classique circule en clair sur le port 53 : un résolveur externe ne protège donc pas votre historique de requêtes contre l'observateur intermédiaire. Pour cela il faut chiffrer le transport, DoT sur le port 853 (RFC 7858), DoH sur 443 (RFC 8484), ou DoQ (RFC 9250).

Trois effets de bord à connaître avant de basculer. Un résolveur distant peut vous orienter vers un nœud CDN mal placé, car tous n'envoient pas votre préfixe réseau au serveur autoritaire via l'extension ECS (RFC 7871) : Google le fait, Cloudflare a fait le choix inverse pour des raisons de vie privée. En entreprise, quitter le résolveur interne fait disparaître les noms de la vue privée, et l'intranet devient injoignable. Sur un réseau à portail captif, le portail ne s'affiche plus tant que vous n'êtes pas repassé sur le DNS local.

Si vous voulez maîtriser la chaîne de bout en bout, montez votre propre Unbound récursif sur une machine du réseau : une vingtaine de lignes de configuration, la directive `auto-trust-anchor-file` pour valider DNSSEC localement, et vous ne dépendez plus de la politique de personne. Comptez en contrepartie une latence plus élevée sur les premiers accès, le temps que le cache se remplisse.

RésolveurIPv4Filtrage annoncé
Cloudflare1.1.1.1 / 1.0.0.1Aucun
Cloudflare Malware1.1.1.2 / 1.0.0.2Domaines malveillants
Cloudflare Family1.1.1.3 / 1.0.0.3Malveillants et contenus adultes
Google Public DNS8.8.8.8 / 8.8.4.4Aucun
Quad99.9.9.9 / 149.112.112.112Listes de menaces, DNSSEC validé
Quad9 non filtré9.9.9.10Aucun
FDN (association française)80.67.169.12 / 80.67.169.40Aucun

Testez vos connaissances

Quiz rapide Question 1 sur 3

Quel code EDE un résolveur utilise-t-il pour signaler un blocage imposé par une autorité externe ?

Questions fréquentes

Le DNS menteur est-il légal en France ?

Oui dans les cas prévus par la loi. L'article 6-1 de la LCEN et le décret du 5 février 2015 obligent les FAI à bloquer les domaines notifiés par l'OCLCTIC sous 24 heures, l'article L336-2 du code de la propriété intellectuelle permet à un juge d'ordonner un blocage, et l'ANJ dispose d'un dispositif comparable pour les jeux d'argent. En dehors de ces cadres, un filtrage de sécurité ou parental relève du contrat entre vous et votre opérateur ou votre résolveur.

Changer de DNS me rend-il anonyme ?

Non. Votre adresse IP reste visible du site que vous visitez, et le nom du serveur demandé transite en clair dans l'extension SNI de la négociation TLS, sauf déploiement d'ECH côté site et navigateur. Un résolveur externe change qui voit vos requêtes DNS, pas qui voit votre trafic.

Comment distinguer un site bloqué d’un site en panne ?

Comparez la réponse de deux résolveurs avec dig. Si un résolveur externe renvoie une IP publique normale et que le vôtre renvoie NXDOMAIN, 0.0.0.0 ou une IP de redirection, c'est un filtrage. Si les deux renvoient la même adresse mais que la connexion TCP sur le port 443 échoue, le problème est ailleurs, côté hébergeur ou routage.

Un résolveur public comme 1.1.1.1 ment-il aussi ?

Cela dépend de l'adresse. 1.1.1.1 est annoncé sans filtrage, 1.1.1.2 bloque les domaines malveillants et 1.1.1.3 y ajoute les contenus adultes : le filtrage est donc explicite et choisi. À cela s'ajoutent les blocages imposés par décision de justice, que les résolveurs publics appliquent désormais aussi pour les requêtes venant de France.

Le blocage DNS ralentit-il ma connexion ?

Le filtrage lui-même n'ajoute quasiment rien, une consultation de zone de politique se compte en microsecondes. L'écart de latence que vous mesurez après un changement de résolveur vient de la distance réseau jusqu'à lui et de l'état de son cache, pas du filtrage.

Pourquoi j’obtiens une erreur de certificat au lieu de la page de blocage ?

Parce que le site est en HTTPS. Le résolveur vous envoie vers le serveur d'avertissement, dont le certificat ne couvre pas le domaine que vous avez demandé, et le navigateur refuse la connexion avant d'afficher quoi que ce soit. Ce cas est devenu la norme depuis la généralisation de HTTPS, et c'est l'une des raisons de la création des codes EDE de la RFC 8914.

À lire aussi

commande dig · cloudflare dns 1 1 1 1 · cache · confidentialite en ligne

Newsletter

Recevez nos guides IP & réseau

Nouveaux outils, définitions et astuces sécurité, directement par email. Pas de spam, désinscription en un clic.