monsitj - stock.adobe.com

Réseau : les différents types de DNS et leurs failles

La sécurité DNS est un élément essentiel de l’administration des systèmes. Cet article détaille les cinq types de serveurs DNS, leur fonction et les menaces de sécurité auxquelles ils sont confrontés.

Le système de noms de domaine, ou DNS – la base de données qui traduit les noms de domaine faciles à lire et à utiliser en adresses IP complexes – joue un rôle crucial dans les réseaux modernes. Sa sécurité est l’une des tâches les plus critiques de la liste des tâches d’un administrateur. Les professionnels de la sécurité doivent comprendre les serveurs DNS, alias résolveurs, et leur rôle dans le réseau.

Cet article explique l’utilisation et les problèmes de sécurité respectifs des cinq types de serveurs DNS suivants :

  • Serveur DNS faisant autorité.
  • Serveur DNS récursif.
  • Serveur DNS stub (ou d’appoint).
  • Serveur de mise en cache DNS.
  • Serveur de transfert DNS.

1/ Serveur DNS faisant autorité

Plusieurs serveurs DNS, y compris les serveurs de cache et récursifs, peuvent fournir une réponse à la requête de résolution de nom. Toutefois, un seul serveur DNS héberge la copie définitive de l’enregistrement de ressource contenant le nom et l’adresse IP. Ce serveur fait autorité pour ce qui est de savoir exactement quel nom correspond à quelle adresse IP – d’où le terme de serveur faisant autorité.

Les serveurs DNS faisant autorité contiennent les enregistrements de ressources les plus récents et les plus précis. Certaines organisations utilisent des serveurs primaires et secondaires faisant autorité. Les serveurs DNS primaires hébergent des copies en lecture/écriture des enregistrements de ressources, tandis que les serveurs DNS secondaires hébergent des copies en lecture seule. Un seul serveur DNS primaire avec plusieurs serveurs secondaires augmente les performances en rendant plusieurs serveurs de résolution de noms disponibles pour les requêtes.

Les serveurs DNS faisant autorité sont confrontés à des attaques de disponibilité et d’authenticité, notamment les suivantes :

  • Les attaques DDoS qui interrompent ou retardent les réponses aux requêtes.
  • Le détournement de DNS qui redirige les requêtes vers des serveurs DNS non autorisés.
  • L’usurpation de DNS qui incorpore des informations non autorisées dans les enregistrements de ressources.

L’intégrité et la sécurité des serveurs DNS faisant autorité sont d’une importance capitale pour les administrateurs et les professionnels de la sécurité.

Résolveur d'appoint (stub), résolveur récursif et serveurs DNS faisant autorité interagissant pour fournir des correspondances correctes et actuelles entre les adresses IP et les noms de domaine.
Résolveur d'appoint (stub), résolveur récursif et serveurs DNS faisant autorité interagissant pour fournir des correspondances correctes et actuelles entre les adresses IP et les noms de domaine.

2/ Serveur DNS récursif

Les serveurs DNS récursifs fournissent les étapes intermédiaires de résolution de noms nécessaires aux services DNS basés sur Internet. Ils traitent les requêtes DNS pour le compte des appareils clients, ce qui permet à ces derniers d’éviter la lourde charge que représente la résolution des noms et des adresses IP.

Une requête unique provenant d’un appareil client peut passer par plusieurs résolveurs récursifs avant d’arriver au serveur DNS faisant autorité pour une réponse complète. Ce travail supplémentaire est caché au client. Les fournisseurs d’accès à Internet gèrent la plupart des résolveurs récursifs.

Les résolveurs récursifs sont confrontés aux mêmes problèmes de sécurité que les serveurs faisant autorité, et leur sécurité est donc tout aussi importante. Soyez conscient des attaques potentielles suivantes :

  • DDoS ou attaques similaires de consommation de ressources visant à empêcher la résolution de noms.
  • Les attaques de DNS spoofing ou de cache poisoning qui cherchent à injecter des informations de résolution de noms non autorisées.

Les serveurs de résolution récursive DNS sont parfois appelés résolveurs tout court. Il convient de noter qu’ils mettent généralement des informations en cache, à l’instar des serveurs de mise en cache DNS.

3/ Serveur DNS stub

Les serveurs DNS stub, ou d’appoint, sont un composant optionnel de l’infrastructure de résolution de noms d’une entreprise et sont conçus pour améliorer les performances de la résolution de noms. Ils se situent entre les clients et les serveurs de résolution récursifs dédiés, ce qui simplifie la configuration du client et permet des fonctions de performance, telles que la mise en cache et le transfert.

Les résolveurs stub offrent des options de configuration limitées par rapport aux serveurs DNS récursifs complets, mais ces paramètres ciblés leur permettent de remplir un rôle spécifique. Ils sont déployés sur des serveurs ou d’autres appareils réseau intermédiaires.

Les fonctionnalités typiques d’un résolveur stub sont les suivantes :

  • Transfert pour envoyer les requêtes au serveur de résolution récursif approprié.
  • Mise en cache pour stocker temporairement les résultats récents des requêtes de résolution de noms.
  • Déploiement en réseau interne au sein de réseaux complexes à grande échelle.

Les menaces de sécurité qui pèsent sur les résolveurs de type stub comprennent généralement une mauvaise configuration, l’empoisonnement de la mémoire cache et des attaques liées à la disponibilité ou à la consommation des ressources.

4/ Serveur DNS de mise en cache

Parmi les types de serveurs DNS, les serveurs de cache DNS résident entre les serveurs DNS faisant autorité et les clients afin d’améliorer les performances de la résolution de noms. Les serveurs cache vérifient leurs caches locaux avant d’envoyer une recherche à d’autres serveurs DNS.

Toutefois, ces serveurs n’hébergent pas les enregistrements de ressources qui établissent un lien entre les noms et les adresses IP. Ils mettent plutôt en cache ou mémorisent les résultats des requêtes de résolution de noms qui passent par eux. Au fil du temps, ce cache s’agrandit, ce qui augmente la probabilité que le serveur cache puisse satisfaire les requêtes de résolution de noms, au lieu du processus de recherche plus long qui consiste à interroger le serveur faisant autorité.

Les préoccupations en matière de sécurité des serveurs DNS de mise en cache consistent à s’assurer que le cache contient des informations exactes orientant les clients vers des ressources légitimes – évitant ainsi l’empoisonnement du cache –, et à configurer les serveurs afin qu’ils interrogent les serveurs DNS corrects qui se trouvent en amont. Le maintien de valeurs de durée de vie courte et la vidange périodique du cache contribuent à sécuriser le serveur.

5/ Serveur de transfert DNS

Les serveurs de transfert résident généralement dans la zone démilitarisée d’une entreprise. Ils reçoivent les requêtes de résolution de noms des serveurs DNS internes et les transmettent à des serveurs DNS externes sur l’Internet. Cette configuration évite aux serveurs DNS internes d’avoir des connexions directes à l’Internet – ce qui constitue un risque pour la sécurité –, tout en assurant la résolution des noms pour les sites web, le courrier électronique, etc. Ces serveurs offrent un avantage en matière de sécurité et améliorent généralement les performances du réseau.

Il est à noter que les serveurs de redirection DNS sont souvent configurés comme des serveurs de mise en cache afin de fournir des performances supplémentaires.

La sécurisation des serveurs de transfert est parfois plus difficile que celle des autres serveurs DNS, car ils se connectent directement à l’Internet depuis la zone démilitarisée. Les administrateurs doivent s’assurer qu’aucune connectivité, autre que les réponses de résolution de noms, n’est possible depuis la zone démilitarisée vers l’intérieur.

Client DNS

Les postes de travail des utilisateurs finaux et les serveurs non DNS s’appuient sur la résolution de noms, pour permettre aux utilisateurs de saisir des noms faciles à mémoriser et aux ordinateurs d’adresser les paquets réseau à des adresses IP. Ces appareils disposent d’un client DNS intégré au système d’exploitation qui génère automatiquement des requêtes et les envoie au serveur DNS configuré.

Par exemple, lorsqu’un dépanneur réseau tape la commande ping www.example.com pour tester la connectivité, le client DNS du système envoie une requête de résolution de nom au serveur DNS configuré, en demandant l’adresse IP associée au serveur42. Une fois que le DNS a fourni l’information, le système adresse les paquets ping à l’adresse IP fournie. Cependant, la requête peut passer par des résolveurs de stub et des serveurs DNS récursifs et finalement atteindre un serveur faisant autorité avant que cette information ne soit trouvée.

Notez que les logiciels clients DNS mettent souvent en cache les informations relatives aux noms résolus. Pour visualiser ce cache sur un ordinateur Windows, ouvrez le terminal et tapez ipconfig /displaydns.

Les dispositifs clients peuvent être vulnérables aux attaques par empoisonnement de cache, mais ils ne sont généralement que les victimes d’attaques contre les serveurs DNS visant à amener ces derniers à fournir des informations inexactes.

Comprendre la résolution des noms

La compréhension du processus de résolution de noms permet aux administrateurs de sécuriser et de résoudre les problèmes DNS. Il est important de protéger toutes les voies de communication et tous les serveurs impliqués dans ce processus.

Avant d’entrer dans le vif du sujet, voici quelques termes à comprendre :

  • Le serveur racine de noms DNS est le premier endroit où un serveur récursif envoie une requête s’il n’a pas la réponse en cache. Ce serveur dirige ensuite les requêtes vers les serveurs de noms de domaines de premier niveau (TLD). Les serveurs de noms racines sont des index de tous les serveurs qui ont des informations demandées. L’Internet Assigned Numbers Authority (IANA), branche de l’Internet Corporation for Assigned Names and Numbers (ICANN), gère les 13 principaux serveurs de noms racine du DNS.
  • Les TLD sont les classificateurs qui suivent le nom de domaine dans une URL ; par exemple, .com dans techtarget.com. Les TLD permettent de classer et de catégoriser les sites web en fonction de leur objectif ou de leur emplacement. Les TLD génériques comprennent .com pour le commerce, .edu pour l’éducation, .org pour les organisations et .gov pour les gouvernements. Les TLD de code pays comprennent .fr pour la France, .be pour la Belgique, etc.
  • Les serveurs de noms TLD fournissent aux résolveurs récursifs DNS l’adresse IP des domaines correspondants. L’IANA de l’ICANN gère également les serveurs de noms TLD.
  • Les enregistrements de ressources sont des entrées de la base de données DNS qui associent un nom à une adresse IP. Ils sont les cibles ultimes du processus de résolution de noms, qui consiste à relier les noms aux adresses IP.

Dans l’hypothèse d’une requête portant sur une ressource Internet, telle qu’un site web, le processus de résolution de noms se déroule généralement de la manière suivante :

  1. Le dispositif client effectue une requête DNS pour une adresse IP en fonction des besoins de l’utilisateur ou de l’application.
  2. L’appareil client vérifie les informations dans son propre cache DNS avant de transmettre la requête à son serveur DNS configuré, qui peut être un « stub resolver ».
  3. Le résolveur stub envoie la requête à un résolveur récursif, qui vérifie son cache.
  4. Le résolveur récursif envoie une série de requêtes récursives à un serveur de noms racine de l’Internet, au TLD suivant, puis à un serveur DNS faisant autorité.
  5. Le résolveur récursif apprend l’adresse IP demandée et la transmet au résolveur stub.
  6. Ce dernier transmet l’adresse IP à l’appareil client.
  7. Ce dernier utilise l’adresse IP pour compléter le champ de l’adresse IP de destination des paquets réseau.

Le processus peut varier si l’adresse IP est déjà stockée dans l’un des caches ou si la réponse à la résolution intervient plus tôt dans les étapes. La liste ci-dessus décrit toutefois une séquence générale de résolution de noms.

Le processus de mise en correspondance de la demande de domaine d'un utilisateur final avec l'adresse IP correspondante.
Le processus de mise en correspondance de la demande de domaine d'un utilisateur final avec l'adresse IP correspondante.

Une capacité clé

La résolution de noms est l’un des composants les plus importants de tout déploiement de réseau, et il est essentiel de la sécuriser. Ce processus commence par la compréhension des différents types de serveurs DNS, de leurs rôles et de la manière dont ils s’intègrent dans le processus de résolution de noms. À partir de là, déterminez quels sont les serveurs DNS présents sur votre réseau – ou ceux que vous devriez envisager de déployer pour des raisons de sécurité et de performance.

Ensuite, examinez l’intégrité des informations DNS de chaque serveur, que ces informations soient mises en cache ou stockées dans la base de données DNS. Enfin, n’oubliez pas d’examiner la connectivité réseau entre tous les composants DNS.

Il existe de nombreuses capacités de sécurité DNS supplémentaires, notamment les extensions de sécurité DNS, le DNS sur HTTPS, le DNS sur TLS, les zones intégrées à Windows Active Directory, etc. Déterminez si l’une de ces options peut vous aider à sécuriser ce service critique.

Pour approfondir sur LAN, Wifi