DNSSEC : notre guide complet

DNSSEC : notre guide complet

Vous avez entendu parler de DNSSEC et aimeriez mieux comprendre son fonctionnement et ses objectifs? Ne cherchez pas plus loin! Nous sommes là pour répondre à toutes vos questions.

Dans cet article détaillé, nous allons explorer pourquoi DNSSEC a été introduit et dans quel contexte il peut être bénéfique. Vous comprendrez ainsi aisément pourquoi Ex2 l’inclut dans ses plans d’hébergement web.

DNSSEC est l’abréviation de Domain Name System Security Extensions. Cet outil améliore la sécurité du système de noms de domaine (DNS). Il a été développé parce que le système DNS présente des vulnérabilités qui peuvent être exploitées pour les cyberattaques.

Sans plus tarder, voyons dès maintenant pourquoi le DNSSEC est crucial pour sécuriser les sites web et les applications.

Qu’est-ce que DNSSEC ?

DNSSEC est un protocole de sécurité conçu pour rendre le système DNS plus sûr. Pour ce faire, il authentifie et valide l’origine des données DNS.

En termes simples, le système DNS est ce qui nous permet d’accéder facilement aux sites web. C’est ce système qui traduit les noms de domaine (comme ex2.com) en adresses IP, qui sont utilisées par les serveurs.

Les noms de domaine sont plus faciles à retenir et utiliser pour des humains. La communication réseau repose toutefois encore sur des adresses IP pour acheminer les informations vers leur destination.

Les serveurs et appareils connectés à internet doivent connaître ces adresses pour échanger de données. C’est nécessaire pour visiter des pages web, envoyer des e-mails ou transmettre ka moindre information.

Le système DNS n’est cependant pas intrinsèquement sécurisé. Pour remédier à ces vulnérabilités, DNSSEC a été créé. Il fournit depuis une solution aux problèmes de sécurité dans le DNS.

Quel est l’enjeu de sécurité avec les système DNS?

Le système DNS en tant que tel est dépourvu de tout mécanisme d’authentification. Cela signifie que lors du processus de résolution DNS, l’étape qui traduit un nom de domaine en une adresse IP, il existe un risque.

Un domaine peut être victime d’attaque par usurpation de DNS (DNS spoofing), aussi connu sous le nom d’empoisonnement du cache DNS (DNS cache poisoning).

La falsification DNS ou spoofing

La falsification DNS est un acte malveillant au cours duquel l’identité d’un hôte réseau est falsifiée. L’objectif est alors de dissimuler l’identité réelle de l’hôte en usurpant l’identité d’un site légitime.

Par exemple, un attaquant pourrait exploiter cette faille pour rediriger les utilisateurs d’un site légitime (p. ex., « sitelegitime.com ») vers un site malveillant (p. ex., « sitemalveillant.com »).

Un outil méconnu mais établi de longue date

Malgré son importance cruciale, DNSSEC demeure totalement inconnu de très nombreux internautes. Les vulnérabilités dont il protège le système DNS ont pourtant été identifiées dès 1990.

D’autres tentatives ont été faites pour sécuriser le système. Elles ont toutefois été en grande partie infructueuses.

Une version préliminaire de DNSSEC (appelée DNSSEC-bis) a d’abord été créée en 2005. Ce n’est cependant qu’en 2010 que l’ICANN a officiellement lancé DNSSEC pour traiter efficacement ces problèmes d’authentification.

Afin de pouvoir expliquer en détails le fonctionnement de DNSSEC, regardons les fondamentaux du fonctionnement du système DNS.

Fonctionnement du système DNS

Le processus de résolution DNS traduit un nom de domaine en son adresse IP correspondante. Pour ce faire, il comporte plusieurs étapes clés définies par le guide DNS.

Voici une ventilation simplifiée du processus :

Vous vous connectez à un site Web, comme « domaine.com.

  • Votre navigateur agit en tant que client réseau et envoie une requête au résolveur DNS.
  • Le résolveur DNS agit comme un intermédiaire. Il devient alors responsable de la récupération de l’adresse IP associée au nom de domaine.
  • Pour ce faire, le résolveur envoie des requêtes à divers serveurs. Ceux-ci incluent le serveur racine, le serveur TLD (domaine de premier niveau), et le serveur de noms faisant autorité pour « domaine.com. »
  • Une fois que le résolveur DNS obtient l’adresse IP correcte, il renvoie cette information au navigateur. Celui-ci peut alors charger et afficher le contenu du site web demandé.

Il s’agit du processus de résolution DNS de base. Une partie importante de ce système se réfère aux enregistrements DNS.

Ces enregistrements DNS sont stockés dans un fichier de zone DNS. Ils contiennent des informations critiques telles que l’adresse IP du serveur hébergeant le contenu.

Comment le système DNS fonctionne avec DNSSEC

DNSSEC ajoute une couche supplémentaire de sécurité au système DNS. L’échange habituel d’informations entre le résolveur DNS et divers serveurs se déroule normalement, mais DNSSEC ajoute des signatures cryptographiques dans le processus.

Ces signatures numériques assurent la vérification des informations échangées. Elles protègent ainsi contre les interférences d’acteurs malveillants et d’attaques de type man-in-the-middle (homme au milieu).

Voyons rapidement en quoi consistent ces attaques dites par l’homme au milieu. Elles se produisent lorsqu’un tiers intercepte et manipule la communication entre deux entités.

Dans le cas des sites web, les certificats SSL joue un rôle similaire. Ils utilisent le protocole HTTPS plutôt que HTTP, chiffrant la communication pour protéger l’échange d’informations sensibles.

De la même façon, DNSSEC utilise des clés cryptographiques pour assurer l’authenticité des enregistrements de domaine. Celles-ci empêchent l’insertion d’enregistrements falsifiés pendant le processus de résolution DNS.

Sans cette protection, une requête DNS pourrait être dirigée vers un serveur DNS différent par des changement apportés par un tiers. Elle aboutirait alors à une adresse IP différente et donc à un site web différent de ce qu’elle devrait.

L’utilisateur risque alors d’être redirigé vers un site malveillant conçu pour voler des informations sensibles, comme des identifiants de connexion ou des détails de paiement.

La validation des informations avec DNSSEC se fait de la façon suivante :

  • Une demande est envoyée à partir d’un navigateur pour visiter le site « domaine.com ».
  • La requête est envoyée au résolveur DNS.
  • Le résolveur DNS interroge les serveurs DNS (racine, TLD) et les serveurs de noms de « domaine.com ».
  • Puisque DNSSEC est activé, la signature numérique est également transmise et validée lors de l’échange d’informations, en plus des enregistrements DNS.
  • Le résolveur doit donc aussi effectuer une vérification sur la signature numérique. La validation se fait par paires de clés avec le système de cryptographie afin de valider la demande.
  • Pour terminer, la réponse validée retourne au navigateur. Celui-ci affiche alors le contenu du site ou de la ressource demandée.

En pratique, l’authentification de la validité des serveurs avec DNSSEC garantit qu’il ne peut y avoir d’attaques par intermédiaires.

Comment fonctionne DNSSEC en détail

Nous avons vu le fonctionnement de base de DNSSEC. Voyons maintenant comment fonctionne la vérification, dont la validation se compose toujours d’une clé privée et d’une clé publique.

Pour ce faire, deux clés appelées DNSKEYs sont introduites, Il s’agit de KSK et ZSK. Voyons à quoi servent chacune d’entre elles.

ZSK

La clé de signature de zone ou clé de signature privée ZSK (Zone Signing Key) est utilisée pour valider la zone DNS.

Par exemple, la zone DNS suivante permet de connecter un domaine à une adresse IP avec l’enregistrement A :

domaine.com A 10.15.20.25

Un enregistrement RRSIG (RRset Signature) est alors créé. Celui-ci utilise la clé publique ZSK pour valider la zone DNS.

Il faut toutefois s’assurer que le ZSK public est valide et vraiment associé à « domaine.com ». Pour ce faire, il faut donc le valider à son tour par l’intermédiaire de la clé KSK.

KSK

La « clé de signature publique » ou « clé de signature de clé » (KSK) est spécifiquement utilisée pour valider la clé ZSK.

La présence des KSK fait entrer le processus DNS dans ce qu’on appelle la « chaîne de confiance ». Cette chaîne sert à valider des informations sur plusieurs niveaux.

Comme nous l’avons déjà mentionné, la résolution DNS implique :

  • Serveur racine.
  • Serveur TLD.
  • Le serveur de noms du domaine (ex: « domaine.com »).
  • Un enregistrement DS (Delegation Signer) associé au serveur TLD est introduit. Son contenu inclut le hachage de la clé KSK.

Le hachage introduit par le DS est obtenu en transformant une chaîne en une autre en utilisant un algorithme de chiffrement.

Ainsi, quand le résolveur DNS interroge le serveur de noms de « domaine.com » et obtient le KSK, il peut comparer le KSK avec l’enregistrement DS du TLD. Il peut alors s’assurer qu’ils correspondent.

La même chose se produit au niveau supérieur. Le serveur racine a un enregistrement DS qui pointe vers le TLD. Le KSK du TLD est donc luis aussi comparé à cet enregistrement DS à fin de validation.

Ce processus en chaîne entraîne ainsi la validation de chaque niveau du système DNS.

Quel est le rôle de DNSSEC?

Nous avons couvert en détails la façon dont DNSSEC fonctionne. Clarifions maintenant ses objectifs et les circonstances dans lesquelles il est essentiel de l’utiliser.

DNSSEC remplit trois fonctions principales :

  • Il valide la source des informations.
  • Il vérifie l’intégrité des données.
  • Il permet d’authentifier le « déni d’existence ».

La validation de la source et l’intégrité des données est effectuée via le processus que nous avons abordé précédemment. Pour ce faire, il utilise les clés DNSKEYS que vous avons mentionné.

Pour authentifier le « déni d’existence », le processus fonctionne comme suit. Si vous cherchez un sous-domaine, tel que « test.ex2.com », DNSSEC renvoie une réponse qui confirme que le sous-domaine n’existe pas.

Ceci est rendu possible par un processus de vérification au cours duquel le serveur répond explicitement que le sous-domaine n’existe pas. Le dossier NSEC est utilisé pour effectuer cette vérification.

Comment DNSSEC est-il mis en place?

Premièrement, la zone DNS doit être validée. Cela implique de créer les enregistrements nécessaires dont nous avons parlé plus tôt.

Une fois les clés et les enregistrements configurés, ils doivent être testés. Cela permet de s’assurer qu’aucune erreur ne se produit.

L’enregistrement DS est enfin établi pour permettre une validation complète. DNSSEC ne devient alors pleinement actif qu’une fois l’enregistrement DS est en place.

Qui a besoin de DNSSEC?

DNSSEC n’est pas encore largement adopté et utilisé. Il est néanmoins parfaitement conçu pour assurer la légitimité et la validité des sites web et des applications. Son utilisation devrait donc se généraliser au fil du temps.

Si vous manipulez des données sensibles ou que vous travaillez dans des environnements où la sécurité des données est essentielle, vous devriez sérieusement envisager de mettre en place cette couche de sécurité supplémentaire dès que possible.

Les risques associés à l’absence de cette pratique ont été largement discutés tout au long de cet article. Vous devriez donc vous prémunir contre ces menaces autant que possible.

Pour conclure sur l’outil de sécurité DNS DNSSEC

Malgré de nombreuses années d’existence et d’utilisation, DNSSEC demeure un outil méconnu des internautes. Il s’agit néanmoins d’un outil essentiel à la sécurité du réseau DNS sur lequel repose le web.

DNSSEC offre une protection unique contre le spoofing et l’usurpation de DNS. Il contribue ainsi à la sécurité des propriétaires de sites web et à celle des internautes.

Nous espérons que cet article vous a éclairé sur DNSSEC. Si c’est le cas, nous vous invitons à consulter nos autres autres articles et tutoriels.

N’hésitez pas non plus à consulter notre base de connaissance. Vous y trouverez une foule d’articles détaillés pouvant répondre à toutes vos questions web.

Avatar