Dans cette affaire, le propriétaire de l’ordinateur a à cœur (sans jeu de mot) de protéger un peu sa vie privée. Il utilise certes beaucoup d’outils des GAFAM (Google, Apple, Facebook, Amazon, Microsoft), mais avec le soucis de progressivement se détacher de leurs emprises.
C’est pourquoi, il a choisi d’utiliser un nom de plume pour s’épancher sur internet, un VPN pour protéger sa vie privée et l’autohébergement pour un certain nombre de ses outils préférés.
C’est là que les choses deviennent intéressantes…
Vous connaissez peut-être les agrégateurs de flux RSS. Derrière cette expression se cache un outil très simple répondant au besoin suivant : comment être averti de la publication d’un nouveau billet de ses blogs ou sites web favoris sans être obligé d’aller vérifier tous les quart d’heure, site par site. Les informaticiens ont créé une famille de formats de données qu’ils ont appelés RSS (cf Wikipédia) et des outils pour lire ces formats, qu’ils ont appelés « agrégateurs« .
Il existe plusieurs agrégateurs, comme par exemple : Netvibes, Feedly ou tout simplement Firefox (en natif ou avec un module comme Sage) ou Thunderbird. Chaque agrégateur a ses propres qualités et défauts et notre utilisateur se servait principalement de Feedly, avant de décider se prendre son indépendance en hébergeant sa propre solution sur son système de stockage personnel (un groupe de disques durs reliés à son réseau personnel, que l’on appelle un NAS).
Il installe donc l’un des meilleurs agrégateurs opensource : Tiny Tiny RSS, connu aussi sous son petit nom TTRSS… Jusque là aucun problème. Tout fonctionne très bien, et il peut confortablement lire son journal électronique personnalisé, celui-ci s’alimentant automatiquement dès la parution d’un article en provenance d’un de ses (nombreux) sites préférés, à toute heure de la journée ou de la nuit.
Les choses se compliquent un peu puisque notre utilisateur souhaite évidement pouvoir accéder à son agrégateur depuis l’extérieur et depuis son téléphone intelligent. Qu’à cela ne tienne, il met en place une redirection de port sur sa box d’accès à internet, en l’occurrence ici, une FreeBox. Il installe une application (gratuite) sur son téléphone : « TTRSS 2 ».
Comme il connaît l’adresse IP fixe que lui fournit son FAI préféré, il peut l’indiquer à l’application de son téléphone et lire son journal quand bon lui semble, contribuant ainsi à l’augmentation de la joie sur Terre…
Notre homme ne se doute pas qu’il vient de commettre une (petite) erreur qui va le ridiculiser aux yeux (malveillants) du monde. En effet, non content de lire son journal personnel partout sur la planète, via son serveur TTRSS autohébergé, notre utilisateur est allé plus loin : comme il ne souhaitait pas apprendre par cœur son adresse IP personnelle, il a logiquement utilisé les services d’un nom de domaine qu’il possède pour sa société de consultant (notre homme est autoentrepreneur).
Sur le coup, il s’est méfié un peu : utilisateur assidu d’un pseudonyme sur internet, caché derrière la protection relative d’un VPN, n’y avait-il pas là un risque de dévoiler son identité réelle associée à sa petite entreprise quand il se connecte à son serveur TTRSS avec son navigateur ?
Que nenni pensait-il, puisque seul son navigateur (en session privée) et son téléphone utilisaient le nom de domaine de son entreprise. Il pouvait donc lire en toute tranquillité son agrégateur de flux RSS d’un côté et surfer sous pseudonyme de l’autre.
Erreur, erreur, erreur…
Il y a un petit mécanisme dont notre homme a oublié l’existence et qui est utilisé par de nombreux sites internets. Ce mécanisme s’appelle le référent. Comme je sais que très peu d’entre vous cliquent sur les liens que je me fais ch dont je truffe mes billets, voici en quelques mots une description du référent (referer en anglais) : lorsque vous cliquez sur un lien qui se trouve dans une page web, le site web sur lequel vous atterrissez est informé de l’URL de la page web dont vous venez.
Exemple : si vous cliquez sur ce lien : https://www.whatismyreferer.com et bien le site en question sait que vous venez du blog de Zythom (faites le test, le site vers lequel je vous envoie affiche en clair l’indication). Si vous utilisez Firefox, il vous suffit de faire « clic droit » à tout moment sur n’importe quelle page web et de choisir « Informations sur la page ». Vous aurez accès à l’information « URL de provenance »…
Notre homme, donc, utilise un pseudonyme et un VPN pour commenter à droite et à gauche sur internet, mais a choisi d’autohéberger son agrégateur de flux RSS en utilisant le nom de domaine de son autoentreprise. Par conséquent, à chaque fois qu’il clique sur un lien présent dans son agrégateur, le site sur lequel il arrive sait d’où il vient, avec le nom en clair de son autoentreprise et son IP personnelle.
Fail.
L’utilisateur en question pourrait être un militant soucieux de sa vie privée. Ou un dangereux terroriste. Ou un journaliste qui enquête en laissant le moins de traces possibles. Ou un policier sous couverture. Cela pourrait être simplement une personne qui souhaite séparer son activité d’internaute de ses activités IRL.
Rien de tout cela et de tout un peu.
Vous l’avez sans doute deviné, l’utilisateur dont je parle tout au long de ce billet, c’est moi… Depuis deux mois j’autohéberge tout fier TTRSS sur mon NAS pour abandonner Feedly, et je surfe, je blogue, je commente sur des sites où je laisse mon vrai nom en CLAIR à cause du mécanisme du référent.
Quel noob !
Non pas que mon identité réelle soit un grand secret, puisqu’elle est relativement facile à connaître (j’en profite pour dire bonjour à mes étudiants ;-), mais bon…
Alors, c’est penaud et légèrement embarrassé (c’est pareil) que je vais vous donner la solution que j’ai retenue pour éviter cela. J’ai d’abord essayé sur Firefox de modifier la variable « network.http.sendRefererHeader » en remplaçant sa valeur par 0. Cela marche très bien, sauf que certains sites (dont Twitter) ne fonctionnent plus correctement !
La solution consiste donc à utiliser sous Firefox le module « RefControl » et de paramétrer son comportement par défaut à « Leurre ».
Bien entendu, si l’on veut vraiment être anonyme sur internet, il y a des moyens plus efficaces, comme Tor, mais ce n’est pas l’objet de ce billet, qui est plus de se moquer de moi.
Ceci dit, à moins d’une vigilance de tous les instants, et d’une hygiène de vie numérique particulière stricte, on ne reste pas longtemps anonyme sur Internet…
Si je ne m'abuse, utiliser Tor dans ce contexte n'aurait rien changé au problème… (à moins que par défaut il masque le referrer).
C'est d'ailleurs un reproche (le seul?) qu'on puisse faire à l'auto-hébergement : ok on récupère le contrôle de ses données, mais on est plus "visible" en utilisant des services personnalisés (comme un nom de domaine atypiques par exemple).
Bien vu ! J'ai exactement le même problème, comme tu peux peut-être le constater à travers ce commentaire.
Merci Zythom pour ce superbe billet avec un peu d'autodérision qui sensibilise bien à toutes les failles et leak que l'on peut faire quand on a un pseudonyme… Superbe sensibilisation et partage d'expérience. Merci.
Merci bien pour l'addon …
Un auto-hébergeur noobissime !
C'est vraiment très intéressant. J'utilise un raspberry pour héberger mes flux RSS et je n'avais jamais pensé à ça…
C'est souvent le problème quand on veut protéger ses données, on pense quasiment toujours aux données, mais pas au métadonnées, comme le Referer par exemple (ou les coordonnées GPS dans une photo)
Du coup c'est une expérience intéressante qui montre qu'il est difficile d'être 100% anonyme sur internet
Edit : d'ailleur le reCaptcha ne marche pas sans referer 😀
Merci pour le billet et le retour d'expérience.
Accessoirement au delà du referrer, la résolution DNS peut également laisser des traces (certes moins visibles) sur des réseaux publics/partagés.
Ok ça n'est pas visible par le site mais sur un wifi ouvert par exemple, ça risque de moins passer inaperçu.
J'ai essayé whatismyreferer : hidden +
"You're one step further on your way to anonymity on the internet!"
Avec opera (version 12 au moins) il y a un réglage "Informer de la provenance"
lors de l'installation j'avais décoché la ligne
en cochant j'obtiens bien votre site
Merci pour ce retour d'expérience. J'héberge aussi un agrégateur de flux RSS chez moi (mais moi, j'ai pris Leed) sur un Raspberry Pi.
En lisant, j'ai fini par me dire "Oups ! Est-ce que j'avais un module pour Firefox qui me protège de ça ?". Et j'ai réactivé Modify Headers et paramétré une modification du Referer.
Et pour info, j'ai pris un nom de domaine pour pouvoir accéder chez moi en HTTPS.
J'avoue avoir du mal à penser qu'héberger son propre serveur peut ajouter de la sécurité. Sécuriser un serveur est un métier si on veut pas qu'il se transforme en botnet en une heure…
Le but est moins d'ajouter de la sécurité que de se réapproprier ses données.
Disons qu'au moins on est libre d'appliquer la politique de sécurité que l'on veut contrairement au GAFAM … 🙂
Juste une info en passant. J'héberge aussi un service (owncloud) sur mon NAS, et je viens de passer en SSL grâce à un certificat proposé gracieusement par startSSL et je dois dire que la mise en place d'un certificat sur un syno se fait comme une lettre à la poste….
Voilou, c'est tout……
La question c'est: pourquoi abandonner Feedly? C'est bien Feedly! 😉
Pour info, si le site d'origine est en HTTPS et que tu cliques sur un lien vers un site en HTTP, le referer n'est pas transmis. Par contre dans tous les autres cas il est transmis.
Il existe également la possibilité de "rebondir" sur un site de redirection ayant pour rôle de justement masquer le Referer aux yeux du site cible. L'application rssLounge (équivalent de TTRSS) propose d'ailleurs de paramétrer le site à utiliser pour cet usage. Il suffit ensuite d'en choisir un parmi les dizaines existants : anonym.to, nullrefer.com, href.li, etc.
Reste ensuite à savoir si on fait également confiance à cet intermédiaire…
KrISS feed, très très bon agrégateur, utilise anonym.to par défaut.
Après avoir utilisé les deux, je conseillerais SmartReferer plutôt que RefControl. L'extension produit moins d'effets de bord et possède une whitelist (optionnelle) pour les sites mal faits qui nécessitent un referer.
A noter que free propose un nom de domaine pour ses freebox : nom_au_choix.hd.free.fr, nom_au_choix étant à choisir dans l'interface de gestion en ligne.
Est-ce que la balise <meta name="referrer" content="no-referrer"> permettrai de faire le travail ? (nécessite "juste" de modifier l’agrégateur et pas le navigateur)
Source: https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-delivery-meta
Merci Zythom pour ce billet, c'est intéressant. J'ai lu quelques autres de tes billets et ta plume (ou plutôt ton clavier) est agréable à lire. Un site que je vais ajouter avec plaisir à mon feedly … et peut être bientôt à mon agrégateur perso, si j'ai un peu de temps devant moi 😉
J'aurai fait la même boulette. Etre un pro de la sécurité c'est un job à plein temps. 😀
Par contre récupérer ses données, cela me parle plus.
Petite anecdote : le terme anglais est referrer et non referer. Seulement, cette faute d'orthographe n'ayant pas été détectée lors de la finalisation de la spécification, elle est restée puisque les premières implémentations se sont basées dessus… Impossible de revenir en arrière 😉