Nous savons maintenant configurer et contrôler le Raspberry Pi entièrement à distance depuis un autre ordinateur, avec le protocole SSH.
Nous allons voir ici une application concrète de ces compétences avec une utilisation particulière du Raspberry en le transformant en résolveur DNS de manière à bloquer toutes les pubs sur nos périphériques connectés au sein de notre réseau local (ordinateurs, téléphones, tablettes).
On utilisera pour cela un logiciel très connu, entièrement dédié à cela : Pi-hole
Toutes les manipulations décrites ci-dessous ont été faites sur un ordinateur fonctionnant sous Linux Ubuntu 20.04
Présentation de Pi-hole⚓
Principe de fonctionnement
Pi-hole est un logiciel libre qui s'installe idéalement sur un Raspberry Pi qui sera toujours allumé et connecté à votre box. Il a pour rôle de bloquer l'affichage des publicités sur toutes les machines connectées au niveau d'un réseau local. Il joue le rôle de serveur DNS local pour bloquer toutes les requêtes faites vers des domaines servant à afficher de la pub sur les sites que vous visitez.
Pi-hole fonctionne en se basant sur des listes de domaines malveillants et/ou connus pour servir à l'affichage de publicités. Concrètement, il faut configurer ses machines connectées avec l'adresse IP du Raspberry comme serveur DNS : au cours de notre navigation internet, toutes les requêtes sont envoyées vers Pi-hole, toutes celles qui pointent vers un site figurant dans une de ses listes de blocage seront bloquées, toutes les requêtes légitimes pourront passer et être soumises au serveur DNS public que vous choisirez d'utiliser dans les paramètres de Pi-hole.
Par conséquent, les sites web visités s'afficheront normalement mais les publicités éventuelles qu'ils contiennent ne s'afficheront plus.
Intérêt par rapport à un bloqueur de pubs « classique » dans le navigateur
L'intêrét de Pi-hole par rapport à un bloqueur de publicités classique comme uBlockOrigin (excellent, par ailleurs) est qu'il n'agit pas seulement dans le navigateur utilisé à un moment donné sur une machine donnée, mais sur l'ensemble de toutes les requêtes DNS effectuées par toutes les machines connectées dans mon réseau local (et qui seront configurées pour l'utiliser, évidemment) y compris les requêtes faites hors navigateur, par exemple les requêtes de télémétrie de certains logiciels, ou les requêtes d'affichage de publicités à l'intérieur de certaines applications gratuites sur mobile.
Il faut savoir que dès l'instant où un smartphone ou une tablette sont connectés à internet, une quantité impressionnante de requêtes DNS sont envoyées très régulièrement, à notre insu, vers des domaines soit publicitaires, soit traqueurs d'activité (soit les deux).
Pi-hole va tout simplement envoyer toutes ces requêtes indésirables et non respectueuses de votre vie privée vers une sorte de « trou noir » (d'où son nom) où elles seront perdues (elles sont en fait redirigées vers une adresse IP locale 127.0.0.1, elles n'aboutissent donc pas).
Complément : Documentation officielle
Toute la documentation officielle de Pi-hole est accessible ici :
1. Télécharger et installer Pi-hole⚓
Définition :
Pi-hole est un logiciel libre, il peut être téléchargé (avec toutes ses sources, pour ceux qui ont les compétences pour les étudier et éventuellement les modifier) depuis sa page sur le site Github :
Tout ce qui suit a été effectué sur un ordinateur fonctionnant sous Linux.
Il est cependant tout à fait possible de le faire depuis un ordinateur sous Windows 10 en utilisant le terminal PowerShell : clic-droit sur le menu Démarrer ➜ Windows PowerShell (admin).
Méthode : Installation sur le Raspberry via SSH
Nous allons installer Pi-hole sur le Raspberry en nous connectant au Raspberry en SSH, comme on l'a vu dans le chapitre précédent.
1. Connexion SSH au Raspberry
Ouvrir un terminal
Entrer la commande : ssh pi@192.168.1.60
Entrer le mot de passe administrateur du Raspberry
Valider par la touche Entrée
Nous sommes maintenant connecté au Raspberry, via SSH, en tant qu'administrateur
➜ ATTENTION : Pour rappel, 192.168.1.60 est l'adresse IP fixe que j'ai attribuée à mon Raspberry dans les chapitres précédents. Vous utiliserez évidemment dans la commande l'adresse IP que vous aurez choisie et configurée.
2. Passer en mode root (super utilisateur)
Pour exécuter la commande suivante qui installera Pi-hole, il est nécessaire d'être connecté au Rapsberry non pas en tant qu'utilisateur standard « pi » mais en tant que « root », c'est à dire Super Utilisateur, avec tous les droits.
➜ Pour cela on saisira dans le terminal la commande suivante :
sudo su
3. Préparation du téléchargement de Pi-hole
Dans le terminal, on saisit maintenant la commande donnée par les développeurs, sur la page Github :
curl -sSL https://install.pi-hole.net | bash
et on valide par la touche Entrée.
Cela va exécuter un script qui permettra la configuration préalable des principaux paramètres de pi-hole, puis son téléchargement, puis son installation, le tout de manière automatisée.
Après quelques secondes sur l'écran précédent, on arrive sur une interface d'installation qui rappelle celle de raspi-config vue précédemment.
On va avoir quelques écrans informatifs à valider les uns après les autres avant d'arriver à l'installation proprement dite.
4. Choix de l'interface réseau à utiliser pour Pi-hole
On arrive sur un premier choix à faire, celui de l'interface réseau qui sera utilisée par Pi-hole : réseau filaire (interface eth0) ou réseau WiFi (interface wlan0).
C'est l'interface filaire eth0 qui est choisie par défaut, il est conseillé de ne pas changer ce choix, plus fiable pour le fonctionnement futur.
5. Choix du serveur DNS extérieur
À cette étape, on choisit un fournisseur DNS public parmi la liste qui est proposée.
Il est possible d'ajouter un autre serveur DNS en choisissant « custom » ; il faudra alors le configurer dans un écran suivant.
➜ Pour protéger sa vie privée, on NE choisira évidemment PAS le DNS de Google… !
On pourra conseiller le serveur DNS de Quad9 (filtered, DNSSEC) qui est reconnu comme très fiable et protecteur de la vie privée des utilisateurs, géré par une organisation à but non-lucratif et non pas par une entreprise, possédant de très nombreux serveurs à travers le monde, dont 3 en France (Paris, Lyon et Marseille), cette proximité étant gage de réactivité et de rapidité de traitement des requêtes.
➜ Site : https://www.quad9.net/
➜ « Quad9 : un résolveur DNS ouvert qui veut vous protéger en respectant votre vie privée » :
De plus ces serveurs DNS de Quad9 supportent le chiffrement des requêtes avec DoH[*] (DNS over HTTPS).
6. Choix des listes de blocage des domaines publicitaires
Pi-hole fonctionne sur des listes de référence recensant tous les domaines connus comme étant des domaines publicitaires.
À cette étape on est invité à choisir la ou les listes de référence sur lesquelles va s'appuyer le logiciel pour filtrer les requêtes DNS. Toutes les listes présentées sont cochées par défaut.
➜ vous pouvez décocher la dernière de la liste : « HostsFile » qui n'est apparemment plus maintenue et qui sera en erreur par la suite si on la laisse cochée.
Pour la désélectionner, il suffit d’appuyer sur la barre d'espace quand le ligne est sélectionnée.
➜ On aura plus tard la possibilité d'ajouter sa propre liste de blocage, depuis l'interface d'administration de pi-hole.
7. Choix des protocoles IP à utiliser pour Pi-hole
Il faut maintenant déterminer sur quels protocoles IP le logiciel Pi-hole va agir.
Par défaut les deux protocoles IPv4 et IPv6 sont sélectionnés.
➜ on maintient ce choix et on valide.
8. Configuration réseau à utiliser
On doit maintenant la configuration IP du réseau local à utiliser.
Pi-hole a déjà détecté cette configuration et demande juste confirmation si on veut l'utiliser : on voit sur l'image que l'adresse IP fixe du Raspberry ainsi que l'adresse du routeur (Gateway / passerelle) ont été détectées.
Il suffit de valider.
Viennent ensuite deux écrans purement informatifs qu'il suffira de valider par la touche Entrée.
9. Installation de l'interface d'administration
On va maintenant accepter le choix par défaut qui installera également l'interface web d'administration du logiciel Pi-hole.
Même s'il est possible de tout administrer en ligne de commande, ce sera quand même bien plus facile et rapide depuis cette interface qui s'affichera dans le navigateur de votre ordinateur.
On valide donc ce choix par OK.
10. Installation du serveur web pour l'interface d'administration
Pour être accessible et fonctionner sur notre ordinateur, l'interface web d'administration du logiciel Pi-hole installé sur le Raspberry a besoin, comme n'importe quel site internet, d'un serveur Web.
On va à cette étape valider son installation (le choix est fait pas défaut, il suffit de valider par la touche Entrée).
11. Activation de la journalisation des requêtes DNS
Là aussi, on va laisser le choix par défaut, recommandé, pour autoriser l'enregistrement des journaux (logs) de toutes les requêtes DNS qui passeront par le logiciel.
On valide simplement cette étape.
On peut revenir sur ce choix à tout moment pas la suite.
Attention : cet enregistrement d'un journal de toutes les requêtes peut poser un problème de confidentialité et de respect de la vie privée au sein de votre foyer. En effet, en activant ce choix, le Raspberry devient une sorte de « boîte noire » dans laquelle seront enregistrées toutes les requêtes vers tous les sites visités par les ordinateurs ou machines connectées du foyer.
12. Niveau de confidentialité de l'enregistrement des requêtes
À cette étape on a la possibilité de modifier pour l'augmenter le niveau de confidentialité des enregistrements de requêtes à des fins statistiques, en choisissant de masquer (ou pas) certaines informations. Ces enregistrements serviront à construire le « dashboard » (tableau de bord) de l'activité de pi-hole visible sur l'interface web du logiciel.
➜ on conservera le choix par défaut d'enregistrer les requêtes dans leur intégralité en sachant qu'on pourra à tout moment le modifier par la suite.
13. Téléchargement de pi-hole
Après la fin de cette série d'étapes visant à configurer les paramètres de pi-hole, le logiciel est maintenant effectivement téléchargé.
14. Installation de Pi-hole
Le logiciel est maintenant installé avec tous les paramètres définis au préalable dans les étapes précédentes.
➜ Il faut patienter jusqu'au bout du processus, NE PAS refermer le terminal !
15. Fin de l'installation
À la fin de l'installation, un écran récapitulatif des infos utiles pour la suite nous est affiché :
l'adresse IP à utiliser désormais comme serveur DNS sur nos appareils connectés,
l'adresse URL de l'interface d'administration de pi-hole,
le mot de passe par défaut pour s'identifier comme administrateur sur cette interface web.
ATTENTION !
Il faut à ce moment-là noter précieusement ces informations, en particulier le mot de passe d'accès à l'administration de l'interface Web. Vous pouvez aussi faire une capture d'écran, pour les retrouver lors du tout premier accès à cette interface web d'administration.
Après avoir validé l'écran précédent, on revient dans le terminal où on voit un message de confirmation d'installation réussie.
Pi-hole est maintenant installé et opérationnel sur votre Raspberry.
On peut désormais quitter le contrôle du Raspberry, déconnecter la connexion SSH (avec la commande exit dans le terminal) qui nous servait à le commander à distance, et nous diriger vers notre ordinateur à partir duquel on va pouvoir tout d'abord configurer la connexion internet pour utiliser le Raspberry comme serveur DNS et d'autre part surveiller et administrer le fonctionnement de Pi-hole à travers la fameuse interface d’administration Web.
Complément : À propos des serveurs DNS et des listes de blocage
Pour en savoir plus sur les serveurs DNS alternatifs, sur le blocage des publicités au moyen de liste de blocage DNS, on se reportera avantageusement à ces pages, de Sebsauvage :
Listes de blocage DNS : https://sebsauvage.net/wiki/doku.php?id=dns-blocklist
Liste et comparatif de serveurs DNS alternatifs : https://sebsauvage.net/wiki/doku.php?id=dns-alternatifs
Filtrage des pubs et traqueurs sur Android avec DNSFilter : https://sebsauvage.net/wiki/doku.php?id=dnsfilter
2. Configurer ses machines pour utiliser Pi-hole⚓
Configuration « globale » – peu utilisable en pratique
Le plus simple pour définir notre Raspberry Pi comme serveur DNS pour toutes les machines connectées dans notre réseau local serait de définir l'adresse du serveur DNS directement dans les paramètres de notre routeur (notre box). Mais cette modification est souvent impossible, elle est souvent interdite par les FAI (fournisseurs d'accès internet, comme Orange, SFR, Bouygues, etc.).
Orange par exemple ne le permet pas sur ses Livebox, ce paramétrage n'est pas accessible dans l'interface de configuration de la Livebox.
En effet, les FAI tiennent beaucoup à ce que nous utilisions leurs serveurs DNS, cela leur permet ainsi de traquer toutes les requêtes faites, d'en établir des statistiques, de les exploiter à des fins statistiques (ou publicitaires), voire de les modifier pour nous empêcher d'accéder à certains sites (DNS menteurs).
Ce dernier point précis (DNS menteurs) n'est pas mauvais en soi dans la mesure où nous pouvons utiliser ce principe à des fins de protection de l'utilisateur et de ses données personnelles, c'est précisément ce que l'on fait avec Pi-hole !
Malheureusement, il peut aussi nous être imposé par les FAI pour censurer l'accès à certains sites et on va à ce moment-là à l'encontre d'un principe fondateur de l'Internet : la Neutralité du Net.
Cette configuration «globale » reste possible sur les Freebox, et sur tous les routeurs que l'on peut acheter individuellement sur des sites ou magasins spécialisés.
ATTENTION !
Ce type de configuration qui se fait au niveau du routeur soulève tout de même des questions au sujet de sa radicalité et de son côté intrusif dans le cas d'utilisateurs multiples au sein d'un même foyer : n'oublions pas que si elle est mise en place, toutes les machines connectées au réseau local, de chaque personne du foyer, passeront forcément à travers Pi-hole pour accéder à internet. Et donc, toutes les requêtes faites par toutes ces machines pourront être enregistrées dans les journaux du Pi-hole (si les options de confidentialité le permettent, différents niveaux sont paramétrables), ce qui signifie que la personne qui gère Pi-hole pourrait avoir connaissance de tous les sites visités par les personnes du foyer.
Dans ce cas, il y a un aspect très intrusif pour la vie privée de ces personnes. L'utilisation de cette solution nécessiterait une information complète à ce sujet de toutes les personnes concernées et/ou un paramétrage bien plus restrictif au niveau des « Privacy settings » dans l'interface web de Pi-hole.
Méthode : ➜ Configuration alternative – à conseiller, la plus souvent utilisée
On vient de le voir, dans la plupart des cas il nous sera impossible de définir le Raspberry avec Pi-hole comme serveur DNS utilisé pour nos connexions directement au niveau de notre routeur (et donc une seule fois, pour toutes), on va donc être obligé de faire cette configuration sur chaque machine, l'une après l'autre. Par exemple, sur mon ordinateur fixe, puis sur une ordinateur portable, puis sur un téléphone ou tablette.
Cette seconde méthode, bien qu'un peu moins rapide aura cependant le mérite d'être moins radicale que la première dans la mesure où on pourra ici – si besoin – décider quelle machine utilisera Pi-hole et quelle autre ne l'utilisera pas.
Malgré les descriptions qui sont un peu longues à faire (cf. ci-dessous), pas d'affolement, ces manipulations s'effectuent en quelques secondes sur chaque machine concernée.
Configuration sur un ordinateur sous Linux (Debian, Ubuntu et dérivées)⚓
1. Ouvrir le gestionnaire des connexions réseau
On commence par cliquer sur l'icône de la connexion réseau, dans la barre tout en haut à droite de l'écran,
Cliquer sur le petit triangle noir à droite de la ligne « Filaire connecté »
Cliquer ensuite sur « Paramètres filaire »
2. Accéder aux paramètres de la connexion filaire
Un clic sur la roue dentée en haut à droite de la fenêtre va ouvrir une autre fenêtre avec tous les paramètres de la connexion filaire.
3. Fenêtre de paramétrage de la connexion filaire pour IPv4
Sur l'onglet IPv4, on va pouvoir indiquer les paramètres suivants :
désactiver l'attribution automatique d'un serveur DNS en basculant le curseur à droite sur sa position désactivée.
saisir dans le champ « DNS » l'adresse IP du Raspberry Pi faisant fonctionner Pi-hole qui deviendra notre nouveau serveur DNS.
NB : Dans mon exemple, je saisis l'adresse IP fixe attribuée à mon Raspberry : 192.168.1.60
Bien évidemment, vous devrez adapter pour indiquer l'adresse IPv4 de votre Raspberry.
NB : il peut être judicieux de rajouter un serveur DNS secondaire, qui sera utilisé si le premier (celui de Pi-hole) ne répond pas pour une raison ou pour une autre (par exemple, le Raspberry Pi ne fonctionne plus, rencontre un problème, a été débranché, etc.)
Dans ce cas, on rajoutera son adresse IP à la suite de la première, simplement séparée par une virgule, comme indiqué. On peut choisir celui de Quad9 qui est utilisé aussi par Pi-Hole : 9.9.9.9
On pourrait donc avoir dans le champ dédié les informations suivantes :
192.168.1.60,9.9.9.9
➜ Cela signifie que mon ordinateur utilisera désormais comme serveur DNS celui de Pi-hole (192.168.1.60), mais que si ce dernier devient indisponible, il utilisera en secours le 2e serveur renseigné (9.9.9.9), pour éviter que la navigation web devienne impossible.
4. Fenêtre de paramétrage de la connexion filaire pour IPv6
Sur l'onglet IPv6, on va pouvoir indiquer les paramètres suivants :
cocher la case « Méthode IPv6 : Automatique, DHCP seulement »
désactiver l'attribution automatique d'un serveur DNS en basculant le curseur à droite sur sa position désactivée.
saisir dans le champ « DNS » l'adresse IPv6 du Raspberry Pi faisant fonctionner Pi-hole qui deviendra notre nouveau serveur DNS.
Cette adresse nous a été fournie à la dernière étape de l'installation de Pi-Hole.
Si vous ne l'avez pas notée, ou si vous ne la retrouvez pas, on pourra toujours la récupérer plus tard depuis l'interface web d'administration de Pi-hole. Dans ce cas, laisser cette étape de configuration du DNS en IPv6 en suspens et revenir plus tard pour la finaliser.
5. Valider et refermer les deux fenêtres de configuration
On peut maintenant cliquer sur le bouton vert « Appliquer » en haut à droite de la fenêtre des paramètres, elle va se refermer. On peut ensuite refermer la fenêtre générale des paramètres qui s'était ouverte tout à l'heure.
6. Rendre ces modifications effectives au niveau de la connexion
Nous avons validé les nouveaux paramètres, mais ils ne sont pas encore effectifs et utilisés par la connexion en cours. Pour que ces paramètres soient effectifs et qu'enfin notre machine utilise Pi-hole, il va falloir faire redémarrer de gestionnaire de connexions.
Pour cela, on va utiliser successivement deux commandes dans le terminal.
ouvrir le terminal (Ctrl + Alt + T)
saisir et valider la commande : sudo service network-manager stop pour arrêter le gestionnaire de connexions réseau (le connexion internet est coupée)
saisir et valider la commande : sudo service network-manager start pour démarrer le gestionnaire de connexions (la connexion internet est rétablie et elle utilise nos nouveaux paramètres).
Configuration sur un ordinateur sous Windows 10⚓
Pour accéder aux paramètres de la connexion :
Cliquer sur le menu démarrer
Cliquer sur la roue dentée « Paramètres »
Cliquer sur la catégorie « Réseau et internet »
Dans la zone à gauche de l'écran, cliquer sur Ethernet
Cliquer sur « Modifier les options d'adaptateur »
Une nouvelle fenêtre va s'ouvrir, elle présente les différentes cartes réseau présentes sur l'ordinateur (carte réseau filaire Ethernet ou carte réseau sans fil WiFi, ou Bluetooth). Sur cette fenêtre, double-cliquer sur l'icône de la carte réseau Ethernet utilisée par l'ordinateur.
Une troisième petite fenêtre va alors s'ouvrir, permettant d'accéder à tous les paramètres de la carte réseau Ethernet.
Dans la liste des éléments visible au centre de cette fenêtre, on va double-cliquer sur la ligne Protocole Internet version 4 (TCP-IPv4)
Une nouvelle fenêtre va (encore ! ! !) s'ouvrir.
Dans cette fenêtre on va :
Cocher la case « Utiliser l'adresse de serveur DNS suivante : »
Saisir l'adresse IPv4 de notre Raspberry : 192.168.1.60 (pour l'exemple) dans le champ « Serveur DNS préféré ».
Valider par OK
NB : il peut être judicieux de rajouter un serveur DNS secondaire, qui sera utilisé si le premier (celui de Pi-hole) ne répond pas pour une raison ou pour une autre (par exemple, le Raspberry Pi ne fonctionne plus, rencontre un problème, a été débranché, etc.)
Dans ce cas, on rajoutera son adresse IP dans le second champ « Serveur DNS auxiliaire », comme indiqué. On peut choisir celui de Quad9 qui est utilisé aussi par Pi-Hole : 9.9.9.9
➜ Cela signifie que mon ordinateur utilisera désormais comme serveur DNS celui de Pi-hole (192.168.1.60), mais que si ce dernier devient indisponible, il utilisera en secours le 2e serveur renseigné (9.9.9.9), pour éviter que la navigation web devienne impossible.
On se retrouve à nouveau sur la fenêtre de l'étape précédente, avec l'accès aux paramètres de la carte réseau Ethernet.
On va maintenant double-cliquer sur la ligne Protocole Internet version 6 (TCP-IPv6)
Même principe que pour IPv4.
Dans cette fenêtre on va :
Cocher la case « Utiliser l'adresse de serveur DNS suivante : »
Saisir l'adresse IPv6 de notre Raspberry 2a01:cb1d:8779:d800:a060:a016:d4e4:7c61 (pour l'exemple) dans le champ « Serveur DNS préféré ».
Valider par OK
Cette adresse nous a été fournie à la dernière étape de l'installation de Pi-Hole.
Si vous ne l'avez pas notée, ou si vous ne la retrouvez pas, on pourra toujours la récupérer plus tard depuis l'interface web d'administration de Pi-hole. Dans ce cas, laisser cette étape de configuration du DNS en IPv6 en suspens et revenir plus tard pour la finaliser.
Valider à nouveau par OK pour refermer la fenêtre des paramètres de la carte.
Sur la fenêtre des différentes connexions réseau :
faire un clic-droit ➜ Désactiver sur l'icône de la carte réseau Ethernet dont on vient de modifier les paramètres de connexion.
après quelques secondes, refaire un clic-droit ➜ Activer sur cette même icône de la carte réseau Ethernet.
Configuration sous Android⚓
Il est bien sûr possible de modifier le serveur DNS pour votre appareil Android connecté en WiFi à votre routeur, pour lui indiquer d'utiliser Pi-hole.
Voici comment procéder.
Méthode : Modifier le serveur DNS sur un appareil Android
Cette description est faite sur un téléphone fonctionnant sous Android 9.
1. aller dans les paramètres, sur « Connexions »
2. Cliquer sur WiFi
3. Cliquer sur le nom de la connexion WiFi.
4. Cliquer sur « Paramètres avancés »
5. Dans le champ DNS1 on saisira l'adresse IP du Pi-hole
Dans le champ DNS2, on pourra saisir l'adresse d'un serveur DNS alternatif (ici, celui de Quad9), que l'appareil utilisera si jamais un incident a rendu le Pi-hole non fonctionnel.
Configuration sous iOS⚓
Il est également possible de modifier le serveur DNS pour votre appareil iOS connecté en WiFi à votre routeur, pour lui indiquer d'utiliser Pi-hole.
Voici comment procéder.
Méthode : Modifier le serveur DNS sur un appareil iOS
Cette description et les captures d'écran sont faites sur un iPhone fonctionnant sous iOS 13.
1. Aller dans « Réglages » ➜ WiFi
2. Cliquer sur le réseau WiFi auquel on est connecté (il faut cliquer sur « i » bleu à droite de la ligne.
3. Cliquer sur « Configurer le DNS »
4. Cliquer sur « Manuel »
5. Cliquer sur « Ajouter un serveur »
6. Saisir l'adresse IP du Pi-Hole qu'on utilisera comme serveur DNS.
3. Interface Web d'administration de Pi-hole⚓
Maintenant que notre Pi-hole est installé et que son utilisation est configurée sur nos machines au sein de notre réseau local (ordinateur fixe, portable, téléphones, tablette), il ne nous reste plus qu'à accéder à son interface web d'administration à partir de laquelle on pourra, entre autres choses :
observer un graphique de l'activité, avec le nombre de requêtes bloquées,
consulter la liste détaillée de requêtes DNS, bloquées ou pas
créer et gérer une « liste blanche » de sites qu'on souhaite toujours autoriser, et une « liste noire » de sites qu'on souhaite toujours interdire
gérer les listes de domaines à bloquer sur lesquelles s'appuie Pi-hole pour fonctionner : on peut en rajouter ou en supprimer.
désactiver Pi-hole de manière temporaire, sur la durée qu'on souhaite (quelques secondes, quelques minutes, quelques heures)
vérifier quels sont les appareils de notre réseau local qui utilisent effectivement Pi-hole (ou pas)
modifier le serveur DNS public utilisé par Pi-hle, en choisissant parmi la liste proposée par défaut ou bien en ajoutant un serveur DNS de son choix.
Méthode : Accéder à l'interface Web en consultation
On peut accéder à l’interface web d'administration de Pi-hole simplement en consultation, pour observer les graphiques d'activité, sans être authentifié.
L'accès se fait dans son navigateur web, en utilisant une de ces deux possibilités :
http://<ADRESSE-IP-DE-VOTRE-PIHOLE>/admin/ (dans mon exemple, ce serait donc http://192.168.1.60/admin/
http:/pi.hole/admin
Conseil : Modifier le mot de passe par défaut de l'interface web d'administration
Vous vous rappelez qu'à la fin de l'installation de Pi-hole on avait obtenu un mot de passe provisoire pour accéder à l’interface web en tant qu'administrateur (cf. chapitre « Télécharger et installer Pi-hole », un peu plus haut).
La première des choses qu'on va pouvoir faire maintenant, c'est de modifier ce mot de passe fourni pour en choisir un plus personnel.
Pour cela, on va :
ouvrir un terminal (Ctrl + Alt + T)
établir une connexion SSH avec le Raspberry : ssh pi@192.168.1.60 (adresse IP selon mon exemple, à adapter à votre cas)
entrer le mot de passe administrateur du Raspberry
une fois la connexion établie, saisir la commande sudo pihole -a -p et valider
Choisir un nouveau mot de passe pour l'accès administrateur à l'interface web de Pi-hole et valider (Entrée)
Confirmer ce nouveau mot de passe et valider.
Vous obtenez alors la confirmation que le nouveau mot de passe est bien pris en compte.
Méthode : Accéder à l'interface Web d'administration et s'authentifier
Même principe, on accède par exemple à l'adresse http:/pi.hole/admin et on clique sur le lien « Login » dans le menu à droite.
On valide en appuyant sur la touche Entrée ou en cliquant sur le bouton « Log in ».
On est maintenant authentifié en tant qu'administrateur du Pi-hole.
On voit apparaître plusieurs entrées de menu qui n'étaient pas visibles auparavant dans la colonne de gauche.
Définition : Comprendre la vue principale de l'interface d'administration.
Cette page est celle où on arrive après s'être authentifié sur l'interface web d’administration de Pi-hole.
- 1 Nombre de requêtes DNS traitées
- 2 Nombre de requêtes bloquées
- 3 Pourcentage de requêtes bloquées
- 4 Nombre de domaines de blocage
- 5 Graphique horodaté des requêtes
- 6 Graphique horodaté des requêtes par client connecté
On voit sur ce graphique la totalité des requêtes traitées eu cours des dernières 24 h, réparties selon les machines connectée (même si ce n'est pas trop visible sur la capture d'écran, il y a une couleur différente par machine).
- 7 Menu
Menu d'accès aux différentes parties et paramétrages de l'interface d'administration de Pi-hole.
On pourra en particulier :
consulter le journal détaillé des requêtes traitées ➜ Query log
créer une liste blanche de domaines toujours autorisés ➜ Whitelist
créer une liste noire de domaines toujours bloqués ➜ Blacklist
modifier ou ajouter des listes de blocage : dans Group Mangement ➜ Adlists
désactiver temporairement Pi-hole en cas de besoin ➜ Disable
vérifier quelles sont les machines du réseau local qui utilisent Pi-hole ➜ Network
choisir quels serveurs DNS externes publics (upstream DNS servers) Pi-hole doit utiliser ➜ Settings (onglet DNS)
Se déconnecter de l'interface administrateur ➜ Logout
Conseil : Ajouter une liste de blocage DNS
Il peut être intéressant d'ajouter une nouvelles liste de blocage DNS aux listes existantes, pour amener encore un peu plus de possibilités à Pi-hole de bloquer des domaines malveillants et/ou publicitaires.
Une liste toute prête, efficace, régulièrement actualisée est disponible depuis cette page :
https://sebsauvage.net/wiki/doku.php?id=dns-blocklist
Elle est proposée et et maintenue par une personne particulièrement impliquée dans de domaine, une référence pour tout ce qui concerne Linux, les logiciels libres, la protection de la vie privée en particulier, ou l'informatique en général : « Sebsauvage », qui entretien un Wiki qui est une mine de ressources : https://sebsauvage.net/wiki/doku.php?id=accueil
Vous consulterez sur la page donnée ci-dessus toutes les explication et les caractéristiques de cette liste de blocage.
Pour la rajouter dans Pi-Hole, on utilisera donc l'URL de cette liste : https://sebsauvage.net/hosts/hosts
Par curiosité, au lieu de copier ce lien pour l'ajouter à Pi-hole (comme on va le voir ci-dessous), vous pouvez aussi cliquer dessus pour simplement afficher l'intégralité de cette liste si vous avez envie d'aller voir comment elle est faite et d'éplucher les 248 000 domaines différents qu'elle contient !
On note dans les en-têtes qu'elle est régulièrement mise à jour (dernière version en date du 12 mai, c'est à dire du jour même où j'écris ces contenus). Il y a une mise à jour à peu près hebdomadaire de cette liste.
On note aussi qu'elle contient exactement pour cette version 248 134 domaines.
Méthode : Comment ajouter une liste de blocage dans Pi-hole ?
1. Dans l'interface d'administration, accédez au menu Group Management ➜ Adlists
2. Dans le champ prévu à cet effet en haut de la page, ajouter l'adresse de la liste voulue. Dans mon exemple, j'ajoute donc l'URL de la liste de Sebsauvage : https://sebsauvage.net/hosts/hosts
Je peux éventuellement ajouter un commentaire, une indication dans le 2e champ
Je clique ensuite sur le bouton bleu Add.
3. Après quelques secondes d'attente, je dois avoir une notification surgir en haut de l'écran me disant que la liste a bien été rajoutée dans Pi-hole.
Je peux le constater en voyant qu'elle a été rajoutée à toutes les autres qui étaient déjà présentes par défaut.
Il ne me reste plus maintenant qu'à actualiser les listes pour qu'elle sûr que Pi-hole utilisera désormais la toute dernière version à jour de toutes ces listes.
Méthode : Actualiser les listes de blocage
On vient de rajouter une liste de blocage.
Pour être sûr de posséder une version parfaitement à jour de ces listes et assurer que Pi-hole sera toujours efficace, il faut régulièrement procéder à une actualisation des listes.
1. Pour cela, je vais tout simplement :
accéder au menu Tools ➜ Update Gravity
cliquer sur le bouton bleu Update
2. La mise à jour de toutes les listes va alors être lancée.
Il faudra patienter un peu, quelques secondes ou dizaines de secondes, le temps de télécharger les nouvelles versions de chaque liste.
3. Après cela, on aura confirmation qu'on a bien les listes à jour et qu'elles sont effectivement utilisées par Pi-hole.
Complément : Nombre de domaines bloqués
On observera également qu'une liste a été ajoutée en revenant sur le tableau de bord principal (menu Dashboard) et en regardant le nombre de domaines bloqués maintenant affiché.
Avant d'ajouter la liste, j'avais 92 699 domaine bloqués
Après avoir ajouté la liste de Sebsauvage, j'ai maintenant 267 158 domaines bloqués.
Mon Pi-hole vient de gagner en efficacité, ma vie privée et mes données personnelles sont un peu mieux protégées.
Complément : Liste des machines utilisant Pi-hole dans le réseau local
Pour vérifier quels sont les appareils qui utilisent Pi-hole dans votre réseau local (et s'assurer ainsi que leurs requêtes DNS sont bien filtrées), on peut se rendre sur l'entrée de menu Network.
On voit alors la liste des différentes machines connectées, avec dans la dernière colonne une confirmation qu'elles utilisent bien Pi-hole. Si c'est le cas, leur ligne est verte dans le tableau.
Sinon, la ligne est rouge.
Complément : Paramètres de Pi-hole : choix des DNS publics
On a déjà choisi un serveur DNS public que Pi-hole pourra utiliser pour fonctionner, à l'étape 5 de l'installation de Pi-hole sur notre Raspberry.
Pour rappel on a choisi, pour diverses raisons, les serveurs DNS de Quad9 dans leur version « Quad9 (filtered, DNSSEC) »
Ce choix n'est pas figé, c'est celui que j'ai fait, et chacun pourra évidemment choisir d'utiliser les serveurs DNS qu'il souhaite.
Pour modifier ces choix, on se rendra dans le menu Settings puis sur l'onglet DNS.
Sur cette page, dans le premier groupe, on pourra si besoin modifier les serveurs DNS utilisés par Pi-hole en choisissant parmi ceux qui sont présents par défaut.
Dans mon exemple, j'ai choisi dès l’installation de Pi-hole les serveurs DNS de Quad9.
➜ Vérifier que les 4 cases sont bien cochées pour le serveur choisi : les deux premières cases pour le serveur principal et secondaire en IPv4, les deux autres pour le serveur principal et secondaire en IPv6.
Dans le second groupe, sur la droite de la page, on pourra cocher les cases et saisir les adresses IP de serveurs DNS autres que ceux de la première liste si on le souhaite.
➜ Si le serveur DNS choisi le supporte (c'est le cas pour ceux de Quad9), on pourra également cocher la case « Use DNSSEC » un peu plus bas, pour augmenter la sécurité des données envoyées par le DNS.