Nosso ISP também hospeda nosso DNS externo. Por padrão, eles incluem uma entrada para localhost.
Por exemplo: localhost.example.com. 86400 IN A 127.0.0.1
Quando pedi a eles para removê-lo, eles me incomodam e dizem que é assim que o Bind funciona.
Eu tentei fazer alguma pesquisa sobre por que eu poderia incluir isso, mas não consegui encontrar muita coisa. Eu encontrei pelo menos um lugar que pensava ser um possível vetor de ataque XSS. Parece ser bastante comum, então eu fiz pesquisas nos 20 principais domínios de sites da alexa e a maioria não tem essa entrada, mas algumas têm. Alguns outros têm uma entrada, mas, em vez de apontar para 127.0.0.1, apontam para outro endereço IP de rota mundial.
Enfim, por que eu gostaria de ter o locahost na zona do meu domínio? Há algum problema em não tê-lo? Existe algum tipo de prática recomendada em relação a isso? É realmente uma coisa padrão do Bind que eu não conheço?
obrigado
fonte
Respostas:
localhost.example.com
às vezes é incluído em servidores DNS internos para impedir que solicitações de "host local" vazem para a Internet (no caso em que John Smith digitahttp://localhost/
em seu navegador e por qualquer motivo que seu resolvedor não procure no arquivo de hosts, acrescenta seu caminho de pesquisa (example.com
) & começa a perguntar aos servidores de nomes o que isso resolve).Você não precisa ter uma entrada de host local (e, se o seu provedor de serviços de Internet achar que é "a maneira como o BIND funciona", eles são mal orientados ou idiotas: o BIND serve o que está no arquivo de zona e, se remover a
localhost
linha, ele deixará de servir esse registro). Como exemplo gratuito,localhost.google.com
não resolve, e aposto que o NS desse domínio está executando o BIND.O vetor XSS é algo em que eu nunca pensei, mas é algo preocupante: ter uma
localhost
entrada no DNS público significa que qualquer máquina invadida pode estar "no seu domínio" (executando um servidor da Web no 127.0.0.1) e potencialmente todos os tipos de coisas desagradáveis. Provavelmente, uma razão boa o suficiente para se livrar da entrada.fonte
localhost.some.test
é apenas mais uma vítima de não conseguir um ponto final adequado. O raciocínio por trás de terlocalhost.
(observe o ponto!) É claro, mas os pontos geralmente são esquecidos nas zonas DNS. Então surgiu para ter sua própria vida misteriosa.localhost.
é algo que deveríamos ter, mas a prática de ter umlocalhost
registro em cada zona que servimos caiu. de favor. (Esta questão realmente levar-me para baixo que toca de coelho RFC 5 anos atrás, talvez eu vou atualizar a minha resposta com a nova RFC e pensamentos de esse segmento comentário mais tarde :))Supondo que sua resolução interna de nomes esteja lidando com a resolução de nomes corretamente, qualquer solicitação de DNS para host local nunca deve ir ao seu provedor DNS externo e, portanto, isso não deve ser um problema.
Uma razão pela qual alguém faria isso, que eu posso pensar de primeira, é se alguém já usou uma ferramenta de autoria da web que estragou com uma carga de referências absolutas a http: // localhost , mas isso pressupõe que seu O ISP também estava hospedando em suas caixas DNS e é um tiro no escuro.
No entanto, RFC 1537 não especifica:
Portanto, estritamente falando, parece que seu ISP está correto ao incluir host local, mas incorreto ao usar o nome completo.
fonte
Note that ...
idioma (eu acho que em resposta aos possíveis problemas de XSS dos quais começamos a conhecer em 1996 :) 1537 No entanto, explica por que está nos modelos BIND.localhost
zona deve existir no servidor (por isso, se ela recebe uma solicitação simplesmente "localhost", ela não passa a cadeia para o próximo servidor), longe de incluirlocalhost
naexample.com
zona do say (criarlocalhost.example.com
), o que é igualmente explícito ao dizer que você não deve fazer por causa de possíveis efeitos colaterais indesejados. A expectativa é que "localhost" seja um domínio especial, mágico e totalmente qualificado por si só.Não tenho certeza de qual seria o objetivo ... Por padrão, o endereço externo seria substituído pelo arquivo hosts, que quase sempre mapeia o localhost para 127.0.0.1.
Porém, um arquivo de zona BIND padrão inclui uma zona de host local. Realmente nunca pensei sobre isso.
fonte