đ Dans les coulisses de l’Internet : Comprendre le DNS (Vue d’un IngĂ©nieur)
Si je vous demande comment vous accĂ©dez Ă votre site prĂ©fĂ©rĂ©, vous me rĂ©pondrez sĂ»rement : “Je tape son nom dans la barre d’adresse”. C’est simple, intuitif, et humain. Pourtant, derriĂšre cette apparente simplicitĂ© se cache l’une des infrastructures les plus critiques et fascinantes de l’Internet : le DNS (Domain Name System).
En tant qu’ingĂ©nieur systĂšme et rĂ©seaux, je passe une bonne partie de mon temps Ă configurer, dĂ©bugger ou sĂ©curiser des flux DNS. Aujourd’hui, je vous propose d’enfiler votre casquette d’ingĂ©nieur pour comprendre ce qui se passe sous le capot.
đ Le DNS, c’est quoi exactement ?
Dans le modÚle OSI, le DNS opÚre sur la couche 7 (Application). Son rÎle principal est souvent comparé à un annuaire téléphonique : il traduit des noms de domaine compréhensibles par les humains (comme blog.example.com) en adresses IP routables (comme 192.0.2.1 en IPv4 ou 2001:db8::1 en IPv6) que les machines utilisent pour communiquer.
D’un point de vue rĂ©seau, le DNS utilise historiquement le protocole UDP sur le port 53. Pourquoi UDP ? Pour sa rapiditĂ© (mode non connectĂ©). Cependant, il bascule sur le TCP port 53 lorsque la rĂ©ponse dĂ©passe 512 octets (frĂ©quent avec les signatures DNSSEC) ou lors des transferts de zones (AXFR) entre serveurs.
đł Une architecture hiĂ©rarchique et distribuĂ©e
Le DNS n’est pas un Ă©norme fichier texte stockĂ© sur un serveur unique. C’est une immense base de donnĂ©es distribuĂ©e mondialement sous forme d’arbre inversĂ©. Cette conception lui confĂšre une rĂ©silience et une scalabilitĂ© exceptionnelles.
Voici comment cet arbre est structuré :
Serveur Racine (13) -> TLD (.fr, .com, .eu, etc) -> SLD (exemple) -> exemple.com
- La Racine (
.) : Le sommet. GĂ©rĂ© par des entitĂ©s comme l’ICANN, il existe 13 adresses IP “logiques” (de A Ă M) derriĂšre lesquelles se cachent des milliers de serveurs physiques grĂące au routage Anycast. - Les TLD (Top-Level Domains) : Ils gĂšrent les extensions gĂ©nĂ©riques (
.com,.net) ou gĂ©ographiques (.fr,.uk). - Les SLD (Second-Level Domains) : C’est le domaine que vous louez chez votre registrar (ex: OVH, Gandi, AWS Route 53).
- Les Sous-domaines : Les services spécifiques que vous créez (ex:
wwwpour le web,apipour vos backends).
đ”ïžââïž L’Ă©popĂ©e d’une requĂȘte : RĂ©solution DNS en 8 Ă©tapes
Que se passe-t-il exactement quand vous tapez www.example.com ? Si l’IP n’est ni dans le cache de votre navigateur, ni dans celui de votre OS, votre machine interroge un rĂ©solveur rĂ©cursif (souvent la box de votre FAI, ou un DNS public comme 1.1.1.1 ou 8.8.8.8).
đ ïž La boĂźte Ă outils du SysAdmin : Les Enregistrements (Records)
Lorsqu’on configure une “Zone DNS” (le fichier de configuration du domaine), on manipule des enregistrements. Voici les incontournables :
- A (Address) : Pointe un nom vers une adresse IPv4 (ex: 192.0.2.42).
- AAAA (Quad-A) : Pointe un nom vers une adresse IPv6.
- CNAME (Canonical Name) : Un alias. Fait pointer un nom vers un autre nom. TrĂšs utilisĂ© dans le Cloud pour pointer vers des Load Balancers, mais interdit Ă la racine du domaine (l’Apex).
- MX (Mail Exchange) : Indique les serveurs de messagerie responsables de la réception des emails pour le domaine, avec une notion de priorité (ex:
10 mail1.example.com). - TXT (Text) : Initialement pour des commentaires, il est vital aujourd’hui pour la SSI : on y stocke les clĂ©s de sĂ©curitĂ© (SPF, DKIM, DMARC) ou les preuves de propriĂ©tĂ© (pour les certificats SSL Let’s Encrypt).
- NS (Name Server) : DĂ©lĂšgue la gestion d’une zone ou sous-zone Ă un autre serveur DNS.
đ L’Ćil de l’expert SSI : La sĂ©curitĂ© du DNS
Créé au dĂ©but des annĂ©es 80, le DNS originel est un protocole de confiance, en clair et sans authentification. Autant dire que c’est un terrain de jeu privilĂ©giĂ© pour les attaquants.
1. Le DNS Cache Poisoning (Empoisonnement de cache)
Si un attaquant rĂ©ussit Ă envoyer une fausse rĂ©ponse DNS au rĂ©solveur avant le serveur lĂ©gitime, le rĂ©solveur met en cache cette fausse IP. Toute une entreprise peut ainsi se retrouver redirigĂ©e vers une page de phishing indĂ©tectable par l’utilisateur (l’URL dans le navigateur est la bonne !). La parade : DNSSEC (DNS Security Extensions). Il ajoute des signatures cryptographiques aux enregistrements pour garantir leur intĂ©gritĂ© et leur authenticitĂ©.
2. Les attaques par amplification DDoS
Le DNS utilise UDP. Un attaquant peut usurper (spoofing) l’adresse IP de sa cible et envoyer de requĂȘtes massives Ă des serveurs DNS mal configurĂ©s (Open Resolvers). Ces serveurs rĂ©pondent Ă la victime. Comme la rĂ©ponse DNS est souvent beaucoup plus volumineuse que la requĂȘte, la cible voit sa bande passante saturĂ©e. La parade : Filtrage anti-spoofing (BCP 38), limitation de taux (Rate Limiting) sur les serveurs, et dĂ©sactivation de la rĂ©cursivitĂ© ouverte.
3. La confidentialité : DoH et DoT
Par dĂ©faut, vos requĂȘtes DNS (“Je visite le site de ma banque”) passent en clair sur le rĂ©seau. Pour chiffrer ces mĂ©tadonnĂ©es, deux standards Ă©mergent :
- DoT (DNS over TLS) : Encapsule le DNS dans un tunnel TLS (Port 853).
- DoH (DNS over HTTPS) : Fait passer les requĂȘtes DNS dans des requĂȘtes web classiques HTTPS (Port 443). Attention, cĂŽtĂ© entreprise, le DoH est un casse-tĂȘte pour les Ă©quipes SSI car il contourne les pare-feux et le filtrage DNS d’entreprise !
đŻ Conclusion
Le DNS est la vĂ©ritable colonne vertĂ©brale d’Internet. Sa maĂźtrise est absolument indispensable pour tout ingĂ©nieur SystĂšme, RĂ©seaux ou CybersĂ©curitĂ©. Une mauvaise configuration DNS peut entraĂźner des pannes massives (souvenez-vous de la panne mondiale de Facebook en 2021 !) ou de graves failles de sĂ©curitĂ©.
Et vous, utilisez-vous les DNS de votre FAI, ou avez-vous monté votre propre Pi-Hole/Unbound à la maison ? Dites-le-moi en commentaire !
Si cet article technique vous a plu, n’hĂ©sitez pas Ă le partager ou Ă me poser vos questions d’ingĂ©nierie dans les commentaires.