Frage localhost in einer DNS-Zone


Unser ISP beherbergt auch unseren externen DNS. Standardmäßig enthalten sie einen Eintrag für localhost.

Zum Beispiel: localhost.beispiel.com. 86400 IN A 127.0.0.1

Als ich sie gebeten habe, sie zu entfernen, geben sie mir eine harte Zeit und sagen, dass Bind genau so funktioniert.

Ich habe versucht zu recherchieren, warum ich das haben möchte, aber ich konnte nicht viel finden. Ich habe mindestens einen Ort gefunden, der es für einen möglichen XSS-Angriffsvektor hielt. Es scheint ziemlich üblich zu sein, also habe ich auf den Top 20 Website-Domains von Alexa gesucht und die meisten haben keinen solchen Eintrag, aber ein paar tun. Einige andere haben einen Eintrag, aber anstatt auf 127.0.0.1 zu zeigen, zeigen sie auf eine andere IP-Adresse, die für die Welt erreichbar ist.

Also, warum sollte ich in der Zone für meine Domain Locahost haben wollen? Haben sie irgendwelche Probleme damit, es nicht zu haben? Gibt es diesbezüglich irgendwelche Best Practices? Ist es tatsächlich eine Standard-Bind-Sache, die mir nicht bekannt ist?

Vielen Dank


13
2018-03-09 15:29


Ursprung


Gute Frage. Davon habe ich noch nie gehört. - TomTom
Ich habe sogar einen "Loopback" in meiner ISPs Zonendatei. WTF? - David Tonhofer


Antworten:


localhost.example.com ist manchmal auf internen DNS-Servern enthalten, um zu verhindern, dass "localhost" -Anfragen ins Internet gelangen (für den Fall, dass John Smith schreibt) http://localhost/ in seinem Browser & aus welchem ​​Grund auch immer sucht sein Resolver nicht in der Datei hosts, hängt seinen Suchpfad an (example.com) & fragt Nameserver nach dem, was das löst).

Sie müssen keinen localhost-Eintrag haben (und wenn Ihr ISP denkt, dass es "die Art und Weise ist, wie BIND arbeitet", sind sie entweder fehlgeleitet oder Idioten: BIND dient, was in der Zonendatei ist, und wenn sie die entfernen localhost Linie es wird aufhören, diesen Datensatz zu dienen). Als ein kostenloses Beispiel, localhost.google.com löst nicht, und ich wette, dass der NS für diese Domäne BIND ausführt.

Der XSS - Vektor ist etwas, an das ich nie gedacht hätte, aber es ist etwas besorgniserregend: eine localhost Ein Eintrag in Ihrem öffentlichen DNS bedeutet, dass jeder gehackte Rechner "in Ihrer Domäne" sein könnte (indem er einen Webserver unter 127.0.0.1 ausführt) und möglicherweise alle möglichen unangenehmen Dinge erledigt. Wahrscheinlich ein guter Grund, den Eintrag loszuwerden.


11
2018-03-09 16:08



Persönlich würde ich das denken localhost.some.test ist nur ein weiteres Opfer von nicht richtiges Punktende bekommen. Die Begründung hinter haben localhost. (Beachten Sie den Punkt!) ist klar, aber Punkte sind oft in DNS-Zonen vergessen. Dann entstand ein eigenes geheimnisvolles Leben. - poige
Sehen tools.ietf.org/html/rfc1537 Allgemeine DNS-Datendatei Konfigurationsfehler, die darauf hinweisen, dass der Eintrag localhost korrekt ist. - BillThor
Nein, rfc1537 legt das nicht fest. Es gibt an, dass Rekursoren einen lokalen Host haben müssen. Zone und eine Zone für die Rückseite. Nirgends heißt es, dass Ihre Zonen einen localhost-Eintrag benötigen. - Habbie
@BillThor Die Kommentare zu dieser anderen Antwort sind relevant für RFC 1537 und seinen Nachfolger (RFC 1912) - Wie Habbie erwähnt Zone  localhost. ist etwas, das wir haben sollen, aber die Praxis, eine zu haben localhost  Aufzeichnung in jeder Zone, die wir bedienen, ist in Ungnade gefallen. (Diese Frage führte mich tatsächlich vor fünf Jahren zu dem RFC-Kaninchenloch, vielleicht werde ich meine Antwort später mit dem neuen RFC & Gedanken aus diesem Kommentarthread aktualisieren :)) - voretaq7


Angenommen, Ihre interne Namensauflösung behandelt die Namensauflösung ordnungsgemäß. Daher sollte eine DNS-Anforderung für localhost niemals an Ihren externen DNS-Provider gesendet werden. Dies sollte also kein Problem darstellen.

Ein Grund Warum jemand würde dies tun, dass ich mir von Kopf bis Fuß denken kann, wenn jemand einmal ein Web-Authoring-Tool benutzt hat, das mit einer Last von absoluten Verweisen auf schraubt http: // localhost, aber das setzt voraus, dass Ihr ISP auch auf ihren DNS-Boxen hosting ist und es ist eine Totale.

Jedoch, RFC 1537  tut angeben:

Es gab ausführliche Diskussionen   darüber, ob die   lokale Domain dazu. Die Schlussfolgerung war   das "localhost." wäre das Beste   Lösung; die angegebenen Gründe waren:

  • "localhost" selbst wird verwendet und soll auf einigen Systemen funktionieren.

  • übersetzen 127.0.0.1 in "localhost.my_domain" kann einige verursachen    Software, um sich über die Loopback-Schnittstelle mit sich selbst zu verbinden    es wollte nicht.

Beachten Sie, dass alle Domänen enthalten   Hosts sollten einen "localhost" A haben   zeichne sie auf.

Genau genommen scheint es so, als wäre Ihr ISP korrekt, localhost einzuschließen, aber nicht korrekt, um den voll qualifizierten Namen zu verwenden.


3
2018-03-09 16:08



Sieht aus wie RFC-1537 wurde von RFC-1912, die die löscht Note that ... Sprache (ich würde als Antwort auf die möglichen XSS-Probleme raten, über die wir uns 1996 bewusst geworden wären :) 1537 Erklärt, warum es in den BIND-Templates zu finden ist. - voretaq7
meinst du, es sollte einen solchen Eintrag in der Zone für example.com geben: localhost. 86400 IN A 127.0.0.1; Notieren Sie den Zeitraum - matthew
4.1 von 1912 ist eigentlich ziemlich explizit darauf: ietf.org/rfc/rfc1912.txt - Maximus Minimus
5 Jahre später, aber es lohnt sich zu klären: 4.1 von RFC 1912 ist explizit, dass die localhost  Zone sollte auf dem Server existieren (also, wenn es eine Anfrage nur einfach "localhost" erhält es nicht die Kette auf den nächsten Server), das ist weit entfernt von der Aufnahme localhost in sagen example.com's Zone (Erstellen localhost.example.com), zu dem es ebenso ausdrücklich gehört, dass Sie es tun sollten nicht wegen möglicher unbeabsichtigter Nebenwirkungen tun. Es wird erwartet, dass "localhost" eine spezielle, magische, vollständig qualifizierte Domäne darstellt. - voretaq7


Ich bin mir nicht sicher, was der Punkt sein würde ... Standardmäßig würde die externe Adresse von der hosts-Datei überschrieben, die localhost fast immer auf 127.0.0.1 abbildet.

Eine Standard-BIND-Zonendatei enthält jedoch eine Localhost-Zone. Hab nie wirklich darüber nachgedacht.


0
2018-03-09 15:40



Dies ist nicht die Localhost-Zone (es sei denn, es handelt sich um eine Fehlkonfiguration dieser Zone). Es ist auch nicht der fqdn 'localhost'. und würde im Allgemeinen nicht von der lokalen hosts-Datei überschrieben werden. - matthew