machine-id, l'identifiant unique de systemd qui plaît aux entreprises ?


freephoto.cc


Pourquoi faut-il qu'un identifiant unique de la machine dans les systèmes Linux utilisant systemd soit utilisé par des applications ? Cet ID, que l'on retrouve sous le nom machine-id, est de plus, bel et bien utilisé notamment par les navigateurs Chrome et Chromium. Dans quel but, et pour quelle utilité ? De plus, cet ID est au même format que l'identificateur D-Bus que l'on trouve dans '/var/lib/dbus/machine-id' et en est même un symlink. Alors pourquoi ce doublon et comment s'en débarasser ?

Suite à un tweet de Julien, on peut apprendre que systemd crée un identifiant unique de la machine sur laquelle il tourne, généré au boot ou à l'installation. Sur un forum, en octobre 2018, certains l'avaient également remarqué. Cet identifiant (RFC 4122) de la machine semble déjà bien profiter à Google, qui n'en loupe pas une, lorsqu'il s'agit d'associer un numéro à une machine ou à un utilisateur. En effet, après avoir supprimé le fichier machine-id, lorsqu'on lance – via un terminal – le navigateur Chromium (l'alternative un peu plus libre de Chrome), l'erreur suivante apparait :

ERROR:browser_dm_token_storage_linux.cc(101)] Error: /etc/machine-id contains 0 characters (32 were expected).

Comment Google exploite et récolte cette identité unique et quelle correlation fait le géant avec d'autres informations comme une simple IP ? Dans la documentation du fichier, on peut lire que cet identificateur doit être considéré comme “confidentiel”, et ne doit pas être exposé dans des environnements non fiables et particulièrement sur les réseaux. Enfin, si une application doit utiliser cet identificateur, il ne doit pas être utilisé directement. On commence déjà à sentir le côté contradictoire...

Quelques tests rapides m'ont montré que Firefox, VLC et d'autres logiciels ne l'exploitent pas.

Désactiver ce “service” d'identification de systemd

Vous voulez vous débarrasser de ce service qui peut servir à des entreprises prêtes à tout pour marquer au fer rouge l'identité d'un ordinateur ?

# See your ID machine
cat /etc/machine-id

# let-s get rid of this ID service
sudo systemctl disable systemd-machine-id-commit.service
sudo chmod -x /bin/systemd-machine-id-setup
sudo rm /etc/machine-id

Hélas, au prochain redémarrage, un nouvel identificateur sera quand même créé. Il faut donc recommencer la procédure ou copier ces commandes dans un script qui sera exécuté après la fin de l'initialisation du système. On peut aussi créer un simple alias... La dernière méthode serait d'avoir un identificateur menteur et présent sur de nombreuses machine.

Discussion #fediverse

EchoLib Mastodon

Tags