Certains sites web (Google Search, Google YouTube, Microsoft Bing, DuckDuckGo, etc.) propose un mécanisme pour forcer l'activation de leur mécanisme de filtrage des contenus (pour adultes, etc.).
Dans la configuration d'un serveur DNS récursif, cela consiste à rediriger les noms usuels des services vers un nom spécifique. Exemple : rediriger youtube.com (et ses autres domaines comme youtube-nocookie.com sinon trou dans la raquette) vers « restrict.youtube.com » ou « restrictmoderate.youtube.com ». pour un filtrage plus permissif.
Attention, il ne s'agit pas d'un nouveau filtre, ni d'un filtrage DNS conditionnel (comme le laisse penser le message de tonton Bortz dans le thread pointé). Exemple : au lieu de renvoyer les adresses IP de Google Search, un récursif DNS menteur renverra toujours celles associées au nom forcesafesearch.google.com, quels que soient les paramètres de l'URL (et c'est bien normal, un récursif DNS ne la reçoit pas). Ces adresses IP pointent sur un serveur web de YouTube configuré avec un hôte virtuel (virtualhost) dédié qui force l'activation de SafeSearch et rend impossible sa désactivation depuis Google Search.
C'est ainsi qu'un service de DNS récursif comme dns0.eu peut affirmer « Rendez n'importe quel appareil ou réseau sans risque pour les enfants en quelques secondes seulement. En filtrant les contenus pour adultes, vous pouvez offrir un environnement en ligne sûr à la maison, à l'école et en déplacement ». Je répète : il y a aucune magie au niveau du DNS : cela fonctionne uniquement avec les sites web qui proposent nativement un mécanisme de filtrage. Les sites web mono-usage, comme PornHub, par exemple, sont bloqués par ces DNS récursifs via une liste de filtrage usuelle.
Démo :
# Récursif DNS de FDN
$ dig +short @2001:910:800::40 www.google.fr
142.250.75.227
# Récursif DNS dns0.eu
$ dig +short @2a0f:fc80::1 www.google.fr
forcesafesearch.google.com.
216.239.38.120
Pour tester, j'ai activé ce filtrage sur mon serveur DNS récursif local qui utilise le logiciel Unbound :
# Avant
$ dig +short @::1 www.google.fr
216.58.214.67
$ sudo tee /etc/unbound/unbound.conf.d/filtrage.conf <<EOF
server:
local-zone: google.fr redirect
local-data: "google.fr CNAME forcesafesearch.google.com."
EOF
$ sudo systemctl restart unbound.service
# Après
$ dig +short @::1 www.google.fr
forcesafesearch.google.com.
216.239.38.120
Ça se met en place tout aussi simplement avec la résolution locale (mais moins flexible, l'intérêt du CNAME est que le fournisseur de service peut changer son adresse IP) :
$ sudo tee -a /etc/hosts <<EOF
216.239.38.120 www.google.fr
EOF
Résultat : plus de sites porn en tapant le mot clé « porno » dans Google Search. Cliquer sur le bouton « SafeSearch » (en haut, à droite) affiche : « Vous ne pouvez pas modifier le paramètre SafeSearch pour le moment, car une autre personne (un parent ou un administrateur, par exemple) contrôle les paramètres du réseau, du navigateur ou de l'appareil que vous utilisez ». Sans cette redirection, ce bouton permet d'ajuster la rigidité du filtrage.
restrict.youtube.com
forcesafesearch.google.com
strict.bing.com
safe.duckduckgo.com