Notre FAI héberge également notre DNS externe. Par défaut, ils incluent une entrée pour localhost.
Par exemple: localhost.example.com. 86400 DANS UN 127.0.0.1
Quand je leur ai demandé de le retirer, ils me donnent du fil à retordre et disent que c'est juste la façon dont Bind fonctionne.
J'ai essayé de faire des recherches sur les raisons pour lesquelles je pourrais vouloir inclure cela, mais je n'ai pas trouvé grand-chose. J'ai trouvé au moins un endroit qui pensait que c'était un vecteur d'attaque XSS possible. Cela semble être assez courant, j'ai donc effectué des recherches sur les 20 principaux domaines de sites Web d'Alexa et la plupart n'ont pas une telle entrée, mais quelques-uns en ont. Quelques autres ont une entrée, mais au lieu de pointer vers 127.0.0.1, ils pointent vers une autre une adresse IP à itinéraire mondial.
Alors, pourquoi voudrais-je avoir locahost dans la zone de mon domaine? Leurs problèmes sont-ils de ne pas l'avoir? Existe-t-il une sorte de meilleure pratique à ce sujet? Est-ce en effet une chose Bind par défaut que je ne connais pas?
Merci
la source
Réponses:
localhost.example.com
est parfois inclus sur les serveurs DNS internes pour empêcher les requêtes "localhost" de fuir sur Internet (dans le cas où John Smith tapehttp://localhost/
dans son navigateur et pour une raison quelconque son résolveur ne regarde pas dans le fichier hosts, ajoute son chemin de recherche (example.com
) & commence à demander aux serveurs de noms ce que cela résout).Vous n'avez pas besoin d'avoir une entrée localhost (et si votre FAI pense que c'est "la façon dont BIND fonctionne", il est soit erroné, soit idiot: BIND sert ce qui se trouve dans le fichier de zone, et s'il supprime la
localhost
ligne, il cessera de la servir. record). À titre d'exemple gratuit,localhost.google.com
ne résout pas, et je parie que le NS pour ce domaine exécute BIND.Je n'avais jamais pensé au vecteur XSS, mais c'est quelque chose de préoccupant: avoir une
localhost
entrée dans votre DNS public signifie que n'importe quelle machine piratée pourrait être "dans votre domaine" (en exécutant un serveur Web sur 127.0.0.1) et potentiellement le faire toutes sortes de choses désagréables. Probablement une raison suffisante pour se débarrasser de l'entrée.la source
localhost.some.test
c'est juste une autre victime de ne pas obtenir une fin de point correcte. Le raisonnement derrière avoirlocalhost.
(notez le point!) Est clair, mais les points sont souvent oubliés dans les zones DNS. Puis il a eu sa propre vie mystérieuse.localhost.
est quelque chose que nous sommes censés avoir, mais la pratique d'avoir unlocalhost
enregistrement dans chaque zone que nous servons est tombée de faveur. (Cette question m'a en fait conduit dans le trou du lapin RFC il y a 5 ans, peut-être que je mettrai à jour ma réponse avec le nouveau RFC et les pensées de ce fil de commentaire plus tard :))En supposant que votre résolution de noms interne gère correctement la résolution de noms, toute demande DNS pour localhost ne doit jamais être envoyée à votre fournisseur DNS externe, et cela ne devrait donc pas du tout être un problème.
Une raison pour laquelle quelqu'un ferait cela, à laquelle je peux penser du haut de ma tête, est si quelqu'un a déjà utilisé un outil de création Web qui a foiré avec une charge de références absolues à http: // localhost , mais cela suppose que votre Le FAI hébergeait également sur leurs boîtiers DNS et est un plan à long terme.
Cependant, la RFC 1537 ne précise:
Donc, à strictement parler, il semble que votre fournisseur de services Internet soit correct pour inclure localhost, mais incorrect pour utiliser le nom complet.
la source
Note that ...
langage (je suppose qu'en réponse aux problèmes XSS potentiels dont nous aurions commencé à être conscients en 1996 :) 1537 Explique cependant pourquoi il est dans les modèles BIND.localhost
zone doit exister sur le serveur (donc si elle obtient une requête simplement "localhost", elle ne la transmet pas en amont au serveur suivant), c'est un loin de l'inclurelocalhost
dansexample.com
la zone de say (créationlocalhost.example.com
), ce qui est tout aussi explicite en disant que vous ne devriez pas le faire en raison d'effets secondaires involontaires possibles. On s'attend à ce que «localhost» soit un domaine spécial, magique et pleinement qualifié à part entière.Je ne sais pas quel serait le point ... Par défaut, l'adresse externe serait écrasée par le fichier hosts, qui mappe presque toujours localhost à 127.0.0.1.
Un fichier de zone BIND par défaut comprend cependant une zone localhost. Je n'y ai jamais vraiment pensé.
la source