DNS, DNSSEC et DNSCrypt
Ce billet fait suite à DNS - Vulgarisation et donne deux pistes pour sécuriser un peu plus ses connexions DNS voire les masquer. (Ce n'est pas un tutoriel sur comment mettre en place ces outils).
DNSSEC
Rappel sur DNSSec (issu du slide de DNS - Vulgarisation) DNSSEC permet de sécuriser les données envoyées par le DNS. DNSSEC signe cryptographiquement les enregistrements DNS et met cette signature dans le DNS. Ainsi, un client DNS méfiant peut récupérer la signature et, s'il possède la clé du serveur, vérifier que les données sont correctes. La clé pouvant être récupérée via le DNS lui-même. On valide que la correspondance "url-IP" que l'on reçoit est bien celle qui a été certifiée-validée et n'a pas été changée entre temps.
Comment utilise-t-on DNSSEC ? Issu de la page OVH - Vérifier que DNSSEC est correctement déployé pour votre domaine Vous pouvez installer une extension Firefox qui permet de vérifier si les sites que vous visitez sont sécurisés par DNSSEC, et si oui, quel est le résultat de la validation. Cette extension est disponible ici. Une fois installée, vous verrez une clé à gauche de la barre d'adresse du navigateur. Pour les domaines sur lesquels la clé est verte, l'IP du site a été vérifiée par DNSSEC.
Module Firefox de validation DNSSEC : ce site est sécurisé.
Si la clé est orange, c'est que le serveur DNS récursif de votre FAI n'est pas compatible DNSSEC. Ce n'est pas grave : vous pouvez utiliser des serveurs DNS alternatifs pour effectuer cette validation. Le module Firefox vous en propose une liste, à laquelle vous pouvez accéder en cliquant droit sur la clé, puis en sélectionnant "Preferences".
On valide que le site sur lequel on est le bon (bonne correspondance adresse IP - nom de domaine), mais quiconque surveille le trafic DNS a potentiellement vu la demande de résolution DNS et sait donc que l'on consulte ce site.
DNSCrypt
Pour éviter ça, il est possible d'utiliser DNSCrypt, qui chiffre les requêtes DNS et les réponses. Ce projet a été initié par OpenDNS, et il semble que d'autres fournisseurs proposent aussi le support de DNSCrypt. Avec DNSCrypt, il n'y a que le fournisseur de service (le résolveur DNS, OpenDNS) qui voit les requêtes et sait donc quel site on consulte, au lieu du résolveur de DNS et tout ceux qui écouteraient le trafic et les requêtes DNS effectuées sur le réseau.
Le site du projet http://dnscrypt.org/
Conclusion
Deux pistes à approfondir/tester pour avoir un peu plus de fiabilité en ce qui concerne le DNS. Une autre façon est de mettre en place son propre service de DNS en local. Un sujet là aussi à approfondir, sujet d'un futur billet je pense.