Flush DNS : comment vider votre cache DNS

Notre activité sur internet laisse beaucoup de traces, même les utilisateurs inexpérimentés le savent probablement déjà.

Les webmasters de sites Web utilisent des technologies telles que les cookies ou les applications JavaScript pour enregistrer le comportement des visiteurs. Les données obtenues sont utilisées pour optimiser le site Web et personnaliser le contenu sans que les utilisateurs ne communiquent leurs données personnelles.

De nombreux utilisateurs s’appuient de plus en plus sur les bloqueurs d’annonces et de JavaScript ainsi que sur les proxies, ou suppriment l’historique et les cookies pour mettre fin à la collecte de données et protéger leur propre vie privée.

Néanmoins, peu d’utilisateurs savent que leur système d’exploitation collecte des informations sur le comportement de navigation : par exemple, le cache DNS qui de manière automatique, génère des entrées temporaires sur tous les sites Web visités.

Nous allons vous expliquer ci-après le cache DNS et les raisons de régulièremment le  supprimer.

Qu’est-ce que le cache DNS ?

Les sites Web sont hébergés (stockés) sur des ordinateurs appelés « Serveur ». Votre ordinateur est le « client » et fait des demandes (appelées « requêtes ») au serveur qui héberge le site que vous voulez consulter.

Lors que vous tapez www.monsiteweb.com, des serveurs DNS entrent en action pour convertir le noms de domaine (www.monsiteweb.com) en adresses IP.  Car techniquement parlant, les serveurs ne sont connus que sous leurs adresses IP. Il existe donc un outil de conversion des noms de domaine en adresses IP : l’annuaire mondial des sites Web pour trouver l’adresse IP de la machine qui héberge tel domaine. Cet outil de « Résolution des noms de domaine » est distribué sur des serveurs DNS (Domain Name Server).

Il y a 13 serveurs DNS « racine » dans le monde, qui contiennent la base de données complète des paires « Noms de domaine – adresses IP » et des réplications partielles un peu partout, dont chez les FAI (Fournisseur d’Accès Internet) qui, chacun, privilégie les domaines/serveurs de son pays ainsi que quelques grands acteurs comme Google ou Microsoft, etc.

 

Quelles sont les informations contenues dans le cache DNS ?

Les unités d’information ou entrées dans le cache DNS sont appelées enregistrements de ressources (RR) et sont affichées en code ASCII (sous forme comprimée). Les différents composants, partiellement optionnels, comprennent les éléments suivants :

  • Données de ressource (rdata) : données qui décrivent l’enregistrement, par exemple l’adresse ou le nom d’hôte.
  • Type d’enregistrement : type de l’entrée créée, par exemple « A » : adresse IPv4 (valeur décimale : 1) ou “AAAA” : adresse IPv6 (valeur décimale : 28)
  • Nom de l’enregistrement (facultatif) : nom de domaine de l’objet pour lequel l’entrée DNS a été créée.
  • Temps à vivre (facultatif) : période de validité de l’enregistrement de la ressource en secondes.
  • Classe (optionnel) : groupe de protocole auquel appartient le RR (principalement « IN » pour internet)
  • Longueur des données de ressource (facultatif) : valeur de la longueur des données de ressource.

Le cache DNS contient les adresses IP pour les domaines ou hôtes respectifs ainsi que des informations supplémentaires le spécifiant, comme la période de validité de l’enregistrement ou le groupe de protocole approprié.

Pourquoi un flush DNS régulier est-il utile ?

De manière logique, il faut vider le cache DNS régulièrement. Cela ne se fait pas tout seul : les entrées restent dans le cache jusqu’à l’expiration du TTL défini.

Il y a trois raisons en particulier pour lesquelles vous devriez prendre des mesures et régler le registre DNS à zéro avec un flush DNS, quelle que soit la période de validité réelle des enregistrements individuels :

  1. Masquer le comportement de recherche :  le cache DNS offre toujours une cible potentielle pour tous les collecteurs de données. Dans tous les cas, votre stockage d’adresses trahit les projets que vous consultez régulièrement ou sur une longue période. Plus la collection d’adresses mises en cache est complète, plus vous vous révélez.
  2. Sécurité contre la manipulation : vous devriez également vider le cache DNS de temps en temps pour des raisons de sécurité. Les informations contenues dans le cache peuvent rapidement devenir dangereuses entre de mauvaises mains. Si les cybercriminels accèdent au cache DNS, ils peuvent arriver à vous rediriger vers de mauvais sites Web. Ce qu’on appelle empoisonnement DNS ou spoofing DNS est souvent utilisé pour accéder à des données de connexion sensibles, par exemple, aux services bancaires en ligne.
  3. Résoudre des problèmes techniques : un flush DNS sur Windows, macOS et autres est souvent une solution efficace si vous rencontrez des problèmes techniques lors de l’accès aux applications Web. Il se peut qu’en raison d’entrées obsolètes, un site Web ne peut s’afficher, ce qui peut être corrigé en vidant le cache DNS.

Remarque : Si vous le voulez, vous pouvez afficher le cache DNS actuellement stocké sur votre système. Pour ce faire, sous Windows, il suffit d’ouvrir l’invite de commande et d’entrer la commande “ipconfig /displaydns“.

Vider le cache DNS : comment faire ?

Il n’y a pas de règle sur le moment idéal pour un flush DNS, à moins qu’il n’y ait un problème urgent qui peut être résolu en vidant le cache. Le cache DNS devrait également être effacé immédiatement si vous êtes redirigé vers un site auquel vous ne souhaitiez pas accéder. Ce n’est pas nécessairement une attaque d’usurpation basée sur une entrée DNS manipulée, mais comme une telle attaque ne peut pas être exclue par principe, un flush DNS est fortement recommandé dans de tels cas.

Note que vous effaciez le cache DNS pour une raison spécifique ou simplement à titre préventif, vous n’avez pas à vous soucier de tout effet perceptible sur votre expérience Web : après avoir réinitialisé le cache, seul le premier accès à un projet Web devrait prendre un peu plus de temps que d’habitude s’il était précédemment chargé à partir de ressources sauvegardées. Puisque le processus d’un flush DNS varie d’un système à l’autre, nous avons compilé dans les sections suivantes diverses listes d’instructions pour les différents systèmes d’exploitation principaux.

Windows 10 : comment activer un flush DNS

En tant qu’utilisateur de Windows 10, vous pouvez exécuter un flush DNS via l’invite de commande. Pour l’utiliser, cliquez sur Recherche–>cmd–>clic droit (Exécuter en tant qu’administrateur).

Entrez la commande suivante : ipconfig /flushdns

Lorsque vous appuyez sur Entrée, Windows vide le cache DNS et vous indique que la mémoire cache a été vidée avec succès.

La commande flushdns est aussi valable sous Windows 7 et Windows 8

Comment faire un flush DNS sur Linux  ?

Les systèmes Linux n’ont pas de cache DNS par défaut. Les différentes distributions n’offrent qu’une fonction pour stocker les informations DNS localement avec l’utilisation d’applications appropriées comme nscd (service de nom de service cache daemon), pdnsd, dns-clean, dns-clean, ou dnsmasq.

Si vous utilisez l’un de ces services pour la mise en cache, vous devez le contrôler depuis le terminal afin de vider le cache DNS.

Pour pdnsd, il y a une commande claire et concrète :

  • sudo pdnsd-ctl empty-cache

Pour vider le cache DNS de dnsmasq, dns-clean ou ncsd, vous devez redémarrer complètement le service correspondant :

  • sudo /etc/init.d/dnsmasq restart
  • sudo /etc/init.d/nscd restart
  • sudo /etc/init.d/dns-clean restart

Comment effectuer un flush DNS sur Mac

Comme Windows, macOS dispose d’un cache DNS intégré qui collecte automatiquement les informations DNS et doit donc être effacé régulièrement. Contrairement aux systèmes Microsoft, la commande de réinitialisation du cache varie d’une version à l’autre. Ce que vous devez entrer dans le terminal pour remettre le registre DNS à zéro dépend de l’édition avec laquelle vous travaillez :

macOS 10.12.0 (Sierra) :
  • sudo killall -HUP mDNSResponder
OS X 10.10.4 (Yosemite) et 10.11.0 (El Capitan) :
  • sudo dscacheutil -flushcache;
  • sudo killall -HUP mDNSResponder
OS X 10.10.1 à 10.10.3 (Yosemite) :
  • sudo discoveryutil mdnsflushcache
  • sudo discoveryutil udnsflushcaches
OS X 10.9.0 (Mavericks) :
  • sudo dscacheutil -flushcache;
  • sudo killall -HUP mDNSResponder

Laisser un commentaire

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