Y a-t-il une limite officielle à l'indirection du serveur de noms?

8

Les enregistrements de colle ne sont généralement pas disponibles si un domaine et son serveur de noms ne partagent pas un TLD, et ne sont techniquement pas nécessaires s'ils ne partagent pas le même domaine de deuxième niveau, ce qui pourrait entraîner des étapes supplémentaires pour résoudre un domaine. Le résolveur doit d'abord rechercher l'adresse du serveur de noms avant de pouvoir trouver l'adresse de votre domaine. Mais théoriquement, vous pouvez ajouter plus d'étapes que ces deux-là.

La question ici est de savoir combien de temps cette chaîne peut être autorisée ?

si xyz.comutilise le serveur de noms ns1.xyz.info,
et xyz.infoutilise le serveur de noms ns1.xyz.co,
et xyz.coutilise le serveur de noms ns1.xyz.cc,
et xyz.ccutilise le serveur de noms ns1.xyz.co.uk, ... et ainsi de suite

... vous pourriez vous retrouver avec une très longue chaîne pour que le résolveur se démêle avant de pouvoir résoudre le nom que vous vouliez à l'origine.

Vraisemblablement, il y a une limite pratique - BIND ne devrait être disposé à traverser que de nombreux liens, sinon il y a un potentiel de déni de service. Mais y a-t-il une limite officielle? Un certain nombre d'étapes au-delà desquelles le résolveur n'est officiellement pas tenu de procéder?

tylerl
la source
1
La section "limitation de la quantité de travail" dans tools.ietf.org/html/rfc1035#section-7.1 me vient à l'esprit. Ce n'est pas vraiment précis quant à ce que devrait être la limite, mais je ne suis pas au courant qu'il existe une règle précise à ce sujet.
Håkan Lindqvist
De plus, pouvez-vous élaborer sur un scénario réel où vous prévoyez que cela pose un problème (il semble très peu probable dans la pratique) ou la question est-elle de nature purement académique?
Håkan Lindqvist
@ HåkanLindqvist Je construis actuellement un outil qui recherche les problèmes dans les configurations DNS. C'est l'un des problèmes à rechercher. La question est de savoir à quelle profondeur le système doit-il récidiver pour rechercher d'autres problèmes avant de simplement abandonner.
tylerl
1
@tylerl Vous voudrez peut-être consulter github.com/dotse/dnscheck .
Jenny D
@JennyD oui, il y a plusieurs projets comme ça. Mais j'en construis un qui, je l'espère, donne de meilleurs détails et est plus facile à comprendre. Mais merci de l'avoir signalé.
tylerl

Réponses:

1
if xyz.com uses nameserver ns1.xyz.info,

Dans ce cas, votre résolveur local demandera d'abord aux serveurs .com(par exemple a.gtld-servers.net) où trouver les serveurs de noms pour le domaine xyz.com. Le serveur de domaine .com fournira généralement des enregistrements de colle pour les adresses IP des serveurs de noms pour le domaine xyz.com.

par exemple:

$ dig  gmail.com @a.gtld-servers.net 

; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> gmail.com @a.gtld-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46893
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 5
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;gmail.com.         IN  A

;; AUTHORITY SECTION:
gmail.com.      172800  IN  NS  ns2.google.com.
gmail.com.      172800  IN  NS  ns1.google.com.
gmail.com.      172800  IN  NS  ns3.google.com.
gmail.com.      172800  IN  NS  ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.     172800  IN  A   216.239.34.10
ns1.google.com.     172800  IN  A   216.239.32.10
ns3.google.com.     172800  IN  A   216.239.36.10
ns4.google.com.     172800  IN  A   216.239.38.10

;; Query time: 375 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Thu Jul 10 01:10:57 EST 2014
;; MSG SIZE  rcvd: 181

D'après mon expérience, votre affirmation selon laquelle "les enregistrements de colle ne sont généralement pas disponibles si un domaine et son serveur de noms ne partagent pas un TLD" n'est tout simplement pas vraie. Il dépend cependant des données fournies par le bureau d'enregistrement pour le domaine, et leurs politiques varient. Certains nécessitent que l'adresse IP soit spécifiée. Certains laissent cela au propriétaire du domaine. Je pense que je me souviens d'un en Australie qui ne les soutient pas. Si le nombre de bureaux d'enregistrement traitant du domaine de votre pays est faible, cela peut peut-être être vrai dans cette partie de l'espace du domaine, mais pour le réseau dans son ensemble, cela est atypique.

C'est certainement une bonne pratique pour les propriétaires de domaine de fournir des enregistrements Glue, mais parfois la possibilité de spécifier un serveur DNS par son nom sans clouer l'IP est considérée comme offrant une flexibilité, et de nombreux propriétaires de domaine ne comprennent pas le problème de performances que cela crée.

Si vous fournissez un outil de rapport DNS, est-ce vraiment la limite absolue d'une telle mauvaise configuration qui vous intéresse? Il est certainement plus important pour vous de signaler les enregistrements de colle manquants comme un avertissement si un seul problème d'enregistrement de colle manquant se présente. Vous voulez probablement suivre au moins quelques indirections telles que celles que vous fournissez (et signaler leurs enregistrements de colle manquants), mais il doit y avoir des limites dans la mesure où vous devez suivre cela. Je serais très heureux si un outil de rapport DNS avertissait des 3 premiers, car je ne serais vraiment intéressé que par l'ajout des enregistrements de colle à mon domaine ou par le changement de fournisseur DNS pour le domaine vers un plus compétent.

Je doute de votre approche DOS proposée sur BIND, car BIND mettra en cache les informations qu'il recueille sur l'emplacement des serveurs de noms. Un attaquant devrait configurer un grand nombre de domaines sans colle, puis effectuer de nombreuses requêtes à leur sujet. Le coût de mise en place de domaines qui seraient probablement annulés par le bureau d'enregistrement après utilisation est susceptible de rendre cela peu attrayant pour un attaquant.

mc0e
la source
1
.com et .net sont tous deux verisign. Ils sont l'exception. en.m.wikipedia.org/wiki/Verisign
tylerl
Les «exceptions» semblent couvrir la plupart des TLD avec lesquels j'ai travaillé, mais oui, il y a certainement des domaines où les enregistrements de colle ne sont pas présents.
mc0e