Un test de fuite DNS qui montre votre réseau domestique n’est pas la preuve que le DNS chiffré a échoué, et ce n’est pas non plus la preuve que quoi que ce soit a fonctionné. Le test répond à une question : quel résolveur a reçu cette requête depuis ce réseau. Que ce soit un problème dépend de ce que vous protégiez et de qui.

Écrivez l’objectif avant de lancer le moindre test.

Étape 1 : nommez la protection que vous voulez vraiment

Trois objectifs se mélangent. Vous voulez peut-être qu’un observateur sur le chemin cesse de lire les requêtes. Vous voulez peut-être qu’un résolveur particulier cesse de les recevoir. Vous voulez peut-être que les sites que vous visitez cessent de voir votre adresse domestique. Le DNS chiffré sert le premier, change qui satisfait le deuxième et ne fait absolument rien pour le troisième.

Un VPN sert le troisième et, selon le fournisseur, le premier. Aucun des deux outils n’est un sur-ensemble de l’autre.

Étape 2 : choisissez un résolveur et vérifiez son identité

DNS over TLS enveloppe la requête dans une session TLS avec le résolveur, et DNS over HTTPS l’enveloppe dans une requête HTTP ; les RFC 7858 et RFC 8484 décrivent les deux, et aucun n’a besoin d’un tunnel. Ce qui compte opérationnellement, c’est que le certificat soit vérifié par rapport au nom que vous avez configuré, car une session chiffrée avec la mauvaise partie est pire que du texte clair avec la bonne. Cela signifie un mode strict là où la plateforme le propose, pas un mode opportuniste qui retombe en arrière quand la vérification échoue. Vérifiez la session directement avant de faire confiance au réglage : openssl s_client -connect 9.9.9.9:853 -servername dns.quad9.net -brief.

La poignée de main doit nommer le résolveur que vous avez configuré et renvoyer une chaîne que vous pouvez vérifier.

Étape 3 : décidez du comportement en cas d’échec

Chaque implémentation a une politique pour un résolveur chiffré injoignable, et cette politique est la décision de confidentialité. Le mode strict fait échouer la résolution, ce qui est visible et irritant. Le mode opportuniste réessaie en texte clair, ce qui est invisible et ruine l’objectif précisément le jour où il compte. Choisissez délibérément, puis notez le choix à côté de l’exigence.

Sur systemd-resolved, cela signifie DNSOverTLS=yes plutôt que opportunistic; sur Android, cela signifie le mode nom d’hôte de Private DNS plutôt qu’automatique.

Vérifiez ce qui est réellement en vigueur avec resolvectl status | grep -i -A1 "dns over tls", car un fichier drop-in qui n’a jamais été rechargé ne change rien.

Étape 4 : vérifiez que les applications suivent le résolveur du système

Un navigateur doté de son propre réglage de DNS sécurisé contourne entièrement la configuration du système, tout comme un runtime de conteneurs avec un résolveur intégré ou un runtime de langage qui lit une liste codée en dur. Faites en sorte qu’ils suivent le système ou configurez-les explicitement et notez-le. Regardez ensuite le comportement de repli de chacun, car ils n’échouent pas tous en mode fermé. L’inventaire est court en pratique : navigateur, runtime de conteneurs et tout client VPN que vous exécutez aussi.

Les noms privés de l’organisation restent sur le résolveur interne approuvé. Les envoyer à un service public pour qu’un test paraisse propre crée délibérément un autre problème.

Étape 5 : lisez le test de fuite par rapport à l’exigence

Un test qui signale un résolveur inattendu est un indice, pas un verdict. Il a peut-être observé votre résolveur chiffré prévu, un réglage propre à une application ou un repli en texte clair que vous ignoriez. Comparez le résolveur signalé à ce que l’étape 2 a configuré, et comparez le résultat à l’objectif de l’étape 1.

Si l’objectif était de garder les requêtes à l’écart du réseau local, un test montrant votre résolveur habituel est une véritable découverte. Si l’objectif était l’anonymat pendant la navigation, aucun réglage DNS n’aurait jamais pu le fournir.

Écrivez la ligne d’acceptation dans la langue de l’objectif : ces résolutions utilisent ce résolveur vérifié dans ces conditions. Tout ce qui est plus large est une affirmation que vous ne pouvez pas tester.

Articles similaires