DNS ou « système de noms de domaine » (Domain Name System chez nos amis anglais) est un mécanisme particulièrement intéressant pour les réseaux.
Nous allons le voir, le DNS, c'est un peu l'annuaire inversé des sites internet : quand on sélectionne une URL, ou qu'on la tape dans une barre de recherche, le DNS se charge de la transcrire en adresse IP (exemple : 144.76.131.212) pour contacter le site.
Rentrons dans les détails : nous allons nous intéresser plus particulièrement à l’utilisation sur le réseau internet, car son usage en est le parfait exemple. Lorsque nous naviguons sur internet, nous souhaitons visiter des sites internet. Pour y accéder, nous allons entrer un texte que nous appelons URL qui contient le nom du site. Mais comment savoir quel serveur contacter pour afficher le site en question ou autrement dit, comment retrouver l’adresse IP du serveur associée à ce nom du site ?
C’est ici qu’entre en jeu le DNS.
Le mécanisme en lui-même est assez simple : le DNS permet de traduire (on parle de « résolution ») des noms de sites, appelés noms de domaine, en adresses IP. Souvenez-vous lorsque nous parlions d’adresses IP : nous avons défini ces adresses avec des suites de chiffres (et maintenant de chiffres et de lettres pour IPV6 !) incompréhensibles ! Les noms de domaine vont donc être plus compréhensibles.
Par exemple : google.com, wikilibriste.fr sont des noms de domaine. Bien plus mémorisables et utilisables au quotidien que 8.8.8.8 ou 132.54.23.109 (adresse IP fictive pour wikilibriste).
Pour les petits malins : oui il est possible de procéder à l’inverse. C’est-à-dire résoudre une adresse IP vers un nom de domaine qui lui est associé ! Cela s’appelle une « résolution inverse » ou reverse DNS.
Alors comment retrouver l’adresse IP ? Prenons l’architecture même de 2 URLs :
-- www.google.com
-- wiki.wikilibriste.fr (URL fictive utilisée pour l'exemple, notre URL réelle étant wikilibriste.fr)
Nous allons la découper en plusieurs parties afin de bien comprendre la mécanique :
Vous l’aurez compris, le DNS est une part essentielle d’internet. Sans lui, vous en seriez à entrer des adresses IP dans votre navigateur internet toute la journée ! Pas cool quand même...
Pour plus d'explications à ce sujet, vous pouvez visionner la vidéo
Eh bien simplement, car ce mécanisme bien que particulièrement utile n’est pas dénué de failles : il est tout à fait possible pour un attaquant de vous diriger vers une copie d’un site détourné afin de vous voler des informations personnelles. Des contre-mesures sont aujourd’hui mises en place mais elles ne couvrent pas tous les aspects de cette attaque. Sachant qu’aujourd’hui la majeure partie des échanges DNS est en clair (n’est pas chiffré), n’importe qui peut lire les requêtes DNS et ainsi réorienter une partie du trafic. Pour plus de détails, vous pouvez faire vos recherches sur les concepts de "DNS poisoning" ou "spoofing".
La sécurisation des requêtes DNS est aujourd'hui même en plein chantier ; en effet, les organes de standardisation et de contrôle d'internet mettent à jour les standards, mais cela prend du temps. Pendant ce temps, nos requêtes DNS sont la plupart du temps transmises sans protection (en clair). Et les serveurs DNS utilisés (souvent ceux de votre FAI ! Mais nous pouvons citer les plus utilisés comme ceux de Google ou de Cloudflare) n'ont aucunement l'intention de respecter votre vie privée.
Néanmoins, oui nous allons un peu vous rassurer après ce tableau noir , il est aujourd'hui possible d'apporter un peu de vie privée à ces requêtes et de confort, car des mandataires tiers aux objectifs louables ont créé des serveurs DNS respectant (a priori !) notre vie privée, ajoutant des listes noires d'IP publicitaires, et implémentant des mécanismes de sécurisation des échanges même si encore en cours de standardisation (cf. DNS over TLS ou DoT, DNS over HTTPS ou DoH, DNSCrypt, DNS over SSH etc. pour les intéressés).
Ainsi, afin de contourner au maximum les faiblesses citées ci-dessus, il est de plus en plus recommandé d'ajuster notre utilisation des DNS :
soit pointer directement vers des serveurs de mandataires tiers qui tiennent compte de notre vie privée, parmi lesquels des solutions dans l'esprit du libre, par exemple :
Côté instance à but lucratif, Mullvad DNS est à mentionner.
soit héberger chez nous un serveur DNS de résolution capable de résoudre une partie des requêtes DNS (l'autre partie étant toujours traitée par des serveurs tiers), comme par exemple
pour créer ses propres résolveurs.
Pour les amateurs de tests et de performances, DNSPerf vous permettra de regarder les performances des différents serveurs DNS existants (libres et non libres), à titre indicatif bien entendu.
Comme toujours en cyber-sécurité, ces 2 solutions ne sont pas parfaites, et sont donc à ajuster en fonction de notre modèle de menaces - élément que nous allons détailler à suivre.
Vous l'aurez compris, vous devez porter une attention particulière aux serveurs DNS vers lesquels vous pointez lorsque vous naviguez sur internet : par défaut, les FAI proposent, pour la plupart, leurs propres DNS. Si aucun changement n'est effectué de votre part, votre box est à priori déjà configurée pour atteindre leurs serveurs DNS.
Dans l'éventualité où vous souhaitez apporter une relative vie privée et un relatif anonymat, il est plutôt judicieux de ne pas faire confiance à votre FAI !
Il va donc s'agir d'apporter des modifications sur votre environnement local (que nous appelons très souvent "réseau local"). Différentes approches peuvent être envisagées :
Si vous souhaitez que TOUS les équipements de votre réseau local privé atteignent des serveurs DNS respectueux, il faudra modifier les adresses IP directement dans la page de configuration de votre box FAI. Ainsi, tous les équipements connectés (via câble Ethernet ou WiFi) pourront atteindre les nouveaux serveurs DNS.
Si vous souhaitez qu'uniquement quelques équipements soient configurés, il faut modifier les adresses directement sur ces équipements. Tous les systèmes d'exploitation, que ce soit bureautique ou serveur (Windows, Linux, MacOS, Unix, BSD...) proposent de configurer les serveurs DNS. Ainsi, votre équipement demandera explicitement au routeur FAI d'utiliser les adresses IP demandées, et non celles configurées sur le routeur.
Néanmoins ici, il faut bien s'assurer que le routeur applique la règle (en utilisant "nslookup" par exemple) : certains utilisateurs ont remonté que des FAI imposaient de passer par leurs DNS même si d'autres étaient configurés...
Il est également possible de configurer son navigateur afin de pointer vers le bon serveur DNS.
Nous reviendrons sur ces configurations plus loin.
Voici quelques acteurs qui proposent des services de serveurs DNS, respectueux de votre vie privée et qui, de plus, peuvent bloquer certaines publicités, par ordre de préférence et de performances :
- | Adresses IP (Linux ou Routeur) | URL DNS Privé (Android) 1 | URL Navigateur HTTPs (Linux) 2 |
---|---|---|---|
Quad9 | 9.9.9.9 (IPv4) 2620:fe::fe (IPv6) |
dns.quad9.net | https://dns.quad9.net/dns-query |
LibreDNS | 116.202.176.26 2a01:4f8:1c0c:8274::1 (IPv6) |
noads.libredns.gr | https://doh.libredns.gr/dns-query |
FDN | 80.67.169.12 (IPv4) 2001:910:800::12 (IPv6) |
ns0.fdn.fr | https://ns0.fdn.fr/dns-query |
FDN | 80.67.169.40 (IPv4) 2001:910:800::40 (IPv6) |
ns1.fdn.fr | https://ns1.fdn.fr/dns-query |
Mullvad | 194.242.2.3 (IPv4) 3 2a07:e340::3 (IPv6) 3 |
dns.mullvad.net adblock.dns.mullvad.net |
https://dns.mullvad.net/dns-query https://adblock.dns.mullvad.net/dns-query |
DNS Adblock List | Vous trouverez sur ce site une liste de serveurs DNS (IPs) intéressants pour le blocage des publicités intempestives. |
1 : "DNS Privé" est la fonction qui permet le chiffrement des requêtes DNS (DNS over TLS depuis Android 9) ou de sélectionner le fournisseur DNS de son choix, différent de celui proposé par défaut par l'opérateur de réseau mobile.
2 : "DNS over HTTPS" est souvent l'intitulé de la fonction utilisée par les navigateurs internet pour gérer la résolution DNS personnalisée.
3 : Attention : les adresses IP DNS de Mullvad sont plutôt capricieuses : il est parfois possible qu'aucune requête ne passe (c'est à dire ne soit résolue) ce qui peut mener à un blocage de votre navigation. Préférez plutôt donc utiliser les URLs localement. Cette page explique comment configuer le service : https://mullvad.net/en/help/dns-over-https-and-dns-over-tls
Il existe donc différentes façons de configurer les serveurs DNS sur son réseau ou sa/ses machines. Nous vous présentons toutes ces procédures dans cette partie :
Il est possible afin de simplifier au maximum la configuration DNS de modifier uniquement les paramètres de son navigateur afin que chaque requête (recherche, site internet visité...) passe par un serveur DNS spécifique.
Cependant, nous alertons l'audience sur certains points à garder à l'esprit : sur votre machine, vous accédez certes à internet via votre navigateur, mais il se peut que certaines applications aient également un accès à internet. C'est par exemple le cas de Telegram ou Signal (Desktop), de votre Centre de Logiciels (ex. GNOME Software), d'une application de vidéoconférence, d'une application de développement, et bien d'autres.
Dans le cas où vous paramétrez les DNS uniquement dans votre navigateur, ces autres applications pointeront toujours vers les DNS d'origine de votre FAI.
Ceci est l'inconvénient majeur de la première solution...
Si vous désirez couvrir la totalité des applications de votre machine, vous pouvez directement passer au deuxième niveau de paramétrage (et sauter ce niveau actuel), c'est à dire au système lui-même.
Cette configuration vous est présentée dans le tutoriel spécifique à Librewolf, même si applicable sur tous les navigateurs sur base Firefox.
Voici la configuration pour tout navigateur ayant une base Chromium (ex. : les impressions écrans suivantes sont basées sur le navigateur Chromium) :
Testons notre configuration pour vérifier que nous pointons bien vers le DNS de Mullvad, cf. cette partie :
Ungoogled Chromium est différent de Chromium, voici pourquoi il existe une configuration différente.
Cette configuration vous est présentée dans le tutoriel spécifique à Ungoogled Chromium.
Comme nous l'avons mentionné ci-haut, il peut être plus intéressant de configurer globalement son système afin de faire pointer toutes les requêtes (que ce soit votre navigateur, mais aussi toute autre application ayant besoin d'internet) vers des serveurs DNS tiers.
Ici encore, nous devons garder en tête qu'il ne s'agit pas de la solution optimale : en effet, nos maisons intègrent de plus en plus de produits avec accès vers internet. Il peut s'agir d'une TV (même si nous conseillons de ne pas activer l'accès internet sur ces objets!), d'une BOX TV (Nvidia Shield, Mi TV, etc.), d'une tablette pour les enfants, d'une imprimante, d'un NAS, et bien d'autres équipements, qui ne sont pas votre machine ordinateur.
Dans le cas où vous paramétrez les DNS uniquement pour votre machine, ces autres équipements pointeront toujours vers les DNS d'origine de votre FAI.
Ceci est l'inconvénient de cette seconde solution...
Alors vous pouvez nous rétorquer : "Dans ce cas, je vais paramétrer les DNS de TOUS mes équipements !". Certes, mais certains équipements n'offrent pas la possibilité de modifier les serveurs DNS
Si vous désirez couvrir la totalité des équipements de votre réseau local, vous pouvez passer au troisième niveau de paramétrage.
La présente section couvre les 2 principaux DE des distributions Linux, GNOME, Cinnamon et KDE, que ce soit Ubuntu, Zorin, Mint, Debian, Fedora, etc. Pour d'autres environnements (ex. XFCE), référez-vous à la documentation du DE ou contactez la communauté.
Configurer les serveurs DNS sur GNOME est on ne peut plus simple !
Voici la procédure :
Rendez-vous dans les "Paramètres" de GNOME :
Deux options s'offrent à vous :
2-1. Si vous êtes connectés via votre Wi-Fi, il est nécessaire de modifier les paramètres Wi-Fi (et non réseau - filaire) :
Attention : les adresses IPs entrées ci-dessus le sont à titre indicatif. Vous pouvez entrer les adresses de votre choix, sélectionnées ici.
2-2. En revanche, si vous êtes connectés via un câble (ethernet), il est nécessaire de modifier les paramètres réseau (filaire) :
Redémarrez votre machine, et vérifiez que la configuration est bien appliquée :
Nous fournissons la procédure pour Linux Mint qui vient avec l'environnement Cinnamon.
Voici la procédure :
Attention, vu que la configuration est la même sur réseau filaire ou Wi-Fi, nous ne montrons que la configuration sur réseau filaire. Si vous êtes en Wi-Fi, appliquez ces changements pour les Paramètres Wi-Fi
Attention : les adresses IPs entrées ci-dessus le sont à titre indicatif. Vous pouvez entrer les adresses de votre choix, sélectionnées ici.
Redémarrez votre machine, et vérifiez que la configuration est bien appliquée :
Nous fournissons la procédure pour un environnement de bureau KDE.
Voici la procédure :
Attention, vu que la configuration est la même sur réseau filaire ou Wi-Fi, nous ne montrons que la configuration sur réseau filaire. Si vous êtes en Wi-Fi, appliquez ces changements pour les Paramètres Wi-Fi
Veillez à bien sélectionner "Automatique (adresses uniquement)" :
Attention : les adresses IPs entrées ci-dessus le sont à titre indicatif. Vous pouvez entrer les adresses de votre choix, sélectionnées ici.
Redémarrez votre machine, et vérifiez que la configuration est bien appliquée :
Dernière solution de configuration, afin d'appliquer les modifications à tous les appareils connectés de votre réseau.
Il est nécessaire de modifier les paramètres de votre box internet fournie par votre FAI, cela inclut donc que vous sachiez accéder à l'interface de paramétrage.
Nous tentons de vous donner un maximum d'indications, cependant du fait de la multitude de box sur le marché, nous ne pouvons être exhaustifs ; il vous appartient donc de chercher dans des documentations ou des tutoriels si vous bloquez, ou de faire appel à la communauté.
Cette procédure est issue de la solution proposée sur le forum Bouygues Telecom, pour une Box Ultym, ici.
Cela peut différer quelque peu sur votre Box, veuillez donc vous référer à la documentation ou faire appel à la communauté.
Redémarrez votre box pour finaliser la configuration.
Voici la procédure pour les Freebox Pop et Delta (cela peut différer sur les Freebox Revolution, mais les intitulés devraient être les mêmes) :
Attention : les adresses IPs entrées ci-dessus le sont à titre indicatif. Vous pouvez entrer les adresses de votre choix, sélectionnées ici.
Redémarrez votre box pour finaliser la configuration.
Sur les dernières Livebox (depuis 4), il est impossible de modifier ses DNS dans l'interface d'administration.
Les choix sont donc malheureusement restreints pour ces box :
Concernant les box SFR, il se peut que certaines box (anciennes) n'acceptent pas la modification des DNS (les champs restent grisés et la modification est impossible, dû à la politique stricte de SFR !) ; dans ce cas :
Néanmoins, sur certaines Box, NB8 par exemple, il est possible de configurer les DNS comme suit :
Cela peut différer quelque peu sur votre Box, veuillez donc vous référer à la documentation ou faire appel à la communauté.
Redémarrez votre box pour finaliser la configuration.
Bien sûr, vous pouvez tout à fait monter votre propre serveur DNS (résolveur DNS).
Ceci fait l'objet d'un tutoriel bien spécifique dédié à la solution Pi-Hole.
Afin de vérifier que vous pointez bien vers le bon serveur DNS, vous pouvez utiliser l'outil DNS Leak test.
Faites un test "Standard" et après un "Test Complete", vérifiez l'ISP (Internet Service Provider et le pays si besoin), qui doit correspondre avec le DNS choisi.
Contributeur(s): Ayo, Nemtech
Botnet mirai : origine et attaques DDOS. ↩︎