Pi-hole - Bloqueur de publicités et plus

Pi-hole - Bloqueur de publicités et plus

Pi-hole

Le fonctionnement

Toute consultation sur Internet ou utilisation d’une application connectée commence par une ou plusieurs requêtes DNS pour orienter les flux sur le Web. A partir de là toute requête DNS qui aboutit, peut potentiellement servir à afficher un ou plusieurs éléments d’une page, ou requêter les APIs d’une application.

On comprend aisément que si certaines requêtes DNS n’aboutissent pas, celle-ci sont abandonnées. C’est ainsi que Pi-hole fonctionne, c’est un serveur DNS possédant la capacité de mettre en blacklist, tout domaine ne servant qu’au tracking publicitaire des utilisateurs.

Raspberry Pi et pas seulement

L’avantage de ce projet est que maintenant il existe plusieurs façons de le déployer, et le petit docker est vraiment facile à mettre en œuvre.

Le docker-compose de la documentation officielle est suffisant pour se lancer :

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "80:80/tcp"
      - "443:443/tcp"
    environment:
      TZ: 'America/Chicago'
      # WEBPASSWORD: 'set a secure password here or it will be random'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN
    restart: unless-stopped

En gros, le conteneur va écouter sur le port 53, pour les requêtes DNS et propose aussi de remplacer le serveur DHCP si besoin (67). L’interface d’administration sera disponible via les ports 80 et 443. Le mieux est d’utiliser un petit Traefik en frontal pour l’administration et avoir un certificat poussé par Let’s Encrypt. Computerz.solutions, a rédigé un bel article là dessus, allez faire un tour !!!

Bonus

Contrôle parental

Comme les serveurs DNS sont configurables, il est facile de mettre en place un pseudo contrôle parental avec certains type de DNS :

Et comme ça peut filtrer assez fort sur certains contenus, voir même bloquer certains contenus Youtube, j’ai donc 2 instances de Pi-Hole qui fonctionne. De plus, petit à petit ces services commencent à inclure aussi une politique de filtrage des publicités.

Pour aller encore plus loin

Gestion des listes

Il est possible d’ajouter d’autres sources de listes à bloquer, et d’ajouter par exemple des noms de domaines explicites dont on ne veut pas afficher le contenu :

Bloqueur de publicités sur le navigateur

Il faut aussi terminer cet article en parlant de l’extension qui permet de bloquer les publicités directement depuis le navigateur : uBlock Origin.

L’extension historique AdBlock Plus ayant perdu de sa superbe avec le virage commercial clairement pris, uBlock peut être une alternative de choix.

Note : Bien faire attention aux extensions installées, car certaines extensions se permettent de copier ces leaders, pour finalement n’être que des spywares…

Conclusion

Comme annoncé dans l’introduction, Pi-hole a le mérite d’être devenu un incontournable dans une installation domestique. Cela permet de déployer un premier bouclier face aux trackers omniprésents sur la toile. Il est possible d’améliorer ce filtrage en passant par des services DNS spécifiques (en incluant la chasse aux sites malveillants), et de compléter du coté « end user » en utilisant les bonnes applications ou bonnes extensions. Cette bonne hygiène va vous permettre de bloquer une bonne partie d’Internet (on le voit assez facilement dans l’interface d’administration de Pi-hole, où la moitié des requêtes peuvent être bloquées), et d’aller vers un internet un poil plus sûr et plus sain. Bon surf !!!