samedi 27 février 2021 il est 01h38

Les DNS et leur utilisation : à quoi ça sert

Parce qu’un pays a récemment ordonné à son principal fournisseur de services Internet de bloquer un site Web scientifique bien connu pour violation du droit d’auteur, il est temps de parler de DNS, de la technologie que les fournisseurs de services Internet choisissent de déformer pour appliquer leurs filtres et des récentes améliorations apportées à ce site pour compliquer la censure.

Qu’est-ce que le DNS ? Il s’agit essentiellement d’une gigantesque base de données publique distribuée et d’un protocole pour la demander. Cette base de données associe les noms de domaine (https://twitter.com) à toutes les données : autres noms de domaine, adresses IP, clés cryptographiques, textes en clair… Même les emplacements physiques !

Dans la pratique, le DNS est un service d’infrastructure de l’Internet, sur lequel s’appuient presque tous les protocoles. L’usage le plus connu est la traduction de noms de domaine (qui sont stables dans le temps et lisibles par l’homme) en adresses IP (nécessaires pour établir une connexion à une autre machine via le réseau).

Je n’entrerai pas les détails sur la façon dont un résolveur DNS fait son travail. Ce n’est pas très compliqué, mais cela peut prendre du temps à expliquer. Il est plus intéressant de les voir comme des intermédiaires qui peuvent voir et manipuler toutes les demandes que vous leur faites. Pour qu’ils puissent faire de la surveillance et de la censure

Alors, qui exécute les résolveurs DNS ? Techniquement, n’importe qui peut en diriger un. Vous pouvez en installer un sur votre machine avec très peu de compétences techniques. Mais dans la grande majorité des cas, les gens utilisent le résolveur DNS fourni par le réseau. Il est donc géré par votre FAI ou votre service informatique au travail ou à l’école.

C’est pourquoi, dans certains pays (comme la France), la censure nationale est appliquée ici. Les administrateurs de FAI configurent leurs résolveurs pour répondre aux mensonges (« n’existe pas » ou une fausse adresse) pour les domaines à filtrer. Et vous ne pouvez pas accéder au site Web. Simple.

La méthode connue pour éviter cela est simplement de changer le résolveur DNS. En général, cela peut se faire sur votre configuration réseau (facile pour les geeks, mais pas complètement trivial pour la plupart des utilisateurs). Vous pouvez aussi installer votre propre résolveur (en général c’est facile sous Linux, mais compliqué ailleurs)

Si vous n’utilisez pas votre propre résolveur, vous devez en choisir un, et non celui de votre FAI. Certains sont fournis par des organisations à but non lucratif, comme FDN https://www.fdn.fr/actions/dns/ mais les plus connus sont gérés par de grandes sociétés Internet, comme Google ou Cloudflare.

À ce stade, nous devons parler de surveillance de masse. Chaque requête sur un site web commence par une requête DNS, donc si vous lancez un résolveur et que vous enregistrez des requêtes, vous avez beaucoup de données sur les habitudes de navigation de vos utilisateurs. Et c’est probablement ainsi qu’ils financent le service qu’ils fournissent

Donc, si vous configurez votre ordinateur pour utiliser un résolveur DNS public et que vous passez à un autre réseau, vous pouvez rencontrer des pannes de réseau : toutes vos requêtes DNS sont bloquées et poof, pas d’accès Internet. Pas très cool.

Et si votre FAI ne le bloque pas, parce que toutes les requêtes sont claires, votre FAI peut toujours surveiller tout votre trafic DNS de vous vers le résolveur DNS que vous avez choisi. C’est coûteux, alors je suppose que la plupart des FSI ne le font pas sur les lignes terrestres, mais nous ne pouvons pas le savoir.

2 nouveaux protocoles ont été élaborés pour traiter ces questions : DNS sur TLS et DNS sur HTTPS. Commençons par le DNS sur TLS.

TLS est le principal protocole de cryptage sur Internet. DNS sur TLS, c’est simplement « parler au résolveur en utilisant TLS pour que votre FAI (ou toute autre personne) ne puisse pas voir vos requêtes ». Bien sûr, vos résolveurs les connaissent tous, donc vous devez leur faire confiance pour la confidentialité (encore une fois, Google et la confidentialité…) Mais comme c’est un protocole spécifique, votre FAI peut facilement le bloquer. Et si votre FAI bloque tous les protocoles inconnus (encore une fois, pense wifi public, réseaux universitaires et d’entreprise), il est probablement déjà filtré. Ce n’est donc pas une meilleure solution pour lutter contre la censure que le DNS pur.

Un autre problème est qu’il doit être implémenté par votre système d’exploitation. Android 9 a un support DNS sur TLS, mais d’après ce que je sais, c’est le seul à le faire. Pour les autres systèmes d’exploitation, vous devez exécuter des logiciels supplémentaires, avec la même complexité que pour votre propre résolveur.

Et le DNS sur HTTPS (DoH) : il parle simplement à votre résolveur DNS en utilisant HTTPS. Oui, le même HTTPS que celui que vous utilisez pour vous connecter à des sites Web. Crypté et difficilement filtrable par les FAI (parce qu’ils ne veulent pas filtrer accidentellement Google et votre site bancaire en même temps).

En outre, les implémentations actuelles de DoH se font principalement dans des applications, et non à l’échelle du système. Vous n’avez pas besoin de modifier vos paramètres réseau pour cela. Les applications utilisent le système DNS (fourni par le réseau) pour trouver le nom du serveur DoH configuré dans l’application, et utilisent DoH après.

DoH est actuellement implémenté dans Firefox, désactivé par défaut. Le résolveur DNS par défaut configuré est cloudflare (qui est un choix douteux car il transmet toutes vos requêtes DNS à une société privée) mais vous pouvez le modifier si vous le souhaitez.

Mozilla offre donc littéralement à quiconque une option en un seul clic pour contourner la  » censure pour violation du droit d’auteur  » faite par les FAI. Et c’est très cool. Si vous voulez accéder au sci-hub, il vous suffit littéralement de cocher une option dans la configuration réseau de Firefox, et poof ça marche.

Les explications sont simplifiées, en particulier pour les choses liées à la vie privée DNS confidentialité est une chose complexe et ne peut pas être traitée en changeant seulement votre résolveur. Cela implique de suivre les meilleures pratiques du résolveur et des clients.

Pour les problèmes de filtrage, les choses sont en général plus simples à régler. Mais dans de nombreux cas, cela implique un  » mouvement de confiance  » : dans ce cas, faire confiance au résolveur que vous allez utiliser (dans ce cas, Cloudflare par défaut dans Firefox), vs faire confiance à celui fourni par votre FAI.