Avertissement : Cet article a été traduit de l’anglais par un LLM. La précision n’est pas garantie. Vous pouvez lire l’article original en anglais.
Si vous utilisez un VPN, vous pensez peut-être : “Mon FAI n’a aucune idée de ce que je fais, et personne ne peut me tracer.” Cela pourrait cependant ne pas être tout à fait vrai en raison d’un problème courant des VPN : les fuites DNS. Dans cet article, nous verrons ce qu’elles sont, quelles sont leurs conséquences, comment les détecter, et quelques-unes des causes les plus courantes de fuites.
Que sont les fuites DNS et quelles sont leurs conséquences ?#
La figure suivante montre ce qui se passe quand votre VPN fonctionne correctement par rapport à quand il y a une fuite DNS. Dans le premier cas, vous pouvez voir que le serveur DNS est atteint via le VPN. De ce fait, il n’est pas possible pour votre FAI de voir vos requêtes DNS (qui ne sont pas chiffrées). À moins que vous n’utilisiez le serveur DNS fourni par votre fournisseur VPN, le propriétaire dudit serveur ne pourra pas savoir que c’est vous qui essayez de résoudre mysite.com.
Dans le cas où vous avez une fuite DNS, votre ordinateur se connectera au serveur DNS sans utiliser le VPN, ce qui signifie que votre FAI et le propriétaire du serveur DNS (par défaut le FAI) pourront voir les sites que vous essayez de résoudre.

Selon la raison pour laquelle vous utilisez un VPN, les fuites DNS peuvent être plus ou moins graves. Si vous êtes dans un pays gouverné par un régime autoritaire et que vous essayez d’accéder à des sites censurés, alors les autorités pourraient voir que vous avez accédé à ces sites et vous causer des problèmes. Si vous utilisez simplement un VPN pour télécharger votre distribution Linux préférée par torrent, alors ce sera relativement inoffensif.
Comment tester les fuites DNS#
Services tiers, et comment ils fonctionnent#
Tester les fuites DNS est assez simple. Vous pouvez utiliser des sites web comme dnsleaktest.com ou ipleak.net. Chacun d’eux affichera votre adresse IP actuelle et le serveur DNS que vous utilisez. Ma recommandation est d’utiliser le DNS de votre fournisseur VPN. La raison est qu’il voit déjà tout votre trafic, donc il n’y a pas d’intérêt à ajouter un autre intermédiaire pour la résolution de noms de domaine. Si vous suivez cette recommandation, vous devriez voir le DNS de votre fournisseur VPN listé, et rien d’autre.
La façon dont ipleak.net et les sites similaires fonctionnent pour déterminer quels serveurs DNS vous utilisez est assez simple. Lorsque vous chargez la page, ils vous attribuent un identifiant utilisateur unique. Par exemple, abcd123. À partir de là, ils effectueront plusieurs requêtes vers une API située à un sous-domaine contenant votre identifiant unique. Par exemple :
https://abcdefg123-1.ipleak.net/dnsdetectionhttps://abcdefg123-2.ipleak.net/dnsdetectionhttps://abcdefg123-3.ipleak.net/dnsdetection
Cette API renverra l’adresse IP du serveur DNS qui a effectué la requête. La raison pour laquelle ils font plusieurs appels est de pouvoir détecter tous vos serveurs DNS si vous en avez plus d’un.
Cela ne répond pas à la question de comment Ipleak connaît l’adresse de votre serveur DNS. La façon dont ils gèrent cela est la suivante : puisque le sous-domaine (par exemple abcdefg123-1.ipleak.net) que vous essayez d’atteindre via l’API est assez unique, il n’y a aucune chance qu’il soit stocké dans votre cache DNS ou que quelqu’un d’autre essaie de le résoudre en même temps. Cela signifie que vous devrez demander au serveur DNS faisant autorité d’Ipleak de résoudre le sous-domaine pour vous. Ce faisant, votre serveur DNS contactera le serveur DNS d’Ipleak qui enregistrera l’IP faisant la requête et la stockera pour qu’elle soit accessible par l’API.
Inspection des paquets#
Utiliser des services en ligne pour tester les fuites DNS est pratique, mais parfois les résultats peuvent être peu clairs. Par exemple, si vous utilisez un serveur DNS non standard, comment être sûr que vous vous connectez audit serveur via votre VPN et pas directement ?
Dans ce cas, vous pouvez utiliser Wireshark pour voir les paquets qui quittent réellement votre ordinateur. Il vous suffit de sélectionner vos interfaces WiFi et/ou Ethernet, et de capturer les paquets qui transitent. Dans le filtre d’affichage, entrez dns pour que seules les requêtes pertinentes s’affichent. Ensuite, essayez de faire des requêtes vers des domaines aléatoires. Si rien n’apparaît dans les paquets capturés, félicitations, cela signifie que les requêtes DNS sont routées via votre adaptateur VPN et ne fuient pas. Sinon, vous devez inspecter votre configuration.

Quelles sont les causes des fuites DNS#
Bien que l’utilisation de la configuration VPN standard fournie par un fournisseur réputé devrait empêcher les fuites DNS, il y a plusieurs choses qui peuvent les causer. Parmi les plus courantes :
- Les proxys transparents
- Les tunnels DNS divisés
- Une configuration de routage réseau inhabituelle
- La résolution de noms Smart Multi-Homed de Windows
Un exemple concret serait si vous utilisez votre propre résolveur DNS avec pfSense (voir mon article précédent). Dans ce cas, oublier de définir les Outgoing Network Interfaces sur votre interface VPN causera des fuites DNS.
Conclusion#
- Les fuites DNS peuvent permettre à votre FAI et au propriétaire du serveur DNS que vous utilisez de tracer votre activité web en sachant quels noms de domaine vous avez essayé de résoudre
- Si vous utilisez un fournisseur VPN réputé et sa configuration par défaut incluant ses serveurs DNS sans faire de configuration réseau spécifique, vous êtes probablement en sécurité
- Vous pouvez (et devriez régulièrement) vérifier facilement si votre configuration présente des fuites DNS
Sources et crédits#
- Photo de couverture par Daan Mooij sur Unsplash