DNS est le sigle pour Domain Name System. Le DNS est un service qui convertit les noms de domaine lisibles tels que google.com en une adresse IP comme 64.233.160.0. L'adresse IP permet au navigateur de localiser le serveur avec le contenu demandé. La combinaison du nom d'hôte et de l'adresse IP est appelé un espace de noms. La surveillance de vos enregistrements DNS vous permet de vous assurer que le système de noms de domaine continue de diriger correctement le trafic vers vos sites web, vos services et vos communications électroniques.

Le système de noms de domaine est une base de données distribuée et hiérarchique, chaque base de données contenant une partie des informations menant à un site web ou à un appareil spécifique. Le système de noms de domaine fonctionne avec le protocole de réseau TCP/IP pour offrir une expérience utilisateur riche, facile à utiliser et complète.

Le DNS est la base de données la plus demandée au monde, il traite les demandes de milliards de périphériques. Une seule demande de page peut générer 50 requêtes DNS ou plus. Lorsque vous naviguez sur le web, vous pouvez générer des milliers de requêtes DNS. Puisque des milliards de personnes et de périphériques (Internet of Things) font la même chose, le nombre de requêtes traitées par les serveurs DNS est stupéfiant, mais le DNS gère parfaitement le trafic et résout les noms de domaine en microsecondes.

Comment fonctionne le DNS?

Le processus consistant à utiliser un nom d’hôte (par exemple google.com) pour obtenir une adresse IP (par exemple 64.233.160.0) est appelé résolution. La résolution d'un nom d'hôte est invisible pour l'utilisateur qui l'a saisi dans la barre d'adresse du navigateur, mais au cours de ces quelques microsecondes entre la requête et la résolution, beaucoup de choses se produisent nécessitant quatre types de serveur DNS différents.

Types de serveur DNS

L'accès au contenu dont vous avez besoin se fait grâce à quatre types de serveurs DNS différents qui fonctionnent ensemble.

Serveur DNS Récursif

En règle générale, le fournisseur de services Internet (ISP) fournit le serveur DNS récursif. Ce serveur agit comme une sorte de concierge en prenant en charge les demandes des clients pour la résolution des noms d’hôte en adresses IP, effectue les démarches nécessaires et renvoie l’adresse IP au client.

Le serveur récursif vérifie d'abord son cache pour voir s'il possède déjà l'adresse IP demandée, sinon le serveur récursif contactera le serveur racine.

Serveur DNS racine

Lorsque le serveur DNS récursif n'a pas de réponse en cache, il contacte le serveur DNS racine. Les serveurs de noms racine fonctionnent en haut de la hiérarchie des zones, appelée zone racine. La zone racine est le point le plus haut de la hiérarchie DNS, il dirige les requêtes vers la zone appropriée.

Il existe 13 serveurs de zone racine gérés par 12 organisations indépendantes. Ces treize serveurs répondent au serveur récursif avec l'adresse IP des serveurs de noms de domaine de premier niveau (TLD) appropriés.

Serveurs de noms TLD

Les serveurs de noms de domaine de premier niveau conservent les informations relatives aux noms de domaine qui partagent les mêmes extensions de nom de domaine, telles que .com, .gov, .net et .edu. Les serveurs de noms TLD (top-level domain) répondent au serveur récursif avec l'adresse IP du serveur de noms faisant autorité qui contient les informations de domaine requises.

Serveur de noms faisant autorité

Le serveur de noms faisant autorité dispose de toutes les informations relatives au nom de domaine spécifique, tel que google.com. Le serveur de noms faisant autorité résout le nom en l'adresse IP appropriée, le renvoie au serveur récursif où il est probablement mis en cache, puis est retransmis au navigateur du client. Le navigateur accède ensuite au site en utilisant l'adresse IP.

Le processus de résolution d'un nom d'hôte semble devoir durer un certain temps, mais il se fait presque toujours instantanément avec le plus souvent des temps de résolution inférieurs à une microseconde. La réponse initiale de l'hôte contient souvent des URL supplémentaires pour du contenu supplémentaire. Par conséquent, une seule page web peut nécessiter des dizaines de résolutions DNS.

Qu'est-ce que le tourniquet DNS ?

Vous avez peut-être entendu le terme tourniquet DNS (round-robin) de temps en temps. Un DNS tourniquet est un serveur de noms faisant autorité qui possède plusieurs entrées en file d'attente pour un seul nom d'hôte. Quand une requête arrive, le serveur de noms extrait la première entrée DNS pour le nom d'hôte et renvoie l'adresse IP. Cet enregistrement se place ensuite à l'arrière de la file d'attente. La prochaine fois qu'un serveur DNS récursif envoie le nom d'hôte pour résolution, le serveur de noms faisant autorité répond avec la prochaine entrée DNS de la file d'attente.

Cette méthode est utilisée pour fournir une répartition de charge à un site comportant plusieurs serveurs redondants. Les problèmes avec cette méthode sont :

  • Le serveur de noms peut ne pas savoir qu'un serveur s'est déconnecté et continue de lui envoyer des requêtes. Certains serveurs de noms ont un fonctionnement à sécurité intégrée permettant de vérifier la disponibilité de l'adresse IP avant de répondre.
  • Le serveur DNS récursif peut mettre en cache l'adresse IP, envoyant chaque requête à la même adresse IP. Si vous définissez un court laps de temps Time to live (voir Mise en cache DNS ci-dessous), le nombre de requêtes adressées à la même adresse IP peut être réduit, mais le problème n’est pas totalement évité.

Mise en cache DNS

La mise en cache d'un espace de noms peut avoir lieu à n'importe quel niveau de la hiérarchie DNS, mais c'est plus fréquent sur le serveur DNS récursif. Plutôt que de répéter sans cesse tout le processus de résolution pour la même adresse IP, les serveurs conservent brièvement les informations relatives à un nom d'hôte, au cas où ils en auraient besoin à nouveau. Par exemple, la première réponse d'une adresse IP contiendra très probablement des URL vers la même adresse IP pour du contenu supplémentaire. Par conséquent, si le serveur DNS récursif n'a pas mis l'adresse IP en cache, il devra résoudre l'espace de noms pour chacune de ces requêtes.

Le cache peut exister directement sur votre ordinateur, sur le routeur, chez votre fournisseur de services Internet ou n'importe où sur l'un des serveurs DNS. Ces caches deviennent rapidement obsolètes. Chaque entrée DNS inclut donc une durée de vie  Time to live (TTL). Ce paramètre indique au serveur DNS combien de temps il doit conserver l'entrée DNS dans son cache avant sa suppression.

Empoisonnement de cache

La mise en cache DNS entraîne des vulnérabilités dans le système de noms de domaine. Cette vulnérabilité est appelée empoisonnement du cache. Un cache DNS devient empoisonné ou pollué lorsque des adresses IP non valides sont insérées dans le cache. L'empoisonnement est généralement le résultat de virus et de logiciels malveillants dans le but de diriger les requêtes vers un site de hameçonnage ou un site tiers.

Enregistrements DNS (fichiers zone)

Nous savons donc que le DNS est un énorme système hiérarchique distribué qui transforme les noms de domaine lisibles par l’homme en adresses IP utiles pour l’ordinateur. La plupart du temps, lorsque vous entendez quelqu'un faire référence au DNS, il s'agit en réalité des enregistrements DNS ou du fichier zone d'un seul domaine conservé sur les serveurs de noms faisant autorité.

Chaque entrée du DNS comporte plusieurs champs fournissant des informations spécifiques sur le domaine. Le DNS a 40 types d’enregistrement différents (obtenir la liste complète). Nous présentons ci-dessous les huit types d’enregistrements DNS les plus couramment utilisés.

L'enregistrement de type A

L'enregistrement A est la version IPv4 de l'adresse IP. La version IPv4 est une adresse sur 32 bits. IPv4 est la norme pour les adresses IP depuis le début d’Internet, mais le petit nombre d’adresses disponibles (4,29 milliards) est déjà devenu un problème. Pour gérer le nombre croissant d'adresses IP nécessaires, une transition lente mais progressive vers les adresses IPv6 sur 128 bits est en cours.

L'enregistrement de type AAAA

Si un site prend en charge les adresses IPv6 128 bits, l'enregistrement AAAA contient l'adresse IP. En termes numériques, il y a 2128 adresses disponibles.

L'enregistrement de type CNAME

Le «C» dans CNAME signifie «canonique». Au lieu de renvoyer une adresse IP, un enregistrement CNAME renvoie un alias pour la requête. Par exemple, si vous changez votre nom d'hôte de mysite.com à mywebsite.com, vous pouvez mettre à jour le CNAME avec «mywebsite.com». Lorsqu'une requête de mysite.com parvient au serveur de noms faisant autorité, la réponse est mywebsite.com. Le serveur récursif sait alors demander l'adresse IP de mywebsite.com à la place.

L'enregistrement de type MX

MX signifie «échange de courrier» (mail exchange). Lorsque le serveur récursif demande l'enregistrement MX, il demande comment acheminer le courrier pour le domaine à l'aide du protocole SMTP (Simple Mail Transfer Protocol).

L'enregistrement de type NS

NS signifie serveur de noms. L'enregistrement NS indique au serveur récursif quel serveur de noms est le serveur principal pour le domaine. Des enregistrements NS supplémentaires indiquent des serveurs de noms de secours avec les informations du domaine. La présence de serveurs de secours permet la redondance en cas de défaillance du serveur principal (à condition qu'ils soient hébergés séparément).  

L'enregistrement de type SOA

SOA signifie «début de l'autorité» (Start of Authority). Cet enregistrement fournit des informations au niveau du domaine, telles que le courrier électronique de l'administrateur. Le numéro de série est une valeur importante fréquemment surveillée. Chaque fois que vous modifiez un enregistrement DNS, le DNS l'incrémente le numéro de série de 1. Surveiller ce numéro peut vous permettre de savoir si quelqu'un a altéré vos enregistrements DNS.

L'enregistrement de type SRV

SRV signifie «service». L’enregistrement de service fournit l’hôte et le port d’un service tel que la messagerie instantanée.

L'enregistrement de type TXT

TXT est l'abréviation de «texte». Ces enregistrements sont des entrées de texte brut que vous pouvez utiliser pour les notes. Les serveurs de messagerie peuvent utiliser des enregistrements TXT pour les codes "Sender Policy Framework" qui permettent à un serveur de messagerie de vérifier la source d'un courrier électronique.

Qu'est-ce que la surveillance DNS ?

Comme vous l'avez appris plus haut, le bon fonctionnement du DNS est indispensable à Internet. Avec la surveillance DNS vous pouvez protéger votre présence en ligne en vérifiant régulièrement vos enregistrements DNS pour détecter toute modification imprévue ou panne localisée due à une erreur humaine ou à une attaque malveillante. Les enregistrements DNS sont l’une des cibles favorites des pirates informatiques et sont souvent victimes d’erreur humaine. Outre le piratage de votre compte ISP et la modification directe des valeurs, les pirates informatiques utilisent principalement deux méthodes pour rendre un site indisponible.

Empoisonnement DNS

Nous l'avons mentionné précédemment dans la section sur la mise en cache DNS. Un empoisonnement DNS se produit lorsque quelqu'un insère de fausses informations dans le cache DNS d'un serveur. Ce serveur, avec l'entrée empoisonnée pour un site, répond alors à partir de son cache suite à une requête. D'autres serveurs et routeurs mettent en cache l'enregistrement empoisonné et ainsi le poison se propage. Ces attaques redirigent généralement les utilisateurs vers un site usurpé sur lequel les pirates collectent les informations d'identification de l'utilisateur et d'autres informations telles que les informations de carte de crédit.

L'empoisonnement peut également se produire en raison d'une erreur humaine. Un cas de ce type s'est produit en Californie et au Chili lorsque le DNS a acheminé les utilisateurs de Facebook, Twitter et YouTube vers des sites chinois. Le problème avait pour origine l'acheminement de requêtes de fournisseurs de services Internet vers un serveur racine en Chine où le gouvernement chinois bloquait ces transmissions et les redirigeait vers des sites contrôlés par le gouvernement.

Attaques DDoS et DoS

Des attaques de type DDoS (déni de service distribué) et DoS (déni de service) se produisent lorsqu'un (DoS) ou plusieurs ordinateurs (DDoS) commencent à solliciter le DNS et un site de manière répétée et très rapide dans le but de faire tomber l'infrastructure de support dû aux requêtes excessives. Ces attaques se présentent sous de nombreuses formes en essayant d’utiliser toutes les connexions disponibles, submergeant les serveurs de données et affectant ainsi les performances ou les arrêtant complètement.

La surveillance peut vous aider à arrêter net une attaque DNS

La surveillance de vos entrées DNS doit figurer en haut de votre liste de priorités. Si vos enregistrements DNS sont déréglés, cela pourrait compromettre tout votre système et nuire à la réputation de votre marque. Pour surveiller votre DNS, envisagez de surveiller les éléments suivants.

Adresse(s) IP

Celui-ci est simple; une requête DNS récupère l'adresse IP du système et la compare aux adresses IP que vous indiquez (une ou plusieurs adresses utilisant une expression régulière). Si l'adresse IP ne correspond pas, votre moniteur vous en informe. Si vous utilisez IPv4 et IPv6, vous devez surveiller à la fois les enregistrements A (IPv4) et AAAA (IPv6), car il est possible que l’un échoue mais pas l’autre.

L'enregistrement SOA

Votre enregistrement SOA a un numéro de série que le système met à jour chaque fois qu'un changement se produit n'importe où sur votre entrée DNS. Même si le changement de ce numéro ne vous dise pas ce qui a changé, le fait de savoir que quelque chose a changé peut vous aider à éviter une attaque.

Les enregistrements MX et SRV

Imaginez que les courriels et les messages de votre entreprise se perdent ou commencent à rebondir aux gens qui essaient de vous joindre. Ou pire, si votre système est piraté et achemine des messages et des courriels ailleurs ? La surveillance de vos enregistrements MX et SRV peut vous aider à prévenir la perte de voies de communication cruciales.

L'enregistrement NS et les serveurs racine

Vous souhaitez peut-être tester vos enregistrements NS pour vous assurer que personne n'a altéré vos enregistrements de serveur de noms principal et de secours. De plus, vous pouvez tester ces serveurs de noms directement pour vous assurer qu'ils répondent avec les informations correctes. La surveillance est un excellent moyen de s’assurer que vos enregistrements DNS restent en sécurité et répondent de manière fiable.

Testez votre DNS de partout

Vous constaterez souvent que les erreurs DNS sont localisées et n'affectent qu'une partie de votre base d'utilisateurs. L'utilisation d'un service de surveillance tiers avec un vaste réseau de sites de test peut vous aider à capturer rapidement même les problèmes limités à des petites zones.

Conclusion

Le réseau IP et les communications Internet reposent tous sur le DNS. Surveiller activement vos enregistrements peut vous aider à prévenir une attaque ou une panne de DNS. Vous serez toujours le premier à le savoir, ce qui est bien mieux que d'entendre les plaintes des clients ou de découvrir des comptes compromis.