É possível criar seu próprio servidor DNS raiz?

13

Estou curioso. Eu continuo lendo sobre como nossos ISPs e intermediários da Internet registram e acompanham todas as solicitações de DNS, basicamente deixando um rastro de migalhas de pão em muitos registros, e também permitindo sequestro de DNS para fins publicitários (estou olhando para você Cox Communications!). / p>

Independentemente de outros métodos de privacidade / segurança, eu gostaria especificamente de saber se é possível executar um servidor DNS em sua própria rede local _ que realmente tenha as informações de zona dos servidores DNS raiz (para .com ,. domínios net, .org).

Eu sei que você pode configurar o DNS que basicamente apenas mapeia máquinas no seu domínio, mas é possível basicamente solicitar uma cópia / transferência das informações do DNS raiz a serem armazenadas em seu próprio servidor DNS, para que você possa evitar a saída para o internet para informações de DNS em tudo para navegação na web?

Espero que esteja sendo claro. Eu não quero que meu servidor DNS tenha apenas informações sobre minha rede interna - eu quero que ele tenha informações duplicadas que os grandes servidores de DNS da Internet possuem, mas eu gostaria de ter essas informações localmente no meu servidor DNS.

Existe algo como as transferências de zona do BGP, mas para o DNS?

Atualização: Há algum software de produtos / OSS que poderia basicamente "raspar" essas informações da cadeia de DNS externa para o cache local em grandes quantidades, para que estejam prontas quando você precisar delas, em vez de armazená-las em cache quando solicitar explicitamente os registros de domínio?

    
por pythonnewbie 07.09.2010 / 22:34

6 respostas

12

O DNS por design não permite ter uma cópia autoritativa de todas as zonas, pois utiliza um sistema de nomes hierárquico.

Os servidores raiz têm autoridade para identificar o servidor responsável pelo Domínio de primeiro nível (TLD) em questão. Por exemplo, a resolução www.example.net consultará primeiro um servidor raiz para identificar o servidor de nomes autoritativo para .net . O .net nameserver identificará o servidor de nomes autoritativo para example.net , que retornará o registro para www.example.net .

Você não pode baixar uma cópia de todas as zonas. No entanto, você pode executar um servidor de nomes de armazenamento em cache local. O servidor de nomes de armazenamento em cache fornecerá uma cópia local de todos os registros resolvidos, que expiram usando o tempo de vida (TTL) especificado para o registro. Lembre-se de que minha explicação é uma descrição simplista do protocolo DNS, que pode ser explorada em detalhes lendo as definições na Solicitação. Para comentários .

Embora o seqüestro do NXDOMAIN possa ser evitado pela execução de um cache local, lembre-se de que todo o tráfego de resolução de DNS ainda será transmitido através da sua ligação à Internet não encriptada. Seu ISP poderia monitorar esse tráfego e ainda ver a comunicação. Os contratos que você tem com seu ISP, assim como suas leis locais, serão seus meios definitivos para estabelecer como suas comunicações são tratadas. Os contratos do seu ISP incluirão os Termos de Serviço, as Políticas de Privacidade e quaisquer contratos adicionais que você possa ter com o seu ISP.

O uso de protocolos criptografados é um dos melhores métodos para garantir seus dados contra interceptação durante o trânsito. No entanto, mesmo isso não garante o anonimato. Existem protocolos adicionais disponíveis, como Tor e Freenet , que tentam introduzir o anonimato na Internet, uma vez que nunca foi concebido para ser verdadeiramente anónimo.

    
por 07.09.2010 / 22:52
3

Algumas coisas:

Se você configurar seu servidor para usar as dicas de raiz em vez de usar encaminhadores, não precisará se preocupar com problemas do MITM (pelo menos dos invasores do ISP e do DNS). Para toda a resolução de DNS externo, seu servidor consultaria as dicas de raiz, que o encaminhariam aos servidores de gTLDs para o domínio de nível superior em questão (.com, etc.), que o encaminharia aos servidores NS do domínio em questão .

Se você realmente deseja criar seu próprio servidor raiz, certamente você pode, embora eu não veja como isso seria muito bom para você. Veja como você faz isso em um servidor DNS do Windows:

Faça o download do arquivo zona raiz do DNS e salve-o como root.dns em% systemroot% \ system32 \ dns no seu servidor DNS do Windows, use o assistente de criação de zona DNS para criar uma nova zona de pesquisa primária denominada "." (sem as aspas), desmarque a opção para criar uma zona integrada do AD, digite "." para o nome da zona (sem as aspas), selecione a opção para usar um arquivo existente e o campo de nome do arquivo de zona será automaticamente preenchido com o nome root.dns (se não for digitado), deixe a opção não permitir atualizações dinâmicas como estão, clique no botão de conclusão depois de percorrer cada etapa do assistente. Agora você tem um servidor raiz com zonas e registros de zona para todos os servidores do gTLD.

Observe que isso desabilitará as opções de encaminhamento e dicas de raiz no servidor (já que seu servidor agora é um servidor raiz) e também notará que, se as informações de gTLDs mudarem, não será possível que o servidor receba aviso sobre essas alterações.

    
por 08.09.2010 / 00:49
1

Para servidores intimamente relacionados, há transferências de zona. Estes funcionam muito como anúncios de BGP. Por motivos de segurança, eles geralmente são bloqueados para outros servidores.

Se você executar um servidor de nomes em cache, ele copiará a lista de servidores-raiz e, muito em breve, terá as raízes para .com, .net etc. Existe uma boa razão para o DNS ser distribuído. Caso contrário, todos estariam trabalhando com dados obsoletos. O tamanho do banco de dados seria muito grande e a maioria dos dados não é do seu interesse.

Existem opções para diminuir o risco de envenenamento de DNS e bons negócios de software com os problemas, à medida que se tornam conhecidos. Há organizações que trabalham no fornecimento de dados higienizados que podem ser usados como provedores de upstream. Estes irão filtrar algumas tentativas de envenenamento. Olhe para usar o OpenDNS ou o google como provedores de upstream.

As zonas de DNS raiz agora são assinadas e vejo cada vez mais meu servidor de e-mail relatar que os dados do DNS foram assinados. A assinatura do DNS foi relatada como um requisito para o IPV6. O DNS assinado torna o envenenamento de cache muito difícil, mas aumenta a dificuldade de gerenciar o DNS.

    
por 07.09.2010 / 23:18
1

Você pode certamente configurar seu próprio servidor e torná-lo autoritativo para a raiz, mas eu não sei de nenhuma maneira que você possa preenchê-lo com os arquivos de zona dos servidores-raiz. Você não pode simplesmente solicitar uma zonetransfer, então eu acho que você terá que preenchê-la mantendo seus caches.

Modifique o root.hints em seus outros servidores de nomes para apontá-los para seu servidor raiz privado e deixe o teste começar.

Mas lembre-se de que os servidores raiz só sabem quais servidores são autorizados para os TLDs, nada mais. Você essencialmente precisará recriar toda a hierarquia de servidores, o que parece ser uma tarefa impossível.

    
por 07.09.2010 / 23:17
0

Sim, um dos recursos dos servidores DNS é o cache local de consultas solicitadas com frequência, muitas vezes ignorando o ttl especificado.

Você certamente pode executar seu próprio dns, sem problemas. Mas os servidores raiz e servidores de domínio de nível superior, você terá que perguntar ao tio sam.

Registrar todos os pedidos de DNS é possível, mas seria insano.

    
por 07.09.2010 / 22:43
0

Você pode executar seus próprios servidores-raiz, se quiser, eles não são o que você acha que eles são. Verifique isso link

    
por 08.09.2010 / 09:42