Adblocker #4 : le blocage par DNS, la solution ultime ?

Nicolas Furno |

Dernière étape dans notre étude des solutions pour bloquer la publicité, le blocage par DNS. Par rapport aux deux solutions évoquées précédemment, cette option a plusieurs bénéfices techniques indéniables, mais elle peut être aussi plus complexe à mettre en œuvre et implique quelques contreparties à prendre en compte.

Pourquoi et comment bloquer les publicités avec un DNS ?

Le fonctionnement d’un bloqueur de publicités dans un navigateur est facile à comprendre. L’extension analyse le code source de la page web qui va s’afficher dans la fenêtre du navigateur et elle retire tous les blocs de publicité à partir d’une liste de référence. Le blocage par DNS se fait en amont, puisqu’il consiste à bloquer le chargement des ressources publicitaires en utilisant leur nom de domaine.

Le Domain Name System, ou DNS, est l’équivalent du bottin téléphonique pour les sites web. Pour résumer rapidement son fonctionnement, vous devez savoir que chaque appareil qui se connecte à internet est identifié par une adresse IP, une série de quatre nombres de 0 à 2551. C’est le cas du routeur fourni par votre FAI, mais aussi de chaque serveur qui héberge un site web. Pour vous donner un exemple, l’adresse IP du serveur qui héberge MacGeneration est 91.121.49.215.

avatar frankynov | 

Je tourne adguard home en tant que add on pour home assistant, c’est très stable en effet !
Chez moi c’est Sonos qui est très bavard.
Je le trouve un peu plus complexe (ou complet selon le point de vue) que Pi Hole, notamment avec les DNS upward et forwarder, je m’y perds dans les options, ainsi que ipv6.
Ceci dit, c’est très plaisant d’avoir un réseau propre. Si on a un routeur qui le permet, mettre dans le DHCP l’ip du serveur DNS vers celle où se trouve adguard est un vrai plus, car il ne faut rien configurer sur les clients.
Oh et, hors sujet, mais quel est le terminal utilisé lors de la commande Ping au début de l’article ? Il y a l’air d’avoir des statistiques et graphiques intéressants !

avatar Nicolas Furno | 

@frankynov

Ils fonctionnent différemment, mais AdGuard Home me semble assez simple aussi. Le truc peut-être, c'est de comprendre qu'on peut avoir plusieurs serveurs upstream, sans problème majeur. C'est même une bonne idée je dirais.

Sinon, c'est iTerm qui fait ça, j'en avais parlé ici : https://www.macg.co/logiciels/2019/08/iterm2-33-affiche-plus-dinformations-dans-ses-fenetres-107519

avatar eX0 | 

@frankynov

Pas sur de comprendre pour le DNS forwarder

avatar hirtrey | 

@eX0

C’est un DNS que tu configures dans ton DNS ainsi si le tiens ne sais pas répondre, il passe la main au lieu de répondre « je ne sais pas »

avatar eX0 | 

@hirtrey

Je sais ce que c’est mais je me suis mal exprimé.
En quoi il est plus complet que pihole sur les dns forwarder?

avatar hirtrey | 

@eX0

Utilisant Synology, je ne peux pas d’aider.

avatar Sometime | 

@eX0

Adblock home gère je crois un peu plus de protocols en natif (DoT,DoH,DNSCrypt,DNS-Quick). Alors qu’avec pi-hole on recommande souvent de tout envoyer vers un unbound local. Je ne sais pas non-plus si pihole gère correctement différents resolver pour différentes zones ou domaines.

avatar eX0 | 

@Sometime

Mon pihole est juste configuré avec du DNSSec pour l’instant. J’attends qu’il rajoute le DOT/DOH.
Et sinon ils ont rajouté un DHCP built in ou la possibilité de connecter à un DHCP local pour la résolution locale.
A la maison le mien est configuré sur deux VLANs différents

avatar Sometime | 

@eX0

Le souci que j’ai avec dnssec, c’est que c’est assez facilement en carafe. Entre les zones mal signées, les forwarders qui le supportent mal, ou les clients/stub resolver qui abandonnent... Il est dans les faits de nos jours assez facile de perturber une résolution dnssec et de soit avoir une bascule vers le non-dnssec, soit un blocage de la résolution. De ce point de vue doh/dot offrent une forme de sécurité plus simple (c’est du TLS) mais aussi quelque part plus robuste.

avatar frankm | 

Quitte à s’attaquer aux DNS. Parfois le fait de mettre d’autres DNS que ceux du FAI peut donner l’impression d’avoir changer de FAI, en attendant la fibre par exemple

avatar John McClane | 

J’utilise AdGuard pour Safari (gratuit), et je suis surpris d’apprendre que c’est un logiciel russe ! Bon j’espère que ça n’augure pas d’ennuis futurs...

avatar Sindanarie | 

@John McClane

Oh bah, au mieux, un B&B dans un goulag en Sibérie.
Sinon un 🫖 au novitchok 😈

avatar Kin Sapalot | 

Pour ma part, Pi-Hole sur Raspberry Pi zero W qui fait également office de serveur DHCP pour ne pas avoir à paramétrer les serveurs DNS de chaque appareil. Le top ! Pas simple pour ceux qui n’ont aucune connaissance Linux… mais pour moins de 30€ (RPi + carte micro SD + câble micro USB) c’est un super investissement (aliment par une prise USB de la box Internet ou d’un NAS).

avatar bax137 | 

A noter que pi hole peut s’installer sur un conteneur docker sous Mac OS. Je vais tester ça sur mon Mac mini qui me sert de serveur à tout faire…

avatar Sometime | 

@bax137

Adguard home aussi d’ailleurs. Attention cependant, cela peut affecter les statistique sur les adresses IP réelle des clients - fonction de la configuration utilisée.

avatar bax137 | 

@bax137

"Je vais tester ça sur mon Mac mini"

Je viens de m’arracher les cheveux à comprendre que chez free avec l’ip V6 il faut aussi forcer le dns ip v6 dans le paramétrage de la freebox pour que ça fonctionne bien…

avatar YetOneOtherGit | 

Pi-Hole sur une VM un bonheur à la maison 💗

avatar Sometime | 

Adguard a l’avantage de proposer le support natif des protocoles DNS sécurisés (DoT,DoH et autres joyeusetés).
A noter que j’ai eu récemment pas mal de soucis avec Adguard Home sur les résolutions DNSSEC.
J’aurais tendance à résumer que pour ceux qui veulent mettre les mains dans le cambouis, pihole est une véritable solution. Pour les autres Adguard est peut-être un peu plus « intuitif »

avatar trilame | 

Cela fait un an que j’utilise Pihole, mais installé sur Google Cloud, en ayant suivi ce tutoriel : https://github.com/rajannpatel/Pi-Hole-on-Google-Compute-Engine-Free-Tier-with-Full-Tunnel-and-Split-Tunnel-Wireguard-VPN-Configs

Les avantages :
- gratuit (l’usage nécessaire permet de rester dans le tier free de google)
- utilisable même en dehors de chez moi (contrairement au cas où il est installé sur une machine localement, comme décrit dans l’article)
- desactivable en un clic : en l’occurrence sur ios, il suffit de désactiver le VPN. C’est plus flexible que de bloquer tout le traffic sur les appareils connectés, et devoir aller dans l’interface web de pihole au moindre problème

avatar PierreBondurant | 

Excellent suite d’articles
Plutôt qu’un blocage par DNS, la solution la plus simple semble de choisir un VPN qui propose aussi bon blocage par DNS.
A moins qu’il y ait un problème auquel je n’ai pas pensé, c’est plus complet en terme de protection et ça permet d’éviter de multiples abonnements

Exemple de ProtonVPN
“dedicated DNS servers are active on each ProtonVPN server you connect to and responsible for resolving all the domain requests for every resource (image, scripts, ads, etc.) for every website you visit and app you use. When you are connected to ProtonVPN, your DNS requests are encrypted to prevent DNS leaks from exposing your browsing history.
When you enable NetShield, the DNS server will check these domains against databases of domains known to host malware, ads, or trackers. If any of the domains match, our DNS server will automatically block that resource from loading, keeping your device clean and speeding up your browsing.”

avatar Nudges | 

Excellent article, je n’y connaissais rien en DNS ni à quoi cela pouvait servir 👌

avatar Letabilis | 

Super article merci !
J’ai essayé NextDNS et effectivement ça marche super bien. J’ai l’impression que ça se ressent vraiment sur la vitesse de navigation.
En tous cas, j’ai pris le service payant et j’en suis très content 😊

CONNEXION UTILISATEUR