Pourquoi déployer DNSSEC sur votre serveur DNS et comment cela fonctionne-t-il ?

Page 1 / 1

DNSSEC (Domain Name System Security Extensions) signifie "Extensions de sécurité du système de noms de domaine" en français et permet de certifier la réponse obtenue depuis un serveur DNS supportant la technologie DNSSEC.

  1. Comment fonctionne le système DNS
  2. Aperçu du fonctionnement du DNSSEC
    1. Fonctionnement de DNSSEC
    2. Enregistrements créés par DNSSEC
    3. Points de confiances ou ancres de confiances
  3. Pourquoi déployer DNSSEC ?
  4. Dois-je signer ma zone DNS ?
    1. Dois-je signer ma zone DNS si mon serveur DNS est accessible depuis Internet ?
    2. Dois-je signer ma zone DNS utilisée localement (pour un intranet) ?
  5. Quel est l'impact de DNSSEC sur les performances de votre serveur DNS ?

1. Comment fonctionne le système DNS

Le système DNS (Domain Name System) reposait à l'origine sur des serveurs DNS racines gérés par une dizaine d'organisations différentes présentes dans différents pays.

Maintenant, le système DNS repose sur un système hiérarchique composé de multiples serveurs DNS où chaque serveur gère une ou plusieurs zones.

Lorsque vous tentez d'accéder à notre site "www.informatiweb-pro.net", le client DNS installé sur votre ordinateur effectuera plusieurs demandes à différents serveurs DNS :

  • il demandera d'abord à un serveur racine (dont un est géré par l'ICANN) : "qui gère l'extension .net".
  • ensuite, il demandera au serveur DNS .net "qui gère le domaine informatiweb-pro.net" : en l'occurrence, le serveur lui donnera l'adresse du serveur DNS de notre hébergeur
  • et pour finir, il demandera au serveur DNS de notre hébergeur (où se trouve la zone DNS "informatiweb-pro.net") à quelle adresse IP correspond le sous-domaine "www.informatiweb-pro.net".

Etant donné que la réponse définitive dépend des réponses obtenues depuis les serveurs DNS parents, il est important de sécuriser le système DNS sur tous les serveurs DNS du monde.

C'est donc pour cette raison que le DNSSEC a été inventé. Mais son implémentation va prendre évidemment du temps étant donné qu'il existe des centaines voire des milliers de serveurs DNS dans le monde.

2. Aperçu de DNSSEC et de son fonctionnement

DNSSEC (Domain Name System Security Extensions) est une série d'extension permettant de sécuriser le système DNS en permettant :

  • aux serveurs DNS de communiquer des réponses DNS valides et authentiques aux clients
  • aux clients de vérifier si la réponse est authentique ou non (pour éviter de faire confiance à un pirate sans le savoir)

2.1. Fonctionnement de DNSSEC

Si le serveur DNS faisant autorité supporte le DNSSEC, ses zones pourront être signées grâce à cette technologie.
Pour cela, lors de la signature de la zone, DNSSEC ajoutera plusieurs enregistrements DNS (des signatures numériques) permettant de fournir une réponse authentique aux différents clients DNS.

Comme vous pouvez le voir sur ce schéma (récupéré depuis Microsoft Docs), chaque enregistrement DNS (y compris les informations globales, telles que : la liste des serveurs de noms (NS) et le SOA) seront signés numériquement.

2.2. Enregistrements créés par DNSSEC

Comme vous pouvez le voir, la signature de la zone via DNSSEC a engendré la création de plusieurs types d'enregistrements :

  • RRSIG : signature numérique associée à un enregistrement DNS (que ce soit le SOA, un NS ou même un enregistrement A classique)
  • NSEC : permet de certifier à l'utilisateur que tel ou tel enregistrement DNS n'existe pas ou plus. Ce qui évite que des pirates ne fournissent une fausse réponse en profitant du fait qu'un serveur DNS classique aurait répondu : désolé je n'ai pas la réponse (étant donné que le sous-domaine souhaité n'existe pas ou plus).
  • NSEC3 : il s'agit simplement d'une amélioration du NSEC cité précédemment
  • NSEC3PARAM : cet enregistrement détermine quel enregistrement NSEC3 doit être retourné dans la réponse DNS pour les enregistrements DNS qui n'existent pas.
  • DNSKEY : clé publique de la zone DNS utilisée par les autres serveurs DNS pour vérifier si la signature obtenue est valide ou non. C'est ce qui permet d'effectuer la validation des données d'un serveur DNS à un autre et ce qui empêche donc les pirates de faire du DNS spoofing.
  • DS : permet de sécuriser les délégations DNS. Par exemple : lorsque vous déléguez la gestion d'un sous-domaine à un autre serveur DNS. Par exemple : pour une entreprise présente dans plusieurs pays.

Tous ces enregistrements DNS sont créés automatiquement lors de la signature de la zone, à l'exception des enregistrements "DS".
De plus, le type d'enregistrement NSEC (ou NSEC3) dépend du choix que vous ferez lors de la signature de la zone. Les enregistrements NSEC ou NSEC3 sont ajoutés automatiquement
En effet, vous ne pourrez pas combiner les 2 dans la même zone.

Attention : notez que l'enregistrement DS (utilisé pour sécuriser les délégations DNS) n'est pas créé automatiquement lors de la signature de la zone et doit être créé manuellement.

2.3. Points de confiances ou ancres de confiances

Les enregistrements DNSKEY et DS sont appelés points de confiances ou ancres de confiances.
Ces points de confiances doivent être distribués aux serveurs DNS qui ne font pas autorité sur votre zone DNS pour que ceux-ci puissent valider les signatures reçues avec votre réponse DNS.

3. Pourquoi déployer DNSSEC

Comme expliqué précédemment, le déploiement de DNSSEC permettra de protéger les clients DNS (les internautes) contre les fausses réponses DNS envoyées par des pirates.
Mais, pour que cela soit possible, il faut que tout le monde implémente DNSSEC sur ses serveurs DNS :

  • l'organisme gérant la zone racine du DNS : notamment l'ICANN et VeriSign
  • les entreprises gérant leurs domaines sur leurs propres serveurs DNS
  • les serveurs DNS "intermédiaires" créés, par exemple, par les fournisseurs d'accès à Internet

Ainsi, si chacun vérifie que la réponse obtenue depuis le serveur parent est bien authentique, l'internaute pourra être sûr que la réponse obtenue sera authentique et qu'elle n'aura pas été manipulée par un pirate.

Ceci étant dit, il faut aussi que les clients soient compatibles avec cette technologie pour qu'il puisse l'utiliser au lieu du système DNS classique.

Sous Windows Server, il est d'ailleurs possible de configurer les clients Windows (compatibles avec DNSSEC) pour rendre son utilisation obligatoire grâce à la stratégie de groupe concernant la résolution de noms (ou NRPT / Name Resolution Policy Table en anglais).

Attention : si vous rendez l'utilisation de DNSSEC obligatoire, sachez que DNSSEC devra être supporté par chaque serveur DNS nécessaire pour l'obtention de la réponse finale.

4. Dois-je signer ma zone DNS ?

Oui et non. Tout dépend de votre infrastructure et des zones que vous gérerez sur votre serveur DNS.

De plus, la signature d'une zone DNS engendre la création d'enregistrements DNS supplémentaires, ainsi que le cryptage et le décryptage des messages DNS.
Ce qui peut rendre la gestion du serveur DNS plus compliqué et ce qui peut avoir un impact sur les performances de votre serveur DNS si celui-ci reçoit beaucoup de requêtes simultanément.

Ensuite, il faut aussi prendre en compte qu'il faudra renouveler périodiquement les clés de sécurité utilisées pour signer la zone pour éviter qu'un pirate ne puisse les deviner.

4.1. Dois-je signer ma zone DNS si mon serveur DNS est accessible depuis Internet ?

Oui, car votre serveur DNS risque d'être la cible de pirates et que votre zone DNS sera consultée par de nombreux clients via Internet.
Il est donc important de la signer pour pouvoir fournir des réponses authentiques à vos clients et les protéger contre les fausses réponses DNS envoyées par des pirates.

De plus, ces zones ne font, en général, pas partie d'une infrastructure Active Directory. Il est donc utile et recommandé de signer vos zones DNS.

4.2. Dois-je signer ma zone DNS utilisée localement (pour un intranet) ?

En général, les zones DNS locales sont beaucoup moins vulnérables aux attaques, car elles ne sont pas accessibles depuis l'extérieur (Internet) ou parce que des protocoles de sécurité ont été mis en place dans votre réseau pour vous en protéger.

Si vous signez ces zones DNS et qu'elles font aussi partie d'une infrastructure Active Directory, la maintenance du serveur DNS pourra être plus compliquée. En effet, le nombre d'enregistrements DNS peut grandir à vue d'oeil en fonction du nombre d'ordinateurs présents dans votre réseau et liés à votre Active Directory.

Il est donc conseillé de les signer uniquement si vous considérez que cela est nécessaire ou parce que :

  • le serveur DNS est géré par une agence gouvernementale
  • ou la politique de sécurité de votre entreprise vous y oblige

5. Quel est l'impact de DNSSEC sur les performances de votre serveur DNS ?

L'activation de DNSSEC sur votre serveur DNS a un impact sur les performances de votre serveur DNS :

  • sous Windows Server 2012 et 2012 R2, les zones signées utilisera jusqu'à 5 fois plus de mémoire vive qu'une zone non signée
  • la réponse aux requêtes DNS sera plus longue à cause de l'augmentation du nombre de paquets envoyés via le réseau pour la validation de la chaine de confiance, ...
  • le processeur de votre serveur pourra aussi être plus utilisé lors de l'utilisation d'une zone signée à cause du calcul dû aux clés KSK et ZSK.

Pour plus d'infos, consultez la page DNSSEC Performance Considerations de Microsoft Docs.

Sources :