Pendant plus de quatre jours, un serveur situé au cœur même du système de noms de domaine d’Internet n’était pas synchronisé avec ses 12 serveurs racine homologues en raison d’un problème inexpliqué qui aurait pu causer des problèmes de stabilité et de sécurité dans le monde entier. Ce serveur, géré par l’opérateur Internet Cogent Communications, est l’un des 13 serveurs racine qui fournissent la zone racine d’Internet, qui se trouve au sommet de la base de données hiérarchique distribuée connue sous le nom de système de noms de domaine, ou DNS.
Voici un récapitulatif simplifié du fonctionnement du système de noms de domaine et de la place des serveurs racine :
Lorsqu’une personne saisit wikipedia.org dans son navigateur, les serveurs traitant la demande doivent d’abord traduire le nom de domaine convivial en une adresse IP. C’est là qu’intervient le système de noms de domaine. La première étape du processus DNS consiste pour le navigateur à interroger le résolveur de stub local dans le système d’exploitation local. Le résolveur de stub transmet la requête à un résolveur récursif, qui peut être fourni par le FAI de l’utilisateur ou un service tel que 1.1.1.1 ou 8.8.8.8 de Cloudflare et Google, respectivement.
Si nécessaire, le résolveur récursif contacte le serveur racine C ou l’un de ses 12 pairs pour déterminer le serveur de noms faisant autorité pour le domaine de premier niveau .org. Le serveur de noms .org renvoie ensuite la requête au serveur de noms Wikipédia, qui renvoie ensuite l’adresse IP. Dans le diagramme suivant, le serveur récursif est appelé « itérateur ».
Étant donné le rôle crucial joué par un serveur racine pour garantir qu’un appareil puisse trouver n’importe quel autre appareil sur Internet, il en existe 13 géographiquement dispersés dans le monde entier. Chaque serveur racine est en fait un cluster de serveurs également géographiquement dispersés, offrant encore plus de redondance. Normalement, les 13 serveurs racine, chacun géré par une entité différente, fonctionnent au même rythme. Lorsqu’une modification est apportée aux contenus qu’ils hébergent, elle se produit généralement sur tous en quelques secondes ou minutes au maximum.
Événements étranges sur le serveur de noms racine C
Cette synchronisation étroite est cruciale pour assurer la stabilité. Si un serveur racine dirige les recherches de trafic vers un serveur intermédiaire et qu’un autre serveur racine envoie les recherches vers un autre serveur intermédiaire, des parties importantes d’Internet telles que nous les connaissons pourraient s’effondrer. Plus important encore, les serveurs racine stockent les clés cryptographiques nécessaires pour authentifier certains serveurs intermédiaires selon un mécanisme appelé DNSSEC. Si les clés ne sont pas identiques sur les 13 serveurs racine, il existe un risque accru d’attaques telles que l’empoisonnement du cache DNS.
Pour des raisons qui restent floues en dehors de Cogent, qui a refusé de commenter cet article, les 12 instances de la racine C dont il est responsable ont soudainement cessé de se mettre à jour samedi. Stéphane Bortzmeyer, un ingénieur français qui a été parmi les premiers à signaler le problème dans un article de mardi, notait alors que le c-root avait trois jours de retard sur le reste des serveurs racine.
Le décalage a en outre été constaté sur Mastodon.
Mercredi à midi, le décalage était réduit à environ un jour.
Mercredi soir, la racine C était enfin à jour.