web-dev-qa-db-fra.com

Quel problème DNSSEC résout-il?

J'ai lu à travers les questions étiquetées dnssec sur ce site, et au fil des années, vous entendez des statistiques sur l'adoption de la DNSSEC et des organisations qui lui permettent de les domaines ... mais personne ne mentionne ce qu'ils essaient de résoudre . Eh bien, il "signe des réponses DNS", mais c'est une méthode et non un objectif.

"L'usurpation IP ne sera plus possible", "Tech News écrira lorsque le sujet se présente. Ou "DNSSEC permet aux propriétaires de noms de domaine de signer leurs enregistrements DNS" HowToGeek écrit . Pourtant, si j'attaque, en tant qu'atrimier, si j'étais une réponse DNS, je suis probablement un au milieu avec un accès apparent en lecture/écriture à la connexion, ce qui me permet de modifier le contenu indépendamment. Ou si quelqu'un utilise HTTPS, peu importe que je puisse utiliser l'adresse IP car je n'ai pas de certificat signé par CA correspondant.

Il n'a même pas de sens que les propriétaires de domaines peuvent signer leurs enregistrements DNS, car comment les clés publiques (utilisées pour signer les données) se retrouvent-elles avec les clients DNS? Au-delà, il semblait extrêmement inefficace de bavarder chaque réponse DNS, si vous combinez la clé publique avec les données signées, c'est une opération facile à échanger la clé publique avec la signature.

Une attaque censée contrecarré par DNSSEC est une intoxication du cache DNS, mais ce n'est pas un problème résolu en ayant des résolveurs récursifs utiliser des ports source randomisés?

De plus, je entendu de mon isp (Néerlandais) aujourd'hui qu'ils l'habitent. Ce n'est-ce pas les propriétaires de domaines qui ont signé les archives? De plus, je lis aussi le Sidn (propriétaire du TLD néerlandais .nl) qu'ils leur ont permis il y a quelque temps. Ils ont même un comptoir sur leur page d'accueil comptant le nombre de domaines compatibles DNSSEC. Certains registraires (par exemple, la transpose) l'ont également permis. Qui sonne ces choses: les propriétaires de domaines, les registraires ou les TLD?

Enfin, tout n'est pas signé. Il semble que certains domaines ont activé DNSSEC et certains ne le font pas (même s'ils sont tous deux du même domaine de niveau supérieur). Comment un client sache-t-il jamais s'il était censé être signé? Cela semble être une attaque facile de dépasser la signature lorsque vous allumez une réponse.

Quelqu'un pourrait-il expliquer:

  • quel est l'objectif de DNSSEC?
  • qui doit l'avoir activé pour que cela fonctionne?
  • qui signe un domaine?
  • comment les clients peuvent-ils détecter une signature enlevée?
14
Luc

Il résout la garantie d'intégrité. Il ne sera plus possible de mitmer une zone signée. À l'heure actuelle, tout le monde pourrait falsifier les enregistrements DNS, avec DNSSEC, ils ne peuvent pas. Le client connaît déjà la clé publique de la zone racine et peut vérifier la chaîne entière jusqu'à la zone.

Lorsque vous enregistrez un domaine, vous devez dire à la zone TLD où vivez vos noms de noms. À ce stade, vous pouvez également joindre un pubkey. La zone TLD signe votre entrée et à partir de ce moment-là, tout le monde peut vérifier l'intégrité de votre zone en vérifiant avec la zone TLD. Votre propre zone à tour de rôle peut signer ses enregistrements. Étant donné que votre pubkey est connu et vérifié, vous pouvez signer votre zone. La zone TLD à son tour est signée de la même manière à partir de la zone racine et que la clé publique est connue par le client DNS. De cette façon, si une personne essaie de répondre aux réponses DNS de Spoof, il devrait d'abord modifier votre client DNS pour remplacer la touche racine stockée ou désactiver complètement DNSSEC.

6
John Keates

1. Quel est l'objectif de DNSSEC?

DNSSEC signe des enregistrements DNS. Il ne crie pas, cela confirme simplement l'authenticité.

Les touches de signes racine des TLD (tels que .org ou .de), TLDS Signez les touches des registraires et les registraires signent les enregistrements DNS que vous avez (probablement) via leur interface Web.[2]

Vous pouvez également les signaler à vos clés afin que vous puissiez garder une zone inscrite vous-même.[3]

DNSSEC existe de champs ajoutés aux domaines. Ce n'est donc pas quelque chose qui fonctionne pour chaque site Web après votre activation de votre ordinateur. Si un registraire ne le prend pas en charge ou si un TLD ne le prend pas en charge, votre ordinateur ne peut tout simplement pas vérifier l'authenticité des enregistrements du domaine que vous interrogez.

2. Qui doit l'avoir activé pour que cela fonctionne?

Nous avons déjà couvert la racine, le TLD de votre choix et le greffier. Maintenant, les FAI ou d'autres résolveurs récursifs (par exemple, Opendns) peuvent également l'avoir activé ou non. L'avoir activé signifie que leurs résolveurs vérifieront les signatures et renvoyeront un code d'erreur si la validation échoue.[4]

Le client de l'utilisateur doit également avoir quelque chose d'activé pour pouvoir fonctionner: si votre client (E.G. Firefox) n'atteigne pas sur une signature non valide, les signatures n'apporteront jamais de valeur.[5]

3. Qui signe un domaine?

Le registraire signe votre enregistrement ou la clé avec laquelle vous signez vos enregistrements. Donc, vous faites confiance au greffier. Si vous ne faites pas confiance au registraire, vous devrez en avoir un autre. Et vous faites confiance au TLD, car ils pourraient simplement le signer avec n'importe quel essentiel qu'ils aiment (puisqu'ils peuvent signer les clés du registraire). Et vous faites confiance à la racine de la même raison.

4. Comment les clients peuvent-ils détecter une signature étant supprimée?

Si quelqu'un supprime la signature, vraisemblablement modifier des enregistrements sans déclencher une erreur de validation de la signature, il peut apparaître que le domaine n'a tout simplement pas activé DNSSEC. Cependant, le signataire parent (le TLD) aura mentionné que la DNSSEC aurait dû être activée pour le domaine et la réponse du TLD est signée afin que cela ne puisse pas être forgé.[6]

Alors, que si nous enlevons aussi la signature du TLD? D'accord, la racine nous dira (avec la signature) que le TLD aurait dû être activé.

Si la racine est digne de confiance et que la racine ne signale que les TLD légitimes, et le TLD est digne de confiance, et le TLD ne signale que des bureaux d'enregistrement et le registraire est digne de confiance, vous pouvez être sûr que les enregistrements signés sont venus directement des propriétaires de domaine.

5. Bonus: DNSSEC a-t-il des problèmes?

Cela rend les réponses plus grandes (pas une sécurité mais une question de performance) et aide à dénombrer le domaine.

L'énumération de domaine est rendue possible à cause de la manière dont ils ont résolu la signature nexomaine. La signature est censée être faite hors ligne afin que les serveurs de noms n'ont pas à signer des choses à la volée. Mais comment signer une réponse, à l'avance, pour quelque chose qui n'existe pas? En signant une réponse qui dit "entre ftp.example.com. Et mail.example.com. Il n'y a pas d'autres enregistrements" et de retour que quand quiconque demande quelque chose comme JKL.Example.com.com.[1]

Maintenant, pour énumérer, vous commencez avec aaaa.example.com. Et cela vous dira le premier enregistrement, comme ftp.example.com. Ensuite, vous demandez ftq.example.com (un personnage incrémenté) et il vous donnera le prochain enregistrement.

Cela a été résolu en hachage les noms et en passant "entre hashes A8FBA8 [...] et da8a8bfdf [...] Il n'y a pas d'autres enregistrements". Ceci s'appelle NSEC3.[8] Cela permet toujours à l'énumération de hachage, puis hors ligne fissuant les hachages, qui sont des ordres de magnitudes plus rapides et plus furtifs que devinant en interrogeant les serveurs de noms.[9]

C'est une discussion en cours sur laquelle il s'agit d'un problème que les noms peuvent être énumérées. Les personnes qui conçoivent DNSSEC disent généralement que le système DNS était censé être un journal de téléphone public; Les personnes qui déploient des serveurs DNS préfèrent généralement garder leur carnet de téléphone privé.[7]


[1] https: //fr.wikipedia.org/wiki/domain_name_system_security_extensions#zone_enmeration_issue.ft_controvery.2c_and_nsec3

[2] https: //fr.wikipedia.org/wiki/domain_name_system_security_extensions#OPERATION

[3] "Vous dites à votre registraire votre empreinte de la clé de signature en créant un enregistrement DS" https: //security.stackexchange.com/a/11571/10863

[4] "Ils permettent à leurs résolveurs DNS (que vous utilisez pour traduire des noms de domaine fantaisie en adresses IP) pour vérifier DNSSEC. Donc, à partir de maintenant, si vous demandez à votre FSP pour l'adresse IP pour un domaine et que la signature est invalide, vous allez Obtenez une erreur au lieu de la mauvaise adresse IP. " sécurité.stackexchange.com/questions/142604/what-problem-does-dnsssec-solve?noreDirect=1#COMMENT267595_142626

[5] "Il appartient au client de préférer (ou d'alerter) sur des réponses non signées, tout comme TLS sur un navigateur Web." sécurité.stackexchange.com/questions/142604/what-problem-does-Dnsssec-solve?norediref=1#COMMENT267602_142604

[6] https: //fr.wikipedia.org/wiki/domain_name_system_security_extensions#recursive_nose_servers "S'il y a un enregistrement DS pour" exemple.com ", mais pas de rrsig enregistrer dans la réponse, quelque chose ne va pas et peut-être qu'un homme à l'attaque moyenne se passe "

[7] https: //security.stackexchange.com/a/11571/10863 "DNS (et DNSSEC) a été conçu principalement par les personnes dans le premier camp; [...] les serveurs ont tendance à être géré par des personnes dans le deuxième camp "

[8] https: //security.stackexchange.com/a/126518/10863

[9] https: //dnscurve.org/nsec3walker.html Voir "Travail futur"

5
Luc