Por que enviar um servidor de nomes com autoridade no DNS?

11

Por curiosidade, estou verificando os pacotes DNS do Wireshark. Eu posso ver que há uma consulta DNS do host e, em seguida, a resposta do DNS do servidor DNS. Tudo é exatamente como esperado.

No entanto, se você fizer check-in adicional na consulta, poderá ver que o servidor também envia o NS (servidor de nomes autoritativo). Minha pergunta é: por quê?

Como host, eu só me importo com o IP. Esse é o ponto principal do DNS , para resolver um nome em um endereço IP .

Por que, como host, eu precisaria das informações do NS?

    
por AhmedWas 05.11.2018 / 10:01

2 respostas

15

Tradicionalmente, os servidores de nomes não enviam uma resposta curta a uma consulta, mas um RFC 1034 - 1035 resposta completa compatível que inclui a seção de autoridade que contém Registros de Recursos que apontam para o (s) servidor (es) de nomes autoritativo (s).

O motivo provavelmente é porque, com a natureza distribuída e delegada do DNS, pareceu uma boa ideia incluir a "fonte da verdade" nas respostas.

Editar: A propósito: enviar a seção de autoridade é compatível com RFC, mas não obrigatório para todas as respostas de consulta.

No BIND, esse comportamento pode ser ajustado com a diretiva minimal-responses yes | no; , em que o padrão é no e as seções Autoridade e Adicional da resposta da consulta sempre serão totalmente preenchidas.
Outros servidores de nomes CloudFlare, AWS Route 53, Infoblocks e provavelmente outros já enviam sempre essas respostas mínimas por padrão. Os resolvedores públicos do Google retornarão uma seção de Autoridade quando disponível, Cloudflare.

Eu acho que a origem dessa tradição para incluir tanto a seção de autoridade quanto a resposta da consulta real encontra sua raiz no (pseudo) código do agora obsoleto RFC882 página 15-16

If the name server is not authoritative, the code copies 
the RRs for a closer name server into the response.  

The last section of the code copies all relevant RRs into the response.
    
por 05.11.2018 / 10:26
4

O servidor não sabe se a solicitação é proveniente de um cliente final ou se é uma solicitação recursiva de outro servidor de nomes. Se for outro servidor de nomes, pode armazenar em cache a seção Autoridade e consultar esses servidores de nomes diretamente no futuro.

Acredito que essa foi a justificativa original do protocolo, mas tem implicações de segurança. Uma resposta pode incluir uma Seção de Autoridade que lista servidores de nomes falsos, e isso tem sido usado em ataques de envenenamento de cache. Portanto, os servidores de nomes geralmente não armazenam em cache os registros NS, a menos que sejam registros de delegação para um subdomínio do domínio que você está consultando.

    
por 05.11.2018 / 18:11