Focus sur le protocole DNS

En cette 28ème année d’existence (active pas d’invention) pour le protocole DNS j’ai eu envie d’explorer le sujet. Voici ma synthèse.

Le DNS est en quelque sorte le protocole qui assure le lien entre le monde des machines serveurs et les internautes.

🔗 Quelques définitions

Sans DNS pas d’internet donc ! Il renvoie à Domain Name System. Pour le dire simplement. Les sites web sont hébergés sur des serveurs, un serveur est une machine, un ordinateur qui possède une adresse IP.

Ce genre d’adresses convient bien aux machines, des suites de chiffres à stocker et résoudre c’est très bien mais pour un humain donc les internautes cela aurait été totalement imbitable du coup on a eu l’idée d’associer à chaque IP ce que l’on appelle un nom de domaine (NDD).

Quand je tape un nom de domaine sur les Internets, je lance en réalité une recherche vers l’IP serveur associée. Et c’est ce lien IP/NDD qu’on appelle résolution de nom de domaines.

Si on veut faire une analogie, on s’appelle bien chacun par nos noms et prénoms, pas par un timestamp de notre date de naissance…

🔗 Comment ça marche globalement ?

3 termes à retenir : DNS donc, registrar et hébergement web.

Pour le dernier, le lien vous emmène vers un dossier complet mais on pourrait dire très schématiquement que l’hébergeur vous vend de l’espace disque et une IP.

On a vu que le DNS assurait la conversion entre cette IP et le NDD du site. Oui mais c’est manquer une étape : l’enregistrement. Un NDD, en général toujours, ça coûte de l’argent et c’est obligatoire pour mettre en ligne. C’est là qu’intervient le registrar et son rôle va consister à affecter votre nom de domaine à un DNS.

On a besoin d’un protocole global pour que d’où que l’on se connecte on accède bien au site web en question.

Au final, bien souvent, l’hébergeur fera également office de registrar, moyennant finance et sous la forme d’un abonnement récurrent, renouvelé chaque année, il s’occupera de tout pour vous mais il faut savoir que ces 3 entités peuvent être gérées séparément.

🔗 La propagation DNS

Lors d’une mise en ligne ou d’une migration d’un site vers un autre hébergeur par exemple, on doit parfois patienter le temps de ce que l’on appelle la propagation DNS.

On a vu qu’il y avait des enregistrements DNS grâce au registrar. Autrement dit il y a des bases de données où tel nom de domaine est associé à tel DNS pour le dire vite.

Donc partout dans le monde, chez chaque fournisseur d’accès internet il y a des communications avec ces fameux registres afin de pouvoir délivrer la bonne résolution de nom de domaine à l’internaute qui entre le NDD dans sa barre d’adresse ou qui nous arrive de chez Google House.

Or, ces informations d’enregistrement ne sont pas mises à jour en temps réel, il y a un déjà un délai à ce niveau. Puis s’ajouteront les délais du aux mécanismes de cache DNS qui ont pour but d’améliorer l’expérience utilisateur en augmentant la vitesse. Au lieu d’aller rechercher l’information jusque dans les bases de données du registrar à chaque fois, une copie est faite, là on parle au niveau du fournisseur d’accès internet pour être délivrée plus rapidement à l’internaute.

Et là dessus chacun fait sa sauce, certains iront plus vite que d’autres. Donc on pourra retenir que la propagation DNS c’est le temps que tout ce petit monde mette à jour ses registres.

🔗 DDos et autres zombies

Outre les professionnels du web, qui doivent passer par la notion à un moment ou un autre, on entend souvent parler de DNS de manière indirecte au niveau du Grand Public par le truchement des menaces DNS.

La plus connue des menaces, la plus spectaculaire, celle qu’utilisent notamment les activistes d’Anonymous. Il s’agit d’une attaque par déni de service, l’idée étant de bombarder littéralement un site de visiteurs fakes pour épuiser les ressources du site et provoquer un crash.

Il n’y a pas véritablement de solutions convaincantes à ce genre d’attaques d’où la menace que constituent ces attaques.

Techniquement la DDos exploite une « faille » importante du protocole : l’identité du visiteur, par définition, anonyme… En gros les hackers exploitement non pas tellement une faille technique, c’est pour ça que je mettais des guillemets plus haut, mais la raison d’être de certains serveurs DNS qui se doivent de fournir une réponse car ils sont les seuls à la posséder.

Il n’y a pas qu’un seul type de déni de service (Dos) mais l’ironie avec le DDos est que ce type d’attaque ne nécessite pas un équipement de folie à base de clichés qu’on a tous en tête du hacker qui navigue dans la matrice. N’importe quel machine fera l’affaire !

Remarque : on peut être fasciné par ce type d’attaque quand elles émanent d’activistes avec un message et tutti quanti mais elles sont parfois utilisées par d’autres hackers bien moins philanthropes et dont le seul but est d’extorquer de l’argent.

🔗 Conclusion : un fonctionnement problématique ?

Le mécanisme de propagation DNS qu’on a détaillé ici permet certes de meilleures performances et quelque part on ne peut pas échapper à une certaine forme de centralisation, mais c’est cette complexité qui est exploitée par les attaques Dos.

Les solutions qui sont envisagées, par les groupes de travail spécialisés comme l’IETF, pour lutter contre ces attaques posent de sérieuses questions d’éthique et de respect de la vie privée.

Le dilemme : on sécurise le protocole DNS pour mieux lutter contre les Dos en tous genre mais au prix de grandes concessions éthiques ou alors on pète le protocole en créant un nouveau mais quid de l’existant !

Je disais dans le dossier « pas d’Internet sans DNS » c’est bien parce que le protocole DNS est totalement assimilé dans le système donc que faire ? Débrancher Internet le temps des travaux ?

🔗 Lectures complémentaires