Cacher le hostname sous Linux

Si vous vous connectez régulièrement sur des réseaux qui ne vous appartiennent pas, que ce soit dans un centre commercial, à l’aéroport, à l’hôtel, ou autres types de réseaux publiques, plusieurs précautions qui sont souvent recommandées. Une des principales est bien souvent d’utiliser un VPN (non, cet article n’est pas sponsorisé par BiduleVPN), de bien penser à vérfier que le site est en HTTPS (petit cadenas, etc…), et autres conseils du même genre, Mais il en existe un qui est souvent ignoré alors que pourtant il peut donner des infos sur vous ou votre machine, ou les deux, c’est le hostname.

Vue sur des serveurs qui ont la classe

Votre ordinateur, qu’il soit sous Linux, Windows ou macOS, a un nom qui apparait sur chaque réseau sur lequel il se connecte. Quand le nom est « Timéo’s MacBook Pro » comme c’est souvent le cas par défaut chez Apple, on a votre prénom et le modèle de machine, ce qui inclut aussi le type de système d’exploitation dans le cas d’Apple (sauf exceptions), C’est bien évidemment un risque en terme de sécurité, Un Mac est rarement sous autre chose que macOS (toujours possible d’y installer un Linux ou un BSD mais plus rare).

Si sous Windows et macOS il est relativement facile de modifier le hostname, nous allons voir comment procéder sous Linux pour le supprimer complètement. Dans l’exemple qui suit nous allons utiliser Linux Mint mais le principe sera plus ou moins le même sur une autre distrib.

Petite précision avant de commencer: il n’est pas toujours nécessaire de faire la totalité de ce qu’on va voir ci-dessous. Selon le réseau sur lequel vous êtes connecté, une ou deux manips peuvent parfois suffir. Mais comme chaque réseau est différent, il est préférable de tout faire afin de pouvoir s’adapter à la plupart des connections auxquelles vous vous connecterez. Ce que je propose n’est pas infaillibre non plus, avec un peu de bonne volonté on peut obtenir beaucoup de choses, mais ça devrait faire l’affaire dans la plupart des cas.

Le petit Kim se demande par où commencer, il y a tellement de gens à surveiller

Scan du réseau

Nous allons tout d’abord vérifier comment nous apparaissons lorsque nous nous connection sur un réseau. Il existe différentes manières de procéder mais pour faire simple et efficace on va tester avec Angry IP Scanner.

Pour s’assurer qu’on ne se trompe pas de machine, qui pour ce test est une machine virtuelle qui s’appelle coucoucestmoi, on va vérifier l’adresse IP qu’on utilise avec ip a.

Vérification de l'adresse IP

Maintenant qu’on a repéré l’adresse on peut scanner.

Le nom de la machine apparaît bien sur Angry IP Scanner

On voit que coucoucestmoi apparait bien à l’adresse 192.168.178.122.

Modifions quelques fichiers

Désactiver la diffusion du nom d’hôte

Raison: Empêcher la diffusion du nom d’hôte réduit la visibilité de la machine sur le réseau. Les requêtes ARP (Address Resolution Protocol) sont utilisées pour résoudre les adresses IP en adresses MAC. En configurant les paramètres ARP pour ignorer ou limiter les annonces ARP, vous réduisez la capacité des autres machines à découvrir votre nom d’hôte via ces requêtes.

Technique: Modifiez votre configuration réseau pour empêcher la diffusion de votre nom d’hôte. Cela peut être fait en éditant le fichier /etc/sysctl.conf et en ajoutant :

textnet.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
Paramètres arp_ignore et arp_announce dans sysctl.conf

Ensuite, exécutez sudo sysctl -p pour appliquer les modifications.

sudo sysctl -p pour appliquer les modifications de sysctl.conf
Modifier la configuration du client DHCP

Raison: Si votre machine envoie son nom d’hôte au serveur DHCP, cela peut être visible sur le réseau. Le serveur DHCP peut stocker ces informations et les utiliser pour configurer le réseau.

Technique: Éditez le fichier de configuration du client DHCP (généralement /etc/dhcp/dhclient.conf) pour empêcher l’envoi du nom d’hôte au serveur DHCP.

Avant modification, vous devriez voir l’appel de la fonction gethostname().

Edition du client DHCP dans dhclient.conf

Vous pouvez la supprimer et garder seulement les guillemets vides.

textsend host-name "";

Suppresion de la fonction gethostname()

Gardez à l’esprit que masquer complètement le nom d’hôte sur un LAN peut être difficile, car certains protocoles réseau reposent sur les informations de nom d’hôte pour fonctionner correctement. Ces méthodes aideront à réduire la visibilité du nom d’hôte, mais ne garantissent pas une anonymisation totale sur le réseau.

Changer le nom d’hôte en un nom générique

Raison: Changer le nom d’hôte peut aider à masquer l’identité de la machine, mais cela ne suffit pas pour empêcher sa découverte sur le réseau. Le nom d’hôte est souvent utilisé pour identifier une machine sur un réseau, et le modifier peut rendre plus difficile pour les autres utilisateurs de savoir à quoi correspond votre machine.

Technique: Ouvrez le fichier /etc/hostname, le nom de la machine devrait être assigné à l’adresse locale 127.0.0.1.

Le nom de 127.0.0.1 dans le fichier hostname avant modification

Supprimez simplement le nom d’hôte actuel et sauvegardez.

Le nom de 127.0.0.1 dans le fichier hostname est maintenant supprimé
Désactiver mDNS (Multicast DNS)

Raison: mDNS permet aux machines de résoudre les noms d’hôte locaux sans serveur DNS centralisé. Désactiver mDNS réduit la visibilité de votre machine sur le réseau local, car les autres machines ne pourront plus résoudre votre nom d’hôte via ce protocole.

Technique: Si vous utilisez Avahi pour mDNS, vous pouvez le désactiver en arrêtant le service avahi-daemon :

sudo systemctl stop avahi-daemon
sudo systemctl disable avahi-daemon
sudo systemctl status avahi-daemon
Désactivation de avahi-daemon avec les commandes systemctl

Nouveau scan du réseau

Moment de vérité, maintenant que tout est modifié on peut relancer Angry IP Scanner

Nouveau scan avec Angry IP Scanner pour vérifier la disparition du nom de la machine

Pour la même adresse IP, on voit que le hostname a bien disparu des résultats.

Mission accomplie!

Mr Robonymous est content

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.