DNS
Le Domain Name System (DNS) est un protocole essentiel de l’infrastructure d’Internet. Il joue le rôle d’annuaire ou de répertoire qui associe des noms de domaine (comme example.com) à leurs adresses IP (par exemple 93.184.216.34). Sans DNS, il faudrait mémoriser et saisir manuellement des adresses IP pour naviguer sur le Web, ce qui serait peu pratique. Voici une explication détaillée de son fonctionnement et de ses composantes.
1. Rôle et principes fondamentaux
Résolution de nom: Le principal rôle de DNS est de convertir un nom de domaine (ex. www.example.com) en une adresse IP (ex. 93.184.216.34), afin qu’un ordinateur puisse établir la connexion souhaitée.
Hiérarchie en arborescence: DNS est organisé sous forme de hiérarchie inversée, partant de la racine (".") jusqu’au sous-domaine le plus spécifique. Par exemple :
La racine, notée simplement par un point (
.)Les TLD (Top-Level Domains) comme
.com,.org,.fr,.edu, etc.Les sous-domaines (ex.
example.com), puis éventuellement des sous-sous-domaines (www.example.com).
Décentralisation: DNS est distribué sur un grand nombre de serveurs à travers le monde. Il n’existe pas un serveur unique qui connaisse toutes les correspondances noms/adresses IP.
2. Acteurs et types de serveurs DNS
Serveurs racine (Root name servers)
Il existe actuellement 13 ensembles de serveurs racine répartis mondialement (A à M).
Ils connaissent les adresses de tous les serveurs de TLD.
Quand un serveur DNS doit résoudre un nom de domaine et ne connaît pas la réponse, il peut commencer sa recherche en interrogeant un serveur racine.
Serveurs de TLD (Top-Level Domain)
Responsables des domaines de premier niveau, par exemple
.com,.org,.fr.Ils indiquent quels serveurs sont responsables (authoritative) pour un domaine spécifique (ex.
example.com).
Serveurs DNS autoritaires (Authoritative name servers)
Responsables d’un nom de domaine précis.
Détiennent la liste des enregistrements DNS pour ce domaine (ex. l’enregistrement A, MX, CNAME…).
Par exemple, le serveur autoritaire de
example.comsait quewww.example.compointe vers l’IP93.184.216.34.
Serveurs DNS résolveurs (Resolvers)
Souvent gérés par les FAI (Fournisseurs d’Accès à Internet) ou disponibles publiquement (comme Google DNS : 8.8.8.8).
Reçoivent les requêtes DNS des clients (ordinateurs, smartphones) et effectuent les recherches nécessaires auprès des serveurs racine, TLD, puis autoritaires pour trouver la bonne adresse IP.
Mémorisent (cachent) les réponses pour une certaine durée (TTL) afin d’accélérer les futures résolutions.
3. Processus de résolution DNS
Exemple : Vous saisissez www.example.com dans votre navigateur.
Requête au résolveur local
Votre machine envoie une requête DNS à l’adresse du DNS résolveur configuré (celui de votre FAI, par exemple).
Cette requête est généralement de type UDP (port 53) pour des requêtes rapides et courtes. Le protocole TCP peut être utilisé pour des réponses volumineuses (DNSSEC, transferts de zones, etc.).
Vérification du cache
Le résolveur local vérifie d’abord s’il n’a pas déjà en cache l’entrée pour
www.example.com.Si l’information est présente (et valide), il renvoie immédiatement la réponse au client.
Interrogation des serveurs (si pas en cache)
S’il n’a pas la réponse, le résolveur envoie une requête au serveur racine pour savoir quel serveur gère le TLD
com.Le serveur racine répond : “Pour
.com, interrogez tel serveur TLD.”Le résolveur interroge alors le serveur TLD
.com: “Qui gèreexample.com?”Le TLD
.comrenvoie l’adresse du serveur DNS autoritaire pourexample.com.
Réponse du serveur autoritaire
Le résolveur demande alors au serveur autoritaire de
example.coml’adresse IP dewww.example.com.Le serveur autoritaire répond avec l’enregistrement A (par exemple
93.184.216.34).
Retour de la réponse au client
Le résolveur renvoie l’information à votre ordinateur.
Votre navigateur peut alors envoyer sa requête HTTP à l’adresse IP obtenue (port 80 ou 443 en général).
Mise en cache
Le résolveur va aussi stocker la réponse pendant la durée définie par le TTL (Time To Live).
De même, votre ordinateur peut avoir un petit cache local DNS pour éviter de répéter ces requêtes.
4. Enregistrements DNS courants
Les enregistrements DNS (resource records) décrivent différents types d’informations. Parmi les plus importants :
A (Address)
Associe un nom de domaine à une adresse IPv4.
Exemple :
www.example.com→93.184.216.34.
AAAA (IPv6 Address)
Similaire à A, mais pour IPv6.
Exemple :
www.example.com→2606:2800:220:1:248:1893:25c8:1946.
CNAME (Canonical Name)
Alias d’un nom de domaine vers un autre nom de domaine.
Exemple :
blog.example.comest un alias pointant verspages.example.com.
MX (Mail Exchange)
Indique les serveurs de mail pour un domaine.
Exemple : Pour
example.com,mail.example.comavec une priorité (preference).
NS (Name Server)
Indique les serveurs DNS autoritaires pour un domaine.
Exemple :
example.com→ns1.exampledns.cometns2.exampledns.com.
TXT (Text)
Enregistrement texte utilisé pour stocker des informations arbitraires, souvent pour la validation de domaines (SPF, DKIM, etc.).
SOA (Start of Authority)
Contient des informations de base sur la zone (domaine) : nom du serveur maître, adresse e-mail de contact, numéros de série, etc.
5. Sécurité et évolutions
DNSSEC (Domain Name System Security Extensions)
Extensions permettant d’ajouter une signature cryptographique aux enregistrements DNS, afin de prouver leur authenticité et éviter le DNS spoofing.
Les serveurs DNS doivent supporter DNSSEC, et les enregistrements doivent être signés par le gestionnaire du domaine.
DNS over TLS (DoT) et DNS over HTTPS (DoH)
Méthodes pour chiffrer les requêtes DNS et ainsi protéger la confidentialité des utilisateurs.
Évite que des tiers n’observent ou ne modifient facilement les requêtes DNS en clair (sur le port 53).
Attaques DNS
Cache Poisoning: un attaquant injecte de fausses informations dans le cache d’un résolveur.
DDoS sur serveurs DNS: submerger des serveurs DNS pour les rendre inaccessibles et provoquer des indisponibilités de sites.
DNS Tunneling: utiliser le protocole DNS pour faire transiter du trafic malveillant ou contourner des filtrages.
6. Points clés à retenir
Fonction critique: Sans DNS, la navigation sur Internet serait impraticable.
Hiérarchie distribuée: Il n’y a pas de point unique de défaillance. L’arborescence part de la racine vers les TLD, puis vers les serveurs autoritaires.
Cache: Le cache est un élément essentiel pour accélérer les requêtes DNS et réduire la charge des serveurs.
Sécurité grandissante: Les protocoles DNSSEC, DoT, DoH visent à fiabiliser et chiffrer les échanges.
Port(s) utilisé(s): La plupart des requêtes DNS se font sur UDP/53, mais certaines (transferts de zone, réponses volumineuses, etc.) utilisent TCP/53.
Simplicité d’utilisation: Du point de vue de l’utilisateur, la résolution DNS est automatique, mais la mise en place technique nécessite des configurations précises et une compréhension de la hiérarchie.
Le protocole DNS est un des piliers du fonctionnement d’Internet.
Il permet de faire le lien entre l’interface humaine (les noms de domaines) et l’architecture de réseau (les adresses IP).
Conçu pour être distribué et résilient, il continue d’évoluer pour apporter plus de sécurité et de confidentialité à ses utilisateurs.