localhost em uma zona DNS

14

Nosso ISP também hospeda nosso DNS externo. Por padrão, eles incluem uma entrada para o host local.

Por exemplo: localhost.example.com. 86400 IN A 127.0.0.1

Quando eu pedi a eles para removê-los, eles me davam uma dificuldade e diziam que era apenas o modo como o Bind funciona.

Eu tentei fazer algumas pesquisas sobre o motivo de querer 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. Ele parece ser bastante comum, então eu fiz pesquisas nos 20 principais domínios do site da alexa e a maioria não tem essa entrada, mas um casal faz. 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.

De qualquer forma, por que eu gostaria de ter locahost na zona para o 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

    
por matthew 09.03.2010 / 16:29

3 respostas

12

localhost.example.com às vezes é incluído nos servidores DNS internos para impedir que solicitações de "host local" vazem para a Internet (no caso em que John Smith digita http://localhost/ em seu navegador & por qualquer motivo que seu resolvedor não procure o arquivo hosts, anexa seu caminho de pesquisa ( example.com ) e começa a perguntar aos servidores de nome o que isso resolve.

Você não precisa ter uma entrada localhost (e se o seu ISP achar que é "a maneira como o BIND funciona", elas são equivocadas ou idiotas: o BIND exibe o que está no arquivo de zona e remove o localhost linha vai parar de servir esse registro). Como um 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 havia pensado, mas é uma preocupação: ter uma entrada localhost em seu DNS público significa que qualquer máquina hackeada pode estar "em seu domínio" (executando um servidor web em 127.0 .0.1) e potencialmente fazer todos os tipos de coisas desagradáveis. Provavelmente um bom motivo para se livrar da entrada.

    
por 09.03.2010 / 17:08
3

Supondo que a sua resolução interna de nomes esteja lidando corretamente com a resolução de nomes, qualquer solicitação de DNS para o host local nunca deve ir para o seu provedor de DNS externo e, portanto, isso não deve ser um problema.

Uma razão pela qual alguém faria isso, que eu possa pensar em cima da minha cabeça, é se alguém já usou uma ferramenta de autoria da web que errou com uma carga de referências absolutas para < href="http: // localhost"> link , mas isso pressupõe que seu ISP também esteja hospedando em suas caixas de DNS e é um tiro no escuro.

No entanto, RFC 1537 especifica

:

There has been extensive discussion about whether or not to append the local domain to it. The conclusion was that "localhost." would be the best solution; reasons given were:

  • "localhost" itself is used and expected to work on some systems.

  • translating 127.0.0.1 into "localhost.my_domain" can cause some software to connect to itself using the loopback interface when it didn't want to.

Note that all domains that contain hosts should have a "localhost" A record in them.

Assim, estritamente falando, parece que seu ISP está correto para incluir localhost, mas incorreto para usar o nome totalmente qualificado.

    
por 09.03.2010 / 17:08
0

Não sei qual seria o ponto ... Por padrão, o endereço externo seria sobreposto pelo arquivo hosts, que quase sempre mapeia localhost para 127.0.0.1.

Um arquivo de zona BIND padrão inclui uma zona localhost, no entanto. Nunca realmente pensei sobre isso.

    
por 09.03.2010 / 16:40