DNS Servers 091820 blog 1665x705 1
0 0
Read Time:8 Minute, 51 Second

Le « répertoire » d’Internet (DNS) n’est pas sécurisé. Mais il existe une solution (DNSSEC) qui lui ajoute de la sécurité, existe depuis des années et est disponible sur plus de 90 % des domaines de premier niveau (TLD) de l’ICANN.

Compte tenu de l’importance du DNS et de la sécurité, vous vous attendriez à ce que l’adoption de DNSSEC soit écrasante, n’est-ce pas ? Eh bien, ça ne l’a pas été. En 2021, La validation DNSSEC reste inférieure à 50 % dans le monde. Il y a même des gens qui argumentent contre DNSSEC.

Alors, devriez-vous utiliser DNSSEC ? Eh bien… comme la plupart des choses en technologie, cela dépend. Pour aider à prendre une décision éclairée, je couvrirai ici ce qu’est le DNSSEC, son fonctionnement et les arguments pour et contre.

Vous tirerez le meilleur parti de cet article si vous maîtrisez déjà les bases du système de noms de domaine (DNS). Si vous ne l’êtes pas, consultez Tout ce que vous devez savoir sur le DNS d’abord puis retournez ici. Si vous êtes déjà au courant du DNS, passons au DNSSEC…

Qu’est-ce que DNSSEC ?

DNSSEC est un ensemble d’extensions qui ajoutent de la sécurité au DNS de manière rétrocompatible.

En tant que « répertoire téléphonique d’Internet », le DNS est un élément fondamental du fonctionnement d’Internet. C’est aussi un protocole plus ancien qui n’a pas été conçu avec beaucoup de sécurité. En conséquence, il existe de nombreuses façons de compromettre le DNS.

Adresser certains des défis de sécurité avec DNS, les ingénieurs de l’Internet Engineering Task Force (IETF) ont créé DNSSEC. Avec DNSSEC, les signatures cryptographiques sont utilisées pour valider l’authenticité et l’intégrité des enregistrements DNS.

Comprendre le problème que DNS résout

Pour comprendre pourquoi ces réponses DNS signées cryptographiquement que DNSSEC fournit, voyons comment les choses fonctionnent sans elle.

Supposons que vous souhaitiez accéder à un site Web (exemple.com) à partir de votre PC. Normalement, ce processus fonctionne comme ceci :

  1. Vous tapez example.com dans votre navigateur Web.
  2. Si une entrée pour example.com n’est pas mise en cache, votre résolveur DNS sort et interroge les serveurs de noms sur Internet pour trouver l’adresse IP de example.com.
  3. Votre résolveur obtient en retour une réponse indiquant que 203.0.113.11 est l’adresse IP de example.com.
  4. Votre résolveur indique à votre PC example.com est au 203.0.113.11.
  5. Une page Web du serveur 203.0.113.11 se charge dans votre navigateur Web.

Dans la plupart des cas, tout fonctionne très bien. Mais que se passe-t-il si un attaquant compromet l’un des serveurs de noms ou empoisonne votre cache DNS ? Avec le DNS traditionnel seul, vous ne le sauriez pas. Au lieu du site Web légitime que vous vouliez, vous êtes dirigé vers le serveur de l’attaquant.

Il existe différents types et noms pour ces attaques (par exemple, usurpation DNS, empoisonnement du cache DNS, attaque Kaminsky et détournement DNS), mais ils exploitent tous le fait qu’il n’y a aucun moyen de vérifier que les réponses DNS sont légitimes.

Alors, comment DNSSEC aide-t-il ? Avec DNSSEC, le résolveur utilisera des signatures cryptographiques pour valider la réponse au lieu de lui faire « aveuglément » confiance. Si la validation échoue, comme dans notre exemple, l’utilisateur n’est pas redirigé vers le site malveillant.

Comment DNSSEC aide-t-il ?

Problèmes que DNSSEC ne résout PAS

Avant de continuer, il est important de préciser ce que DNSSEC ne fait PAS. Dans l’exemple ci-dessus, nous voyons que DNSSEC valide l’authenticité et l’intégrité des réponses DNS. C’est important car cela empêche les attaques de l’homme du milieu (MITM).

Cependant, cela n’ajoute aucune confidentialité. Le trafic DNS n’est pas chiffré et DNSSEC n’y ajoute PAS de chiffrement. Si vous cherchez à résoudre le problème du cryptage DNS circulation DNSSEC seul n’aidera pas (ne vous inquiétez pas, nous examinerons certains protocoles de confidentialité DNS ci-dessous).

Comment fonctionne DNSSEC ?

Ok, donc on sait que DNSSEC est censé résoudre des problèmes comme l’usurpation DNS en validant les signatures… mais comment ça marche ? Pour comprendre cela, nous devons comprendre les zones DNS et la chaîne de confiance DNSSEC.

Pour en revenir aux bases du DNS, nous savons que tout remonte au domaine racine. Ensuite, nous avons des TLD tels que .com, .net et .org. Sous les TLD, nous avons des domaines comme example.com ou mediatemple.net. Chacun de ces espaces de noms distincts est une zone DNS.

Comment fonctionne DNSSEC ?

Tout comme chacune de ces zones publie des données DNS qui facilitent les recherches, elles peuvent publier des données DNSSEC signées cryptographiquement à l’aide de paires de clés publiques/privées. Les résolveurs DNS qui prennent en charge DNSSEC peuvent ensuite utiliser les données pour valider les requêtes DNS.

Mais comment savons-nous que les données sont fiables ? En vérifiant auprès de la zone « parent » de niveau supérieur. Avec DNSSEC, une zone parent se porte cryptographiquement pour ses zones « enfants ».

Par exemple, pour valider les enregistrements de example.com, nous regardons les données correspondantes dans la zone .com. Ensuite, pour valider les enregistrements du .com, nous regardons les données correspondantes dans la zone racine.

Mais maintenant que nous sommes dans la zone racine, comment valider ses enregistrements ? Bien nous supposer nous pouvons faire confiance à la zone racine. La zone racine est supervisée par l’Internet Corporation for Assigned Names and Numbers (ICANN) et ses clés sont signées de manière vérifiable pendant cérémonies spéciales diffusées publiquement. Compte tenu des précautions et des processus entourant la signature de la clé racine, « tout le monde » suppose qu’il peut faire confiance à ces clés.

À partir de cette signature de confiance, toutes les zones enfants peuvent être approuvées. En conséquence, nous avons maintenant une chaîne de confiance où un résolveur qui prend en charge DNSSEC peut valider les enregistrements d’adresses IP qu’il reçoit sont légitimes.

Les types d’enregistrement DNS DNSSEC

Pour faciliter l’authentification et la validation des réponses DNS, DNSSEC utilise plusieurs enregistrements de ressources (RR). Ils sont:

  • RRSIG– Les enregistrements de signature numérique d’enregistrement de ressource (RRSIG) incluent une signature cryptographique et des données telles que le type d’enregistrement DNS auquel la signature s’applique, les algorithmes cryptographiques utilisés, les valeurs TTL et les dates d’émission/expiration. Un RRSIG peut être validé à l’aide d’un DNSKEY.
  • DNSKEY– La DNSKEY est la clé publique qui peut être utilisée pour valider un RRSIG.
  • DS– Un enregistrement de signataire de délégation (DS) est utilisé pour transférer la confiance d’une zone parent à une zone enfant. Il contient une DNSKEY hachée et pointe vers la clé suivante dans la chaîne de confiance DNSSEC.
  • NSEC et NSEC3– Les enregistrements Next Secure (NSEC) et Next Secure version 3 (NSEC3) sont le moyen utilisé par DNSSEC pour prouver qu’un enregistrement n’existe PAS.
  • CDS et CDNSKEY Les enregistrements Child DS (CDS) Child DNSKEY (CDNSKEY) sont publiés par les zones enfants pour permettre aux zones parents de mettre à jour leurs enregistrements. En général, ces RR sont utilisés pour activer/désactiver DNSSEC ou pour remplacer les clés de signature de clé (KSK).

Comment implémenter DNSSEC ?

Côté client, pour utiliser DNSSEC pour la résolution de noms, vous avez besoin d’un résolveur qui le prend en charge. Il existe aujourd’hui de nombreux résolveurs DNS qui le font, ce n’est donc pas trop difficile.

Si vous souhaitez que votre domaine prenne en charge DNSSEC, le processus spécifique variera en fonction de votre registraire et de votre fournisseur d’hébergement DNS. Votre bureau d’enregistrement devra prendre en charge les enregistrements DS et faire signer le vôtre par votre TLD. Votre fournisseur d’hébergement DNS devra signer et publier votre enregistrement DNSKEY.

DNSSEC vs DANE vs DoT vs DoH

Si vous recherchez la sécurité DNS, il y a de fortes chances que vous ayez rencontré des termes tels que DANE, DoT et DoH. Bien que tous ces éléments soient liés à la sécurité DNS, ils ne sont pas tous identiques. Voici un bref aperçu de chacun et de leur relation avec DNSSEC.

  • DANOIS- L’authentification DNS des entités nommées (DANE) permet aux administrateurs de spécifier quelles autorités de certification (CA) peuvent créer des certificats pour un domaine. Pour que DANE fonctionne, DNSSEC doit être activé.
  • Point- DNS sur TLS (DoT) chiffre le trafic DNS à l’aide du chiffrement TLS (Transport Layer Security). DoT est une méthode pour résoudre le problème de confidentialité DNS que DNSSEC ne fait pas.
  • DoH– DNS over HTTPS (DoH) vise à résoudre le même problème général que DoT, mais le fait différemment. Comme le DoT, il peut être considéré comme complémentaire au DNSSEC.

Quels sont les arguments pour DNSSEC ?

De nombreuses personnes et organisations intelligentes sont fières de la sécurité et présentent des arguments en faveur du DNSSEC. Par exemple, CloudFlare est un grand partisan de DNSSEC depuis des années.

Compte tenu de ce que fait DNSSEC, il est assez facile d’en comprendre les arguments. Ils se résument à :

  • DNSSEC réduit considérablement la menace d’attaques de type MITM.
  • DNSSEC peut activer des fonctions telles que DANE qui peuvent encore améliorer la sécurité.
  • DNSSEC n’est pas trop difficile à mettre en œuvre et est rétrocompatible avec DNS.

Quels sont les arguments contre DNSSEC ?

Malgré les avantages et les gens intelligents qui plaident en sa faveur, DNSSEC est loin d’être la norme. Il peut même être en train de s’essouffler. Par exemple, le gouvernement américain a une fois mandaté DNSSEC pour les sites .gov (dans la note M-08-23), mais ils ont depuis annulé ce mandat.

Il existe des arguments techniques nuancés contre DNSSEC, mais je n’irai pas trop loin dans ce terrier de lapin ici. Au lieu de cela, examinons l’un des arguments les plus pratiques contre cela. C’est-à-dire : même si vous supposez que DNSSEC fait ce qu’il dit, la complexité n’en vaut pas la peine.

Le processus de validation DNSSEC ajoute plus de points de défaillance et de complexité au DNS. Par conséquent, il n’est pas rare qu’un site soit indisponible en raison d’un problème DNSSEC. Par exemple, une clé DNSSEC expirée a causé des problèmes avec Épices et un certain nombre d’autres sites qui utilisent Imperva/Incapsula plus tôt cette année. Compte tenu du risque de faire tomber votre site avec une mauvaise configuration, certains pensent que DNSSEC n’en vaut pas la peine. De plus, il y a un impact sur les performances (bien que souvent négligeable) avec DNSSEC.

Réflexions finales : devriez-vous utiliser DNSSEC ou non ?

La réponse à cette question dépend de votre tolérance au risque et de votre capacité à gérer DNSSEC. Si vous pouvez le déployer et le gérer sans trop de problèmes (ce qui est le cas pour beaucoup), ça vaut le coup. Si vous n’appréciez pas suffisamment la sécurité supplémentaire pour justifier la complexité accrue, ce n’est pas le cas.

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Laisser un commentaire