Raspberry Pi, Pi-hole et Unbound


pi.hole admin and config page


À quoi, tous ça va servir ? À surfer plus vite, plus libre et d'une certaine manière, plus sécurisée. Ça vous tente ? Ce n'est pas si compliqué qu'il n'y parait pour y parvenir...

La première des conditions (dans le cas présent) est d'avoir une “framboise” – ce mini-PC si populaire – et un kit pour l'emballage, et l'alimentation. Je vous conseille également d'avoir une bonne carte micro-SD, pas forcément dotée d'une grosse capacité de stockage, mais plutôt orientée rapidité fiabilité. En effet, votre Raspberry Pi fonctionnera H24, comme serveur et il est fort probable que ce soit la carte micro-SD qui pourrisse avant la framboise. Personnellement, j'ai opté pour un Kit proposé par Abox, et une carte de type “extreme”. Comptez environ 80 euros : le prix d'une meilleure maîtrise d'un foyer ultra-connecté.

Récupérez Raspbian ou plus simplement Noobs. J'avais installé la version non light et graphique, pour ma part, car j'avais d'autres projets que Pi-hole. Une simple copie de l'archive ZIP sur la carte µSD formatée en FAT permet de la préparer facilement et rapidement avec Noobs. Une fois la carte insérée, l'amorçage se fera, normalement sans encombre, et l'installation de Raspbian ne sera qu'une formalité, car comprise dans le menu de l'installateur.

Protégez vous des publicités

Installer Pi-hole

Il n'y a rien de vraiment compliqué à mettre en place le script Pi-hole sur Raspbian. Plusieurs méthodes sont disponibles. Une ou deux lignes de commandes suffisent, et après quelques petites questions, c'est prêt. Le plus important sera d'attribuer une adresse statique à votre Raspberry Pi (que Pi-hole vous propose également d'établir) pendant sa configuration.

Utiliser Pi-hole

L'adresse statique de type 192.168.x.x de votre Raspberry Pi sera l'adresse à renseigner dans la configuration DNS de vos ordiphones pour que Pi-hole intercepte et gère leurs requêtes. Cette solution est à utiliser sur chaque ordiphone, si vous avec une box proposée par votre FAI qui ne peut être configurée pour modifier ses DNS. Avec un “vrai” routeur, vous n'aurez pas besoin de configurer chaque matériel.

Enfin, une interface accessible en local par l'adresse “pi.hole”, permet de gérer graphiquement Pi-hole das toutes ses fonctionnalités. Cette interface est un modèle de référence. À la fois légère, visuellement simple, pratique et fournie, vous n'aurez aucun mal à l'utiliser. De plus, c'est gratuit, alors, vous n'aurez aucun regret à faire un don au projet. Pour mettre à jour votre Pi-hole, connectez vous en SSH (après l'avoir activé dans le configurateur de raspbian en mode graphique ou en mode manuel expliqué ici) et tapez cette commande.

# Connexion SSH (à distance si besoin)
ssh pi@192.168.x.x

# Mettre à jour Pi-hole
pihole -up

# commandes utiles
## mettre à jour les blocklists
pihole -g
## afficher status et infos diverses
pihole -c

Command-line pihole -up

Les blocklists

Par défaut, vous préserverez votre web local des publicités et autres petites indigestions numériques. Mais vous pouvez également améliorer le filtrage en ajoutant des listes d'URLs connues et exploitées pour ne pas respecter, à la fois votre vie privée, et votre intégrité morale. Pour cela, je vous propose d'aller sur le projet blocklist.site. Vous y trouverez plusieurs catégories de listes (Spam, Scan, Phishing, Ransonware, Malware, Redirect, Ads...) que vous pourrez simplement ajouter dans votre Pi-hole en copiant leur lien dans votre configuration des blocklists. Si vous voulez en profiter pour vous débarrasser de facebook et de ses trackers, une liste anti-facebook est également disponible. Pratique quand on sait à quel point les applications des ordiphones sont bavardes avec ce réseau social.

Et sur ses navigateurs web et ordiphones ?

Pi-hole, suivant les blocklists mises en place, permet de remplacer les addons de type bloqueur de publicités comme uBlock Origin. Voilà donc de quoi alléger son navigateur. En revanche, pour les scripts sur les pages web, il peut être utile de continuer à utiliser des solutions anti-javascript à base de modules comme noscript pour se prémunir de certaines attaques. À noter que si un script dans une page web veut accéder en douce à un lien blacklisté par Pi-hole, il sera interrompu.

Pi-hole sera donc très efficace – au sein de son réseau local – pour empêcher tout périphérique qui y est connecté, d'accéder à des sites web et à des URLs référencées. Pour limiter les pratiques des TV connectées, c”est idéal.

Unbound

Unbound est un résolveur DNS (validateur, cache et récursif). Une fois installés, et les “hints” téléchargés, vous pourrez vous passer d'un service tiers comme, entre autres, le (trop) connu OpenDNS menteur. Le principe est de passer par les serveurs racine ou “faisant autorité” et de ne plus laisser de traces sur les serveurs tiers. C'est donc l'application locale unbound qui va se charger des requêtes DNS à la place des services en lignes. Pour comprendre un peu mieux, voici comment fonctionnent les DNS

Installer Unbound à côté de Pi-hole

Sur la documentation officielle du site Pi-hole, on suit ce très bon tutoriel pour mettre en place le serveur unbound. Toujours connecté en SSH, Il faudra créer un fichier sur la Pi, avec cette commande dans lequel vous copierez les informations de configuration, spécifiant notamment l'utilisation du port alternatif 5353 (pour éviter un problème de conflit). SI vraiment, vous débutez, l'éditeur de texte nano enregistre un fichier avec les touches CTRL+o. Pour quitter, c'est CTRL+x, après la copie.

sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf

Après la copie des instructions de configuration, on démarre le serveur unbound. Il ne reste désormais plus qu'à renseigner dans la configuration des DNS de Pi-hole l'adresse locale 127.0.0.1, en spécifiant le port 5353. Tout est indiqué dans le tutoriel. Bon surf !

Tags