Qu'est-ce que le DNS ?
Le DNS (Domain Name System, ou système de noms de domaine) est l'annuaire téléphonique d'Internet. Il convertit des noms de domaine lisibles par les humains comme "example.com" en adresses IP lisibles par les machines comme "93.184.216.34", que les ordinateurs utilisent pour se localiser et communiquer. Sans DNS, il faudrait mémoriser des adresses IP pour consulter des sites Web, par exemple saisir 142.250.80.46 au lieu de google.com.
Fonctionnement du DNS
Lorsque vous saisissez un nom de domaine dans votre navigateur, un processus complexe d'une rapidité fulgurante se produit :
Le processus de résolution DNS
1. Vérification du cache local : Votre navigateur et votre système d'exploitation consultent d'abord leur cache DNS local pour rechercher une réponse récente concernant le domaine.
2. Requête au résolveur récursif : Si la réponse ne se trouve pas dans le cache, la requête est envoyée à un résolveur DNS récursif, généralement exploité par votre FAI ou par un service comme 1.1.1.1 de Cloudflare ou 8.8.8.8 de Google.
3. Requête au serveur racine : Le résolveur interroge un serveur de noms racine, qui l'oriente vers le serveur TLD approprié.
4. Requête au serveur TLD : Le serveur TLD, par exemple pour .com, fournit les serveurs de noms faisant autorité pour le domaine concerné.
5. Requête au serveur faisant autorité : Enfin, le serveur de noms faisant autorité renvoie l'adresse IP réelle du domaine.
6. Mise en cache de la réponse : Le résultat est mis en cache à plusieurs niveaux selon les valeurs TTL (Time To Live).
Ce processus complet se termine généralement en quelques millisecondes.
Types d'enregistrement DNS
Le DNS stocke différents types d'enregistrements, chacun ayant une fonction particulière :
| Type d'enregistrement | Fonction | Exemple |
|---|---|---|
| A | Associe le domaine à une adresse IPv4 | example.com → 93.184.216.34 |
| AAAA | Associe le domaine à une adresse IPv6 | example.com → 2606:2800:220:1:... |
| CNAME | Alias pointant vers un autre domaine | www.example.com → example.com |
| MX | Désignation du serveur de messagerie | example.com → mail.example.com |
| TXT | Données textuelles (SPF, DKIM, vérification) | Diverses chaînes de vérification |
| NS | Délégation du serveur de noms | example.com → ns1.provider.com |
La hiérarchie DNS
Le DNS fonctionne comme une base de données hiérarchique distribuée :
. (root)
├── com (TLD)
│ ├── example (SLD)
│ │ ├── www (subdomain)
│ │ └── mail (subdomain)
│ └── google
├── org (TLD)
└── io (TLD)
Cette hiérarchie permet de gérer de manière distribuée des milliards de noms de domaine entre des milliers d'organisations.
Le DNS pour les développeurs
Comprendre le DNS est essentiel au développement Web :
Tâches courantes de développement
Configuration du domaine : La mise en place d'enregistrements A, de CNAME pour les sous-domaines et d'enregistrements MX pour les e-mails nécessite des connaissances en DNS. Vérification SSL/TLS : De nombreuses autorités de certification utilisent des enregistrements DNS (TXT ou CNAME) pour vérifier la propriété d'un domaine. Configuration du CDN : Les réseaux de diffusion de contenu exigent souvent des enregistrements CNAME pour acheminer le trafic via leurs serveurs périphériques. Délivrabilité des e-mails : Les enregistrements SPF, DKIM et DMARC sont tous des enregistrements DNS TXT essentiels à l'authentification des e-mails.Propagation du DNS
Lorsque vous mettez à jour des enregistrements DNS, les modifications ne prennent pas effet instantanément. La propagation du DNS, c'est-à-dire le délai nécessaire à la diffusion des changements dans l'infrastructure DNS mondiale, peut prendre de quelques minutes à 48 heures selon les paramètres TTL et le comportement des caches.
Considérations de sécurité liées au DNS
Le DNS a des implications en matière de sécurité que les développeurs doivent comprendre :
Usurpation DNS : Des attaquants peuvent tenter de renvoyer de fausses réponses DNS afin de rediriger les utilisateurs vers des sites malveillants. DNSSEC (DNS Security Extensions) contribue à empêcher ces attaques grâce à des signatures cryptographiques. Fuites DNS : Les utilisateurs de VPN peuvent envoyer accidentellement des requêtes DNS en dehors du tunnel chiffré, ce qui révèle leur activité de navigation. Amplification DDoS : Le DNS peut être exploité dans des attaques par amplification, car le protocole peut renvoyer des réponses plus volumineuses que les requêtes.DNS et disponibilité des domaines
L'état de la résolution DNS peut indiquer la disponibilité d'un domaine : l'absence d'enregistrements DNS peut signifier que le domaine n'est pas enregistré. Toutefois, les requêtes RDAP/WHOIS fournissent des informations plus fiables sur la disponibilité, car des domaines enregistrés peuvent ne pas avoir encore d'enregistrements DNS configurés.