Comment garder le nez de votre fournisseur de services Internet hors de l'historique de votre navigateur avec un DNS crypté

La mort de la neutralité du réseau et le relâchement des réglementations sur la manière dont les fournisseurs d’accès Internet gèrent le trafic réseau des clients ont suscité de nombreuses inquiétudes quant à la confidentialité. Les fournisseurs d’accès à Internet (et d’autres qui surveillent le trafic lorsqu’il passe sur Internet) disposent depuis longtemps d’un outil qui leur permet de surveiller facilement les habitudes Internet des particuliers: leurs serveurs DNS (Domain Name System). Et s'ils ne récupèrent pas déjà ces données (ou ne les utilisent pas pour changer leur vision d'Internet), ils le feront probablement bientôt.

Les services DNS sont les annuaires téléphoniques d'Internet, fournissant l'adresse réseau réelle du protocole Internet (IP) associée aux noms d'hôte et de domaine des sites Web et d'autres services Internet. Ils transforment arstechnica.com en 50.31.169.131, par exemple. Votre fournisseur Internet propose le DNS dans le cadre de votre service, mais votre fournisseur pourrait également enregistrer votre trafic DNS en enregistrant l’ensemble de votre historique de navigation.

Les services DNS "ouverts" offrent un moyen de contourner les services des fournisseurs de services Internet pour des raisons de confidentialité et de sécurité et, à certains endroits, d'éviter le filtrage, la surveillance et la censure du contenu. Et le 1er avril (pas une blague), Cloudflare a lancé son nouveau service DNS faisant autorité, gratuit et de haute performance, conçu pour améliorer la confidentialité des utilisateurs sur Internet. Cette nouvelle offre promettait également un moyen de masquer complètement le trafic DNS du cryptage des vues.

Nommé pour son adresse de protocole Internet, le 1.1.1.1 est le résultat d'un partenariat avec le groupe de recherche de l'APNIC, le registre Internet Asie-Pacifique. Bien qu’il soit également disponible en tant que résolveur DNS conventionnel «ouvert» (et très rapide), Cloudflare prend en charge deux protocoles DNS chiffrés.

Bien qu'exécutant avec une fusée Cloudflare unique, la version 1.1.1.1 n'est pas le premier service DNS chiffré - Quad9, le service OpenDNS de Cisco, le service 8.8.8.8 de Google et de nombreux petits fournisseurs prennent en charge divers systèmes permettant de chiffrer entièrement les demandes DNS. Mais le cryptage ne signifie pas nécessairement que votre trafic est invisible. certains services DNS cryptés enregistrent vos demandes à des fins diverses.

Cloudflare a promis de ne pas enregistrer le trafic DNS des personnes et a retenu les services d'un cabinet externe pour vérifier cette promesse. L'APNIC souhaite utiliser les données de trafic pour désigner l'adresse IP, qui a malheureusement le lourd héritage d'être un dépotoir pour le trafic Internet "poubelle", à des fins de recherche, selon Geoff Huston de l'APNIC. Mais dans ce cas, APNIC n’aura pas non plus accès au trafic DNS crypté.

Pour les utilisateurs, tirer parti des services DNS cryptés de Cloudflare ou de tout autre service DNS axé sur la confidentialité n'est pas aussi simple que de modifier un numéro dans les paramètres réseau. À l'heure actuelle, aucun système d'exploitation ne prend en charge directement l'un des services DNS cryptés sans l'ajout de logiciels peu conviviaux. Et tous les services ne sont pas créés égaux en termes de support logiciel et de performances.

Mais avec les données grand public en tant que produit dans l'actualité ces derniers temps, je me suis efforcé de voir comment faire fonctionner le service DNS crypté de Cloudflare. Et surmonté par mon rat de laboratoire interne, j'ai fini par tester et disséquer les clients pour plusieurs fournisseurs DNS en utilisant trois des protocoles établis pour le cryptage DNS: DNSCrypt, DNS sur TLS et DNS sur HTTPS. Tous peuvent fonctionner, mais laissez-moi vous avertir: même si cela devient plus facile, choisir la route DNS cryptée n'est pas nécessairement quelque chose que vous seriez nécessairement en mesure de présenter à votre père ou à votre mère aujourd'hui. (À moins, bien sûr, que vos parents soient des utilisateurs chevronnés de la ligne de commande Linux.)

Pourquoi faisons-nous cela, encore?

Il existe de nombreuses raisons de vouloir sécuriser davantage le trafic DNS. Bien que le trafic Web et les autres communications puissent être protégés par des protocoles cryptographiques tels que TLS (Transport Layer Security), la quasi-totalité du trafic DNS est transmis non crypté. Cela signifie que votre fournisseur de services Internet (ou toute autre personne entre vous et le reste d'Internet) peut consigner les sites que vous visitez même lorsque vous utilisez un autre service DNS et utilisez ces données à plusieurs fins, notamment le filtrage de l'accès au contenu et la collecte de données pour fins de publicité.

"Nous avons un problème de" dernier kilomètre "dans DNS", a déclaré Cricket Liu, architecte en chef des DNS chez Infoblox, une entreprise de sécurité réseau. "La plupart des mécanismes de sécurité que nous avons traités traitent de problèmes de serveur à serveur. Mais nous avons ce problème, car nous avons des résolveurs de stub sur divers systèmes d'exploitation et nous n'avons vraiment aucun moyen de les sécuriser." C'est particulièrement un problème, a déclaré M. Liu, dans les pays qui entretiennent une relation plus hostile avec Internet.

Le simple fait d’utiliser un service DNS qui ne se connecte pas peut aider dans une certaine mesure. Mais cela n'empêche pas quelqu'un de filtrer ces demandes en fonction du contenu ou de capturer les adresses qui y sont contenues à l'aide de la capture de paquets ou de la procédure d'inspection approfondie des paquets. Et en plus des attaques d’espionnage simples et passives, il y a aussi la menace d’attaques plus actives contre vos efforts de trafic DNS par un fournisseur de services Internet ou un gouvernement sur le réseau pour «usurper» l’identité d’un serveur DNS, acheminant le trafic vers leur propre serveur. enregistrer ou bloquer le trafic. Quelque chose de similaire (apparemment non intentionnellement) semble se produire avec un détournement (accidentel) du trafic vers l'adresse 1.1.1.1 de Cloudflare, basé sur les observations d'affiches de forum sur DSLReports.

Le moyen le plus évident d'esquiver la surveillance consiste à utiliser un réseau privé virtuel. Bien que les VPN dissimulent le contenu de votre trafic Internet, la connexion à un VPN peut nécessiter une requête DNS en premier lieu. Et une fois que vous avez lancé une session VPN, les requêtes DNS peuvent parfois être acheminées en dehors de votre connexion VPN par des navigateurs Web ou d'autres logiciels, créant ainsi des "fuites DNS" exposant les sites que vous visitez.

C'est là que les protocoles DNS cryptés entrent en jeu: le protocole DNSCrypt (pris en charge par Cisco OpenDNS, entre autres), la résolution DNS sur TLS (prise en charge de Cloudflare, Google, Quad9 et OpenDNS) et la résolution DNS sur HTTPS (prise en charge actuellement par Cloudflare, Google et le service de blocage de contenu pour adultes CleanBrowsing). Le trafic crypté garantit à la fois que le trafic ne peut pas être reniflé ou modifié et que les demandes ne peuvent pas être lues par quelqu'un se faisant passer pour le service DNS, ce qui élimine les attaques et l'espionnage par des intermédiaires. L'utilisation d'un proxy DNS pour l'un de ces services (directement sur votre appareil ou sur un "serveur" de votre réseau local) vous aidera à éviter les fuites DNS VPN, car le proxy sera toujours le serveur DNS qui répond le plus rapidement.

Cette vie privée ne vient toutefois pas emballé pour la consommation de masse. Aucun de ces protocoles n'est actuellement pris en charge de manière native par un résolveur DNS pré-packagé avec un système d'exploitation. Tous nécessitent l'installation (et probablement la compilation) d'une application cliente faisant office de "serveur" DNS local, en relayant les requêtes émises par les navigateurs et les autres applications en amont du fournisseur DNS sécurisé de votre choix. Et bien que deux des trois technologies soient des normes proposées, aucune des options que nous avons testées n’est nécessairement dans sa forme finale.

Donc, si vous choisissez de vous plonger dans le DNS crypté, vous voudrez probablement utiliser un Raspberry Pi ou un autre élément matériel dédié pour l’exécuter en tant que serveur DNS pour votre réseau domestique. En effet, vous constaterez que la configuration de l’un de ces clients représente un piratage suffisant. Pourquoi répéter le processus plusieurs fois lorsque vous pouvez simplement interroger les paramètres DHCP (Dynamic Host Configuration Protocol) de votre réseau local pour tout pointer sur une installation réussie en tant que serveur DNS? Je me suis posé cette question à plusieurs reprises alors que je regardais les clients planter sous Windows et s’endormir sous MacOS au cours des tests.