MaDoVi - Le wiki

Machines - Données - Virtualisation

Outils pour utilisateurs

Outils du site


services:network:dns_menteur

Filtrer pubs et trackers sur le web

Qu'est-ce qu'un DNS menteur ?

Le DNS sert a résoudre un nom de domaine, comme madovi.xyz en une IP pour joindre le bon serveur, par exemple celui a qui est attribué l'ip 37.187.119.215. Chaque DNS trouve ses informations dans les DNS du niveau supérieur et ainsi de suite jusqu'aux DNS root si aucun n'a pu répondre une IP jusqu'en haut.

Un DNS menteur, contrairement aux autres, va répondre une IP qu'on lui a demandé de répondre dans sa configuration mais sans avoir vraiment interrogé le DNS maitre de ce domaine là. Au lieu d'utiliser son cache ou de demander au serveur supérieur “Quelle est l'IP de duckduckgo.com ?” il va répondre “0.0.0.0” à chaque fois qu'on (=un internaute et son navigateur web) lui posera cette question par exemple. Qu'est-ce qui l'empêche dans ce cas de renvoyer qwant.com sur une des ip de google.com ? Cela empêche totalement l'accès à qwant.com et trompe ses utilisateurs.

Vous avez pu rencontrer ce comportement chez certains fournisseurs d'accès comme Bouygues ou SFR, lorsque vous saisissiez un domaine qui n'existe pas: canardcanardgo.fr vous tombiez sur la page d'accueil ou une page de recherche du fournisseur d'accès au lieu d'une page d'erreur du navigateur.

C'est une pratique très mal vue sur le Web, elle nuit à la propagation des informations, à la liberté des utilisateurs et elle induit en erreur. Celui qui fournit les tuyaux ne doit pas interférer sur ce qui y circule, c'est une règle de base de la Neutralité du Net.

Pourquoi bloquer par le DNS ?

Le blocage par DNS, également utilisé par l'État pour empêcher l'accès aux sites de téléchargement illicite, est assez simple à mettre en place, coûte peu cher (quelques ressources en plus pour répondre à des requêtes normalement ignorées) et peut être très discret au final. L'inconvénient est qu'il est facilement contournable par quelqu'un qui sait comment cela fonctionne, en interrogant un autre serveur DNS.

Dans le cas qui nous intéresse, nous allons bloquer seulement pour notre réseau local (les utilisateurs sont censés être mis au courant) et surtout les requêtes qui sont faites à notre insu par des sites peu respectueux de leurs visiteurs. Cette configuration est simple sur un petit réseau local parce que c'est le serveur DHCP qui donne aux postes le serveur DNS à utiliser, peu d'utilisateurs les changent (et parfois ils ne peuvent même pas) Cela permet également de bloquer les mauvais sites sur les appareils mobiles (en Wifi) sans avoir à changer leur configuration

Dans la configuration indiquée nous utilisons des listes de serveurs de publicités, de tracking et les domaines facebook. Libre à vous de ne pas toutes les mettre ou d'en ajouter de sites illicites (porno, pédophilie…). Il en existe de nombreuses disponibles.

Installation et configuration de base

  • Nous partirons sur une Debian, installation minimale: juste le serveur SSH
  • Configurez l'accès SSH par clé (bonne habitude à prendre)

Règles et scripts d'automatisation

services/network/dns_menteur.txt · Dernière modification: 03/05/2020 22:25 de Cram28