#131 Envie d’une expérience Internet plus rapide ?

En ce moment les serveurs DNS ont la côte. Rien de plus normal, car s’est un rouage essentiel d’Internet. Voyons maintenant ce qu’on dans le ventre les serveurs DNS actuelles, avec le logiciel NameBench.
NameBench est un logiciel Open Source écrit en Python qui vous permet de tester les DNS les plus performants. Il est disponible sous Linux, Mac et Windows.
Vous pouvez télécharger le logiciel ici .

Pour démarrer le logiciel cliquer sur namebench-1.0.4.exe, aucune installation n’est effectuée sur le PC.

namebench_1

Après avoir décompressé les fichiers nécessaires, vous arrivez sur cette interface.

namebench_2

  • 1 : liste des serveurs DNS, utiliser sur votre système. Dans ce champs vous pouvez rajouter les adresses des serveurs DNS a tester séparer par une virgule.
  • 2: cocher cette option si vous voulez tester les serveurs OpenDNS et UltraDNS.
  • 3: permet de sélectionner que les serveurs régionaux (les plus proche de chez vous), les plus rapides et fournissant des réponses correctes.
  • 4: sélectionne la source de données soit votre cache Firefox (qui est un choix judicieux, car cela reflète bien votre navigation en reprenant vos adresses de sites visités) ou soit une liste Alexa Top Global Domains qui regroupe 10.000 sites web les plus populaires sur Internet. Attention toutefois pour les puristes si vous utilisez votre historique les adresses sont peut-être dans votre cache ce qui favoriserai votre serveur DNS actuel.

Astuce: Vous pouvez, avant de lancer le test, vider le cache DNS de votre PC, avec la commande

ipconfig /flushdns

namebench_3

  • 5: cette option concerne la sélection des sites soit dans votre cache ou dans la liste Alexa.

Weighted : soit il n’y a pas de doublons dans les hôtes et alors prend les premiers de la liste, soit si il existe des doublons et prend les hôtes de manière aléatoire. Ce mode a principalement était écrit pour la liste Alexa.

Random: une sélection aléatoire des hôtes en fonction de la source

Chunk : Permet de sélectionner un morceau séquentielle, aléatoire, de la source de données.

  • 6: Cette option sélectionne le nombre de demandes qui devrait être testé pour chaque serveur DNS.
  • 7: Indique combien de fois le test doit être exécuté. Si vous mettez plus de 1 fois, les résultats peuvent être faussés avec le mécanisme de mise en cache, car le test s ‘effectuera toujours sur la même liste d’hôtes. Cette option peut  être intéressante pour voir la différence de réponse entre la non mise en cache et la mise en cache des noms d’hôtes.
  • 8: permet de lancer le test.

Après quelques minutes voici un type de rapport qui s’affiche.

namebench_4

Cette première partie vous affiche les résultats du test et vous indique le serveur DNS le plus rapide, ici completel.

Vous pouvez voir le détail des serveurs DNS testés. En particulier le temp de réponse moyen (Avg) ainsi que le nombre d’erreur de résolution (Err).

namebench_5

Ensuite vous avez une série de graphe qui vous représente pour chaque serveur DNS, les valeurs ci-dessus.

Pour aller plus loin!!!

Maintenant que vous disposer de serveurs DNS ultra rapides et à jour, vous pouvez vérifier leur sécurité, pour savoir si ils sont protégés contre le DNS Spoofing.

Qu’est-ce que c’est ?

L’objectif de cette attaque est de rédiriger, à leur insu, des Internautes vers des sites pirates. Pour la mener à bien, le pirate utilise des faiblesses du protocole DNS (Domain Name System) et/ou de son implémentation au travers des serveurs de nom de domaine. A titre de rappel, le protocole DNS met en oeuvre les mécanismes permettant de faire la correspondance entre une adresse IP et un nom de machine (ex.: www.truc.com). Il existe deux principales attaques de type DNS Spoofing : le DNS ID Spoofing et le DNS Cache Poisoning. Concrètement, le but du pirate est de faire correspondre l’adresse IP d’une machine qu’il contrôle à un nom réel et valide d’une machine publique.

DNS ID Spoofing

Si une machine A veut communiquer avec une machine B, la machine A a obligatoirement besoin de l’adresse IP de la machine B. Cependant, il se peut que A possède uniquement le nom de B. Dans ce cas, A va utiliser le protocole DNS pour obtenir l’adresse IP de B à partir de son nom.
Une requête DNS est alors envoyée à un serveur DNS, déclaré au niveau de A, demandant la résolution du nom de B en son adresse IP. Pour identifier cette requête une numéro d’identification (en fait un champs de l’en-tête du protocole DNS) lui est assigné. Ainsi, le serveur DNS enverra la réponse à cette requête avec le même numéro d’identification. L’attaque va donc consister à récupérer ce numéro d’identification (en sniffant, quand l’attaque est effectuée sur le même réseau physique, ou en utilisant une faille des systèmes d’exploitation ou des serveurs DNS qui rendent prédictibles ces numéros) pour pouvoir envoyer une réponse falsifiée avant le serveur DNS. Ainsi, la machine A utilisera, sans le savoir, l’adresse IP du pirate et non celle de la machine B initialement destinatrice. Le schéma ci-dessous illustre simplement le principe du DNS ID Spoofing.

namebench_6

DNS Cache Poisoning

Les serveurs DNS possèdent un cache permettant de garder pendant un certain temps la correspondance entre un nom de machine et son adresse IP. En effet, un serveur DNS n’a les correspondances que pour les machines du domaine sur lequel il a autorité. Pour les autres machines, il contacte le serveur DNS ayant autorité sur le domaine auquel appartiennent ces machines. Ces réponses, pour éviter de sans cesse les redemander aux différents serveurs DNS, seront gardées dans ce cache. Le DNS Cache Poisoning consiste à corrompre ce cache avec de fausses informations. Pour cela le pirate doit avoir sous son contrôle un nom de domaine (par exemple fourbe.com) et le serveur DNS ayant autorité sur celui-ci ns.fourbe.com. L’attaque se déroule en plusieurs étapes :

  • Le pirate envoie une requête vers le serveur DNS cible demandant la résolution du nom d’une machine du domaine fourbe.com (ex.: www.fourbe.com)
  • Le serveur DNS cible relaie cette requête à ns.fourbe.com (puisque c’est lui qui a autorité sur le domaine fourbe.com)
  • Le serveur DNS du pirate (modifié pour l’occasion) enverra alors, en plus de la réponse, des enregistrements additionnels (dans lesquels se trouvent les informations falsifiées à savoir un nom de machine publique associé à une adresse IP du pirate)
  • Les enregistrements additionnels sont alors mis dans le cache du serveur DNS cible
  • Une machine faisant une requête sur le serveur DNS cible demandant la résolution d’un des noms corrompus aura pour réponse une adresse IP autre que l’adresse IP réelle associée à cette machine.

Une fois vos serveurs DNS paramétrés sur votre machine, aller sur le site GRC, ici en bas de page et cliquer sur Initiate Standard DNS Spoofability Test.

namebench_7

Le test peut durer quelques minutes…

namebench_8

A la fin, vous avez les conclusions du test.

namebench_9

Voici un exemple avec un serveur DNS d’orange. Bien sûr pour avoir une sécurité maximale il faut avoir Excellent au test.

Un autre utilitaire permet de tester les performances des serveurs DNS : DNS Benchmark. Vous pouvez le télécharger ici . Vous trouverez un bon article ici (Merci à Mr Xhark pour son aide pour ce tutoriel.)

namebench_10

Une fois le logiciel lancé, celui-ci dispose d’un certain nombre de serveur DNS, par défaut, lors de la première ouverture celui-ci récupère ceux que vous utilisez actuellement (Point vert plein en haut du comparatif).

Vous pouvez en rajouter en cliquant sur Add/Remove.

namebench_11

Entrer l’adresse IP de votre serveur, puis cliquer sur Add.

Pour lancer le test cliquer sur Run Benchmark et attendez quelques minutes.

namebench_13

Le temps du test les serveurs de nom sont classés de manière dynamique. Les serveurs en gras sont ceux que vous utilisez actuellement, vous pouvez voir leur place parmi la bonne centaine de serveurs testés.

namebench_13

A la fin du test si vous cliquez sur une adresse de serveur vous pouvez voir les renseignements suivants :

  • cached : temps de réponse pour un site en cache
  • uncached : temps de réponse pour site qui n’est pas en cache
  • dotcom : cela correspond au temps nécessaire pour résoudre un nom de domaine. Dans ce cas il s’agit de la résolution d’un nom de domaine en .com réalisée par le logiciel.

Si vous cliquer sur l’onglet Tabular Data, vous avez les données détaillées sous forme de tableau pour chaque serveur DNS testés.

namebench_14

Vous voilà maintenant au point avec tous ces outils, pour vous configurez un serveur DNS rapide et fiable.

That’s All.

Difficulté : Intermédiaire
Modification :
Crédits : Merci au site SecuritéInfo pour la définition du DNS Spoofing, et un special thanks pour Mr Xhark.


2 Potins

  1. Bonjour,

    Théoriquement ils doivent être plus rapide, généralement la différence s’exprime en ms. Le gain n’est donc pas extraordinaire.

    @+

  2. donc ces dns , je peux men servir pour surfer plus vite si je les attribues a ma connexion ?????

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *