Pi-hole : la fin des pubs, avec élégance!

Pi-hole

Le hasard fait souvent bien les choses et la journée du 27 septembre 2018 n’y a pas fait exception. Lors de ma veille technologique quotidienne, je tombe sur un post très intéressant de @troyhunt qui parle de sa découverte et de son expérience avec Pi-hole qu’un de ses amis détaillait dans son propre post. Le projet n’est pas tout récent puisque l’outil existe depuis 2014, mais cette médiatisation tombait à pic!

@troyhunt est un membre très actif de la communauté Infosec et il a la faculté de présenter chaque sujet de façon particulièrement objective et pertinente, nous forçant à envisager le contexte sous un angle nouveau, inattendu ou qui nous échappait. C’est toujours un réel plaisir de lire ses posts et je vous encourage à en faire de même si vous pouvez libérer quelques minutes de temps en temps ; il parle anglais mais avec la version écrite, il n’y a pas l’accent épique/brutal/perturbant de l’Australie 😬

Pi-hole, c’est quoi ?

Pour faire bref, Pi-hole est un système prêt à l’emploi pour Raspberry Pi qui protège tout votre réseau des publicités d’un seul coup. Il sert de DNS principal et désactive les domaines hébergeant des régies publicitaires ou qui sont connus pour être malveillants. Lorsque vous surferez sur vos sites habituels, Pi-hole fera en sorte que les sites indésirables ne puissent pas être localisés et vous obtiendrez un bien meilleur résultat qu’avec un bloqueur de publicité traditionnel comme AdBlock ou uBlock par exemple.

Le système utilise des listes de domaines identifiés et référencés comme hébergeant des services publicitaires et en interdit l’accès à travers le DNS, en refusant de résoudre l’adresse IP correspondant au nom. Les listes actuelles contiennent un peu plus de 130’000 domaines et sont mises à jour continuellement. Vous pouvez bien sûr y incorporer vos propres listes et gérer une whitelist si nécessaire.

Efficacité stupéfiante!

Pour se rendre compte de l’efficacité de la technique et des listes utilisées, Troy Hunt montre le chargement du site d’un Tabloïd australien avant et après Pi-hole. La version normale effectue plus de 2’600 requêtes sur internet (publicités, trackers, etc). La version Pi-hole-ée n’en fait plus que 175!!

Et pour l’utilisateur (c’est à dire vous et moi), c’est invisible, sans extension à installer pour votre navigateur ni quoique ce soit d’autre. Le taux de filtrage va dépendre de vos activités régulières sur internet et plus vous surfez, plus le pourcentage sera élevé. Sans compter que le surf peut également être accéléré de façon significative car il n’y a plus besoin de charger et d’attendre sur les publicités et les divers trackers omniprésents.  Mais comment faisait-on avant !?

Il faut savoir qu’installer une extension dans votre navigateur est souvent bien pratique mais que cela implique des risques importants pour la confidentialité de vos données : que fait exactement chaque extension avec les sites que vous consultez, avec les formulaires que vous remplissez, comment l’extension se protège d’un piratage à son propre niveau, comment jugez de l’intégrité de ses développeurs, etc.

Comment s’y prendre ?

Avec un simple Raspberry Pi (Amazon, premiers modèles à moins de US$40), vous mettrez en place vraiment facilement un DNS central pour votre réseau d’entreprise ou votre domicile. Une fois le Raspberry configuré avec la distribution de votre choix et Pi-hole installé, il suffit d’indiquer l’adresse IP du Raspberry comme serveur DNS principal dans la configuration de votre serveur DHCP. Et c’est tout! Vraiment!

Je tiens aussi à préciser que c’est probablement la première fois qu’un système complet, open source, sur Linux et dont l’installation consiste en une simple ligne de commande fonctionne réellement du premier coup sans bidouillage, compilation, recherche de librairie manquante ou dans la mauvaise version. Il existe même un container pour Docker (que je n’ai pas testé). La procédure d’installation tient en une seule commande et aussitôt qu’elle se termine, le système est fonctionnel et les graphiques sont déjà actifs ! Et c’est beau :


Dès que les différentes machines de votre réseau auront rafraichît leur adresse IP via DHCP (souvent en moins de 24h, ça se fait tout seul!), elles recevront le nouveau serveur DNS. Vous n’aurez pas besoin de reconfigurer tout un parc informatique, machine par machine. L’élégance de la solution tient dans le fait que ce réglage est auto-propagé via DHCP à l’ensemble du réseau. Ainsi, et sans réel effort, tous vos PC, vos tablettes, vos smartphones et vos IoT sont instantanément protégés.

Pi-hole se configure en lui indiquant vers quels DNS il doit faire suivre les requêtes qui ne seront pas filtrées. Il fournit une liste de serveurs publics prédéfinis (Google, Cloudflare, OpenDNS, Quad9 et d’autres) mais vous pouvez aussi utiliser vos propres DNS habituels ou ceux de votre fournisseur d’accès par exemple.

La preuve par l’exemple

J’ai réalisé un test rapide avec le site de 20minutes.fr pour voir l’impact réel. Voici les deux versions l’une après l’autre, d’abord sans Pi-hole et en condition de surf « normales », puis avec Pi-hole protégeant des publicités :


Sans Pi-hole, 501 requêtes !!

Avec Pi-hole, 134 requêtes 🙂

Soutien aux développeurs

Ce type de démarche constitue une contribution très importante pour la sécurité et le respect de la vie privée de tous. Les auteurs du projet indiquent que le maintien et le développement du système est financé par des dons, ponctuels ou réguliers, et un système très simple est disponible sur le site officiel. Je ne peux que vous encourager *vraiment* à tester ce système ultra simple et diaboliquement efficace.

Et si vous le pouvez et que vous êtes convaincus, soutenez-les avec une contribution. Chaque effort compte et ici, nous en bénéficions tous.

Moi j’ai testé, adopté, déployé et contribué.

🖖 Longue vie et prospérité @The_Pi_Hole 🖖 et bravo pour ce magnifique projet et la qualité de sa réalisation.