Après le blocage de plusieurs sites majeurs par Orange, nous avons voulu comprendre comment une telle situation s'est installée, et comment elle peut évoluer. De la gestion des résolveurs DNS par les opérateurs aux alternatives en développement, tour d'horizon avec l'expert Stéphane Bortzmeyer.
Le 17 octobre au matin, Orange a redirigé ses clients accédant à plusieurs sites, dont au moins Google, OVH et Wikipédia vers la page de blocage des « sites terroristes » du Ministère de l'Intérieur. Un souci provoqué par une « erreur humaine » pendant la mise à jour du système de détournement, imposé par la place Beauvau.
Le Ministère a demandé des comptes à l'opérateur historique, et exigé la suppression des adresses IP concernées de la liste de consultation des sites illicites. Mais cet incident pose la question de la pertinence d'avoir imposé aux fournisseurs d'accès français de proposer des résolveurs DNS menteurs.
Pour rappel, un résolveur DNS permet de relier un nom de domaine (nextinpact.com par exemple) à l'adresse IP du serveur qui l'héberge. Sa seule fonction est donc d'apporter rapidement la bonne réponse. Le plus souvent gérée directement par les opérateurs, cette brique essentielle n'est pas (encore) utilisée en toute transparence, pour des raisons légales, sécuritaires ou commerciales.
Pour comprendre comment nous en sommes arrivés à cette situation, et les pistes à venir pour améliorer cet outil, nous avons discuté avec l'un de ses plus grands spécialistes français, Stéphane Bortzmeyer.
Pourquoi les opérateurs fournissent-ils un résolveur DNS ?
Il n'est pourtant pas évident qu'un fournisseur d'accès soit celui qui gère le résolveur DNS d'une connexion. Sur la base du modèle OSI, communément utilisé pour décrire les réseaux, « certains informaticiens répondront que les opérateurs gèrent le réseau (couche 3), donc n'ont pas à gérer le DNS (couche 7, applicatif) » explique Stéphane Bortzmeyer. Pourtant, « le DNS a cela de particulier qu'on ne peut pas s'en passer. Le DNS n'est pas une simple application, mais un service d'infrastructure indispensable à quasiment tout ».
En partant de ce principe, il est donc compliqué de fournir une connexion sans résolveur DNS, qui permet d'effectivement consulter des sites et services sans manipulation technique de la part du client. En tant que partie de l'infrastructure du réseau, chaque opérateur a donc intérêt à l'internaliser, pour garantir son bon fonctionnement.
Est-ce qu'ils pourraient le mettre en commun ? « Le problème est que s'il tombe en panne ou est piraté, c'est une catastrophe. La résilience de l'Internet dépend du fait de ne pas avoir de point unique de défaillance. Orange a eu un problème, les autres ont fonctionné » rappelle Bortzmeyer.
Comment un résolveur DNS peut-il mentir ?
« Ce service devrait effectivement être neutre » sans manipulation possible des réponses, estime le spécialiste. « À partir du moment où on commence à mettre une fonction de mensonge, on ajoute un composant. En informatique tout ce qu'on greffe peut déconner. À partir de bonnes intentions, on a affecté la stabilité générale d'Internet » note Bortzmeyer, qui estime que les opérateurs français mentent principalement pour des raisons légales, plutôt que par intérêt commercial.
Il existe néanmoins quelques exceptions. En 2009, SFR avait par exemple redirigé les internautes ayant mal saisi l'adresse d'un site vers une page maison... contenant de la publicité. Pour certains, il existe pourtant de « bonnes » raisons de détourner l'utilisateur de certains sites : protection de l'enfance, blocage de sites distribuant des malwares... d'autant que cette fonction est fournie par les principaux outils derrière les serveurs DNS, comme « RPZ » du logiciel BIND. En clair, faire mentir le système ne requiert pas de grand effort.
C'est ainsi par un décret de 2015 que les FAI ont été obligés de bloquer l'accès des sites provoquant à des actes de terrorisme ou en faisant l’apologie, ainsi que des sites pédopornographiques. C'est ce dispositif qui a déraillé chez Orange il y a quelques jours, sans qu'aucun système de vérification ou de sécurité ne l'en empêche. C'est là tout le problème : en institutionnalisant la possibilité de mentir pour les résolveurs DNS, on se prive de la possibilité de s'assurer que la réponse qu'ils fournissent est la bonne, ce qui est pourtant le fondement de leur existence.
Outre les questions philosophiques habituelles autour de la censure d'État, notre interlocuteur s'étonne d'ailleurs d'avoir peu vu la question du fonctionnement d'Internet émerger dans les débats autour du blocage administratif, donc sans intervention d'un juge. « Au lieu d'être menacé par un opérateur pour des raisons commerciales, la neutralité du Net est menacée par l'État pour des raisons politiciennes. Je ne suis pas sûr que ça ait un effet contre le djihadisme, mais c'est une action visible face à un problème grave » tance-t-il.
Il estime d'ailleurs les remontrances publiques du ministère de l'Intérieur contre Orange « scandaleuses ». « C'est eux qui ont imposé ce système aux opérateurs ! » rappelle l'expert.
Peut-on se passer du résolveur de son opérateur ?
D'autant que dans la pratique, un tel blocage est simple à contourner. Il est ainsi tout à fait possible de se passer du résolveur DNS proposé par son fournisseur d'accès, en utilisant un résolveur maison, ou une alternative que l'on pense de confiance. Car même celles parmi les plus utilisés mondialement, ce point peut être un problème.
OpenDNS de Cisco « est lui-même un résolveur menteur, partiellement débrayable en s'inscrivant » note Bortzmeyer (qui a détaillé son point de vue sur le sujet en 2015), quand celui de Google pâtit du fait d'appartenir au géant du Net.
De plus, la concentration de ces alternatives, pour certaines utilisées plus massivement que celles des fournisseurs d'accès, constitue un nouveau problème. Cela pose la question de la neutralité d'outils si massifs, qui sont devenus une réponse par défaut à un souci qui devrait être corrigé de manière plus profonde.
« Il est anormal qu'un hôtel ou hotspot fainéant passe les requêtes DNS de ses clients chez Google, vu que c'est fournir leurs données sans leur accord » estime Bortzmeyer, qui s'étonne aussi de l'habitude de certaines universités d'appeler à imposer ce genre de solutions. « J'ai discuté récemment avec les élèves d'un IUT, où on leur disait de mettre en place le résolveur de Cisco OpenDNS. Pour les 20 années qui suivent leur sortie d'IUT, ils vont partout et changent la configuration dès qu'il y a un problème, pour placer ce résolveur » appuie-t-il.
Il reste que les alternatives « libres » sont peu nombreuses, et loin d'être aussi imposantes que ces mastodontes mondiaux. Celui de French Data Network ou OpenNIC (qui propose des noms de domaine alternatifs) sont des solutions difficiles à conseiller massivement.
Il est aussi possible de monter son propre résolveur DNS chez soi, via un outil clé en main comme le routeur Turris Omnia, financé avec la contribution d'internautes, ou en montant soi-même son outil, par exemple via un Raspberry Pi. Pourtant, rien de simple et économique ne semble exister pour auto-héberger son résolveur DNS. « La liberté de consulter tous les contenus qu'on veut devrait être fournie à tous les citoyens, pas seulement aux geeks » regrette d'ailleurs notre interlocuteur.
Peut-on avoir confiance dans le réseau ?
Si l'on peut douter du résolveur DNS que l'on utilise, on peut aussi s'inquiéter du réseau qui transporte la réponse jusqu'à notre terminal. Les requêtes et réponses DNS sont très rarement protégées, donc assez simples à manipuler. Un opérateur peut par exemple empêcher l'usage d'un résolveur personnel, installé derrière la box du client, en bloquant le port 53 en sortie. Une pratique qui serait habituelle sur les hotspots publics.
Pourtant, « il y a pire que le blocage du port 53, c'est son détournement. En Turquie, le gouvernement avait imposé un DNS menteur aux opérateurs pour bloquer l'accès à Twitter. Donc les gens avaient basculé en général vers Google Public DNS [souvent connu pour son adresse IP, 8.8.8.8], et la solution du gouvernement a été de détourner le trafic dirigé vers le 8.8.8.8. C'est difficilement parable » explique encore Stéphane Bortzmeyer.
En clair, quand les Turcs ont voulu utiliser le résolveur DNS de Google, à la place de celui de leurs fournisseurs d'accès (contraints de bloquer Twitter), le trafic dirigé vers celui de Google a été rapatrié vers un résolveur contrôlé.
Kadıköy'ün yolları DNS / While #TwitterisblockedinTurkey, take a look at the Kadıköy streets pic.twitter.com/doVEc4II26
— kaan sezyum (@kaansezyum) March 21, 2014
Comment savoir si un résolveur DNS ment ?
Pour vérifier si son résolveur DNS dit la vérité, et que son trafic n'est pas détourné vers le mauvais site, la solution la plus simple reste encore de comparer ses résultats avec ceux d'internautes chez d'autres opérateurs. Une commande traceroute (ou tracert sous Windows) permet de voir quel chemin est emprunté pour accéder au site, et éventuellement déceler une anomalie. Des solutions qui ne sont pas très pratiques, de l'aveu même de Bortzmeyer.
Pourtant, des moyens techniques existent pour s'assurer de la véracité de la réponse du résolveur. La principale est DNSSEC. « C'est une signature cryptographique des enregistrements DNS », qui permet de comparer celle émise par le site avec celle reçue. Le problème est que, même dans le cas de l'incident d'Orange, cela n'aurait servi à rien. « Ni Google, ni Wikipédia n'ont signé leur zone DNS. Cela aurait marché pour mon blog, mais malheureusement il n'est jamais censuré ! » déplore-t-il.
Selon les données de l'Apnic, moins de 15 % des noms de domaine utilisent la validation DNSSEC, dont 27,70 % en France. En clair, son usage est encore très loin d'être répandu. Les raisons invoquées sont souvent celles du poids du déploiement de DNSSEC, sa complexité et d'anciennes faiblesses. « La sécurité nécessite qu'on acquière des compétences qu'on n'avait pas avant » répond Stéphane Bortzmeyer. « Ceux les plus victimes de détournement, les grands réseaux sociaux, les journaux ou les banques, sont ceux qui utilisent le moins DNSSEC » pense-t-il, rappelant que les fournisseurs d'accès rechignent aussi à valider ces signatures.
Ces validations des signatures DNSSEC doivent permettre de vérifier qu'un tiers certifie les données envoyées par le site. Si un opérateur avec des millions de clients valide une signature, elle est donc sûrement juste. « Le seul opérateur français qui valide DNSSEC par défaut est Free. Tous les abonnés de Free sont protégés, mais la validation étant faite par Free, cela n'empêche pas le mensonge légal, la liste noire de Beauvau » résume encore l'expert.
Des solutions en développement, à généraliser
Il ne faut pourtant pas croire que la situation est bloquée. Les projets se voulant révolutionnaires se multiplient, dont une partie est déjà utilisée par certains internautes. C'est par exemple le cas des noms de domaine en « .onion » du réseau Tor, qui ne s'appuie pas sur le système DNS pour lier l'adresse du site avec le serveur. Son avantage : être déjà utilisé par des internautes sans grandes compétences techniques, qui passent par Tor via un navigateur clé-en-main.
D'autres systèmes reposent, eux, sur la blockchain, qui doit garantir que les informations sont vraies en faisant automatiquement valider chaque modification par les membres du réseau. C'est par exemple le cas de Namecoin, un projet expérimental qui s'appuie sur un nom de domaine de premier niveau unique, le « .bit ». Il existe aussi GNUnet, qui propose un système décentralisé. « C'est celui que je préfère, mais c'est le moins déployé » déclare l'expert.
Plus concrètement, au sein de l'IETF, le principal organe de conception des standards du Net, des solutions ont été aussi validées pour améliorer la sécurité du DNS existant. C'est par exemple le cas de DNS sur TLS (voir ce billet de Stéphane Bortzmeyer), dont la RFC a été finalisée il y a quatre mois à peine. Il faut donc commencer à le déployer, pour en finir avec le voyage des données DNS en clair sur Internet. C'est aussi le but de DNSCrypt, un projet extérieur à l'IETF, qui propose lui aussi d'authentifier la connexion entre le résolveur DNS et le client.
« Ce que propose l'IETF, c'est un résolveur accessible en DNS sur TLS, avec une validation des données par DNSSEC. Avec cela, normalement, on est bon. Si les gens ne le déploient pas, ce n'est pas la faute de l'IETF » affirme Stéphane Bortzmeyer.
L'internaute condamné à faire confiance à son résolveur DNS
Pourtant, malgré une meilleure sécurité du réseau (via DNS sur TLS ou DNSCrypt) ou la vérification des données échangées (via DNSSEC), l'internaute doit toujours faire confiance à son résolveur DNS. Dans le système actuel, il doit fatalement faire confiance à un serveur, dans l'immense majorité des cas passant lui-même par Internet pour se connecter à l'utilisateur.
Pour Stéphane Bortzmeyer, le vrai problème de fond est la connaissance de ces enjeux par les utilisateurs, qui dépendent du bon fonctionnement de ces systèmes sans les connaître. « L'état de la compréhension de l'informatique est consternant, dans une société où il y en a partout. Il y a un écart important entre l'argent consacré à la déployer et celui consacré au développement de la littératie numérique » estime-t-il.