Fichier HOSTS de Windows et Linux

Lorsque vous allez sur internet et que vous vous connectez à des sites WEB, serveurs FTP ou d’autres serveurs, vous vous connectez à l’aide d’une adresse, par exemple www.malekal.com.
Les applications ne se connectent pas aux domaines (adresses littérales) mais à des adresses IP, comme par exemple : 192.168.1.1.

Lorsque vous saisissez l’adresse d’un domaine auquel vous souhaitez vous connecter, votre  application doit convertir l’adresse du domaine en adresse IP pour s’y connecter.Le fait de résoudre une adresse littérales en adresse IP est appelé résolution de noms, ceci est fait à travers un serveur DNS (domain name server).
Pour plus d’informations, je vous conseille de consulter la page : Principe et fonctionnement d’internet

Windows et tout autre système d’exploite utilise aussi un fichier HOSTS qui permet de garder ces correspondances.
Cette page vous explique son intérêt et comment modifier le fichier HOSTS de Windows.

 

Le fichier HOSTS

Il existe une autre manière de résoudre des noms de domaines sans utiliser un serveur DNS, ceci en utilisant le fichier HOSTS du système d’exploitation.
Tous les OS qui communiquent via le protocole TCP/IP, le protocole standard utilisé sur internet, ont un fichier HOSTS. Ce fichier vous permet de faire correspondre à un domaine une adresse IP.

Le fichier HOSTS est un fichier texte qui contient sur la même ligne une adresse IP et le nom de domaine.

Par exemple, imaginons que vous voulez que lorsque vous saisissez www.google.com, on atterrisse www.yahoo.com. Vous devez alors saisir l’adresse IP de www.yahoo.com et sur la meme ligne saisir www.google.

L’adresse IP de yahoo est 46.228.47.115. L’entrée sera alors : 46.228.47.115 www.google.com

Lors de l’accès à google, vous vous connecterez au serveur Yahoo.
Le mécanisme de vérification des certificat de site HTTPs rentre alors en jeu et une erreur « La connexion n’est pas sécurisée » va s’afficher.

Lorsque vous ajoutez une entrée dans le fichier HOSTS, vous devez avoir au minimum un espace entre l’adresse IP et l’adresse du domaine. Vous ne devez pas utiliser de notations comme \, / ou http:///. Vous pouvez désactiver une entrée en ajout un # au début de la ligne.

Vous devez vous demander comment cela peut fonctionner puisque nous venons de dire que pour résoudre un nom de domaine, nous devons interroger un serveur DNS (serveur de noms). Cela est vrai, mais sur beaucoup de système d’exploitation, si l’information est contenu dans le fichier HOSTS alors le serveur DNS ne sera pas interroger, le système d’exploitation utilisera automatiquement celle contenu dans le fichier HOSTS.

Notez aussi, que vous n’avez pas besoin de redémarrer l’ordinateur ou rentrer une commande lorsque vous ajoutez une entrée dans le fichier HOSTS. Cependant vous pouvez changer cela (voir plus bas dans l’article).

Localisation des fichiers HOSTS selon les systèmes d’exploitation :

Linux/Unix /etc/hosts
Windows 3.1/95/98/ME c:\windows\hosts
Windows NT/2000/XPHome/XP Pro c:\Windows\System32\drivers\etc\hosts
Netware SYS:ETC/HOSTS
Apple System Folder:Preferences and intheSystem Folder itself

Pourquoi utiliser le fichier HOSTS ?

Plusieurs raisons peuvent vous amener à vouloir modifier le fichier HOSTS, en voici quelques une :

Test réseau

Lorsque vous possédez un domaine et que vous hébergez des sites WEB. Il peut être intéressant de pouvoir tester le site WEB dans les réels conditions ou pour être sûr que la configuration de celui-ci fonctionne et ceci avant que le domaine soit accessible depuis internet. Dans ce cas précis, vous pouvez ajouter l’entrée du domaine dans votre fichier HOSTS avec l’IP du serveur WEB, afin de vérifier que celui-ci fonctionne bien et répond bien sur le domaine que vous voulez utiliser.
Lorsque la configuration est terminée, il ne reste plus qu’à rajouter l’entrée DNS du site WEB dans la configuration DNS du domaine.
Vous pouvez alors supprimer l’entrée de ce domaine dans votre fichier HOSTS.

Améliorer la vitesse de chargement du site

En ajoutant les entrées des noms de domaines dans votre fichier HOSTS, vous pouvez améliorer la vitesse de chargement des sites. En effet, votre navigateur n’aura plus besoin d’interroger un serveur DNS pour résoudre le nom de domaine du site que vous souhaitez consulter, puisque l’adresse IP sera fournie par le fichier HOSTS.
Cependant, si le site WEB change d’adresse IP, ce qui se fait automatiquement, dans le cas d’une interrogation sur le serveur DNS, si votre fichier HOSTS n’est pas à jour, vous ne pourrez plus vous connecter à ce site.

Il ne faut pas non plus s’attendre à une amélioration drastique.

Bloquer des sites WEB

Pour bloquer des sites WEB à l’aide du fichier HOSTS, vous pouvez suivre cette vidéo tutoriel :

En ajoutant une large liste de réseaux et de sites WEB connus des logiciels malveillants dans votre fichier HOSTS et en les faisant mapper sur localhost (127.0.0.1) qui pointe vers votre machine, vous pouvez bloquer la consultation de ces sites. Vous pouvez alors accélérer la consultation des sites WEB, puisque vous n’aurez plus les popup de pub, et vous pourrez sécuriser le surf.

A l’inverse, sachez que beaucoup de malware/virus ajoute dans le fichier HOSTS les entrées des sites d’antivirus ou les adresses des sites permettant la mise à jour des définitions de virus afin que votre antivirus ne soit plus à jour ou que vous ne pussiez pas scanner votre ordinateur depuis un antivirus en ligne.
La modification du fichier HOSTS ou Hijack peut aussi être utilisé afin de mener attaques Man in the Middle (MITM).

Malwarebytes Anti-Malware détecte ces modifications du fichier HOSTS malveillant en Hijack.Host

Hijack_Host_Malwarebytes

ou Microsoft Security Essentials détecte les modifications non souahitées du fichier HOSTS en SettingsModifier:Win32/PossibleHostsFileHijacker

SettingsModifier_Win32_PossibleHostsFileHijack

Cette vidéo montre comment un adware a modifié le fichier HOSTS pour provoquer des redirections sur des adresses Google et Facebook pour charger des publicités Albireo :

Il peut être conseillé de passer le fichier HOSTS en lecteur seule afin de bloquer la modification de ce dernier par des malwares.

En ajoutant une liste importante d’entrée dans le fichier HOSTS, vous pouvez ralentir le système. Vous pouvez alors désactiver le service « DNS Client » (Démarrer / Panneau de configuration / Outils d’administrations / Services / clic droit arrêter). Le DNS client permet un cache en mémoire des requêtes DNS, mais il lit aussi les entrées HOSTS pour aussi permettre un cache sur celle-ci, dans le cas où le fichier HOST est volumineux, on peut noter un ralentissement du système.

Voici quelques liens qui vous permettent de télécharger des fichiers HOSTS bloquant des sites de publicités, bannières, tracking cookies, sites WEB avec des bugs, sites WEB contenants des malwares.

Il est recommandé de sauvegarder votre fichier HOSTS en le copiant.

Si vous vous demandez si ces protections sont efficaces, la réponse est oui et non.
Il est très faciles de changer une adresse malicieuse régulièrement, la mise à jour de votre fichier HOSTS ne suivra pas.
L’utilisation de sous-domaine permet aussi de faire varier les adresses : xxxx.domain.tld, yxy.domain.tld, yxxy.domaind.tld etc.
Ce sont là, les limitations d’une protection contre le fichier HOSTS qui s’avère plutôt utile pour bloquer des adresses fixes (régie publicitaire etc).

Le fichier HOSTS de Windows

Comme nous l’avons vu précédemment, Windows utilise d’abord le contenu du fichier HOSTS pour résoudre un nom de domaine.

Vous pouvez modifier cette priorité. La priorité sur le type de résolution à utiliser peut être modifié sous Windows en modifiant ces clefs :

Clefsdu registre Description
DnsPriority Utilisation desserveursDNS
LocalPriority référencele nom de l’ordinateur
HostsPriority Référencele fichier HOSTS file
NetbtPriority Netbios mapping

Vous assignez à ces clefs des priorités avec des valeurs comprises entre -32768 et 32767. Plus le nombre est petit, plus grande est la priorité pour ce type de résolution.

Par exemple, admettons que nous ayons ces valeurs :

  • DnsPriority = 30
  • LocalPriority = 200
  • HostsPriority = 75
  • NetbtPriority = 100

Nous aurons alors comme priorité comme type de résolutions :

  1. Interrogation du serveur DNS
  2. Vérification du fichier Hosts
  3. Netbios mapping
  4. Nom de l’ordinateur

Vous pouvez alors régler la manière dont la résolutions des noms de domaine se fera en modifiant les priorités de ces clefs :

Windows 95/98/ME     HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSTCP\ServiceProvider

Windows NT, 2000, XP, Vista et Seven     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider

Modifier la priorité Fichier Hosts/serveur DNS sous Windows

La modification du fichier HOSTS de Windows nécessite que l’éditeur soit lancé avec les droits administrateur puisque le fichier se trouve dans le dossier Windows.
Si vous ne lancez pas l’éditeur avec ces droits, vous aurez un problème de permissions et un message « accès refusé » lors des tentatives d’enregistrer du fichier HOSTS.
Principe de l’UAC, plus d’informations : UAC – le contrôle des comptes de Windows

Ainsi, vous pouvez lancer le Bloc-note par un clic droit puis « exécuter en tant qu’administrateur ».
Le bloc-note se trouvant sur Windows 7 dans le sous-menu accessoire du Menu Démarrer.

et depuis le menu Démarrer de Windows 10 :

Ensuite, cliquez sur le menu ouvrir puis dans le nom du fichier collez le chemin du fichier : C:\Windows\System32\drivers\etc\hosts
Cliquez sur Ouvrir

Le fichier HOSTS est alors disponible en modification.

La vidéo suivante résume toute l’opération :

Notez qu’il existe des applications qui permettent d’éditer le fichier HOSTS de Windows comme Host File Editor.
Ce dernier permet d’éditer directement les entrées du fichier HOSTS de Windows.

Réinitialiser le fichier HOSTS de Windows

Il se peut que le fichier HOSTS de Windows ait été corrompu par des logiciels malveillants.
Le programme RstHosts a été conçus pour permettre de restaurer le fichier HOSTS.

Le lien de téléchargement : Télécharger le fichier RstHosts
Cliquez simplement sur le fichier Restaurer afin de remettre le fichier HOSTS à zéro.

Fichier HOSTS de GNU/Linux

il suffit de modifier les valeurs dans le fichier /etc/host.conf

Par défaut nous avons : order hosts, bind

bind étant l’interrogation des serveurs DNS configurés dans /etc/resolv.conf

Utilitaires fichier HOSTS

  • RstHOSTS permet de réinitialiser le fichier HOSTS en cas d’Hijacker.
  • HOSTS Manager : Gestion de votre fichier HOSTS : Très bon programme qui permet de gérer son fichiers HOSTS, télécharger automatiquement des entrées afin de vous protéger des sites malicieuxetc..
  • Hostess Hotess est un programme qui vous permet d’organiser votre fichier HOST. Après avoir lu votre fichier HOST, Hostess créé une base de données qui vous permet de scanner des entrées dupliquées etc…

Copiez le en écrasant celui existant.

Print Friendly, PDF & Email
(Visité 5 549 fois, 7 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet