Este é o Joel, responsável pela rede do conhecido provedor de Internet ACME. Há alguns dias, passando pela praça na hora do almoço, ele percebeu que havia algumas mangas quase maduras na árvore mais bonita que havia ali. Engraçado.
Ele nunca tinha visto aquelas mangas antes. Pensando bem, ele nunca nem tinha reparado que havia uma mangueira naquele lugar… E já tinha aproveitado sua sombra muitas vezes, após o almoço. Mas até hoje, a árvore tinha sido invisível pra ele… Talvez Joel estivesse em um estado mais contemplativo que o habitual… O caso é que estava preocupado, porque tinha em suas mãos o desafio de melhorar a percepção de qualidade dos usuários da ACME Internet.
Ele estava cuidando de melhorar a redundância, de aumentar a banda disponível nos enlaces, melhorar a gerência da rede e de muitas outras coisas óbvias. Mas depois do 'encontro' com a mangueira na praça, começou a pensar se não estava deixando nada de lado… Será que haveria alguma tecnologia também invisível pra ele? Ele resolveu buscar na rede: www ponto… Ahh… o DNS… Tudo na Internet usa nomes!
Será que o DNS tinha alguma importância para a qualidade da rede? A resposta obviamente é sim. .
. E este é o vídeo: "A importância do DNS nas redes", feito pelo NIC. br.
Antes de continuarmos com a história do Joel, vale a pena ver também o vídeo: "Como funciona a Internet - parte 3: DNS" (https://www. youtube. com/watch?
v=ACGuo26MswI), que explica para leigos, em apenas alguns minutos, o funcionamento do DNS. Vamos também rever aqui e entender melhor alguns detalhes sobre o sistema de nomes da Internet. A primeira solução para associar os endereços numéricos usados na rede à nomes fáceis de lembrar, foi criar um arquivo chamado 'hosts.
txt', com essas informações. Cada computador na rede tinha sua própria cópia! E cada vez que havia uma mudança, ele tinha que ser atualizado.
Essa solução centralizada simplesmente não escalava. Teve que ser modificada, com o crescimento da rede! O DNS hoje é um sistema hierárquico e distribuído.
Os nomes são divididos em categorias e sub-categorias. A informação continua sendo armazenada em arquivos similares ao hosts. txt, chamados de arquivos de zona.
Eles ficam armazenados nos servidores DNS autoritativos. Um para cada nome, nos diferentes níveis de hierarquia. Assim, quando há uma alteração, apenas o arquivo correspondente precisa ser alterado, localmente.
Isso facilita muito as coisas, e permite que o sistema seja escalável. Obviamente o DNS precisa ter redundância. Por isso em cada nível há um servidor master, que tem sempre a informação mais atualizada, e um ou mais slaves, que são cópias automáticas do master.
Em um arquivo de zona há diversos Resource Records, que são as informações registradas. Podem ser de diversos tipos. Por exemplo, o record SOA, cuja principal informação é a própria versão do próprio arquivo, que é útil para a atualização dos servidores slave.
O record A vincula um nome a um endereço IPv4. O record AAAA vincula um nome a um endereço IPv6. O CNAME vincula um nome a outro nome.
O NS serve para informar os servidores de DNS que armazenam a própria informação da zona, ou seja, desse subnível da árvore do DNS, e também dos níveis que estão imediatamente abaixo. O PTR, vincula um IP a um nome, o que é chamado de DNS reverso. O MX indica os servidores responsáveis por receber os e-mails.
Entre diversos outros… As consultas ao DNS são feitas por meio de um servidor chamado de Recursivo, que também funciona como um cache (ou memória) para as informações. As consultas começam pela raíz, e vão sendo feitas sucessivamente para os servidores nos diversos níveis da árvore, até que se chegue ao servidor DNS Autoritativo que efetivamente tem a informação solicitada. As informações no DNS possuem um campo chamado TTL, que indica o tempo que podem ficar na memória de um servidor recursivo, antes que seja feita uma nova consulta.
Joel lembrou que na ACME eles estavam implantando IPv6. Então era importante atualizar o DNS, acrescentando o campo AAAA correspondente para cada computador ou servidor onde o IPv6 fosse ativado. Mas a 'árvore invisível' da rede da ACME não estava aí… A sacada de Joel foi finalmente perceber que todos os usuários da ACME faziam consultas ao DNS por meio de um servidor recursivo, que também podia funcionar como um cache.
A ACME ainda não tinha um servidor recursivo próprio. Com um recursivo bem configurado, na rede da própria ACME, os usuários passarão a fazer essas consultas muito mais rapidamente! Vão perceber uma melhoria significativa no desempenho da rede!
Joel ficou realmente empolgado quando percebeu tudo isso! O principal cuidado seria limitar o acesso aos próprios usuários da ACME. Joel sabia que os servidores DNS as vezes eram usados para ataques de negação de serviço.
Ou seja, alguém com más intenções poderia enviar consultas com pacotes com a origem falsificada, 'espoofada'. Na rede da ACME isso era impossível, porque eles implementavam filtros antispoofing nos roteadores, recomendados na BCP 38. Mas infelizmente nem todos faziam isso ainda.
As consultas DNS usavam pacotes pequenos, então com pouca banda seria possível fazer muitas consultas… As respostas do servidor DNS, contudo, seriam significativamente maiores… E seriam dirigidas ao IP falsificado, à vítima do ataque. Dessa forma poderiam levar à interrupção do serviço, considerando que a vítima não teria capacidade de receber ou tratar tudo… Joel tomaria todo cuidado para não deixar um servidor recursivo aberto à toda Internet, principalmente sabendo que essa era a configuração padrão para alguns tipos de servidores DNS. Outro cuidado que Joel tomaria, seria o de habilitar o DNSSEC em seus servidores recursivos.
O sistema DNS em si não é totalmente seguro. Alguém com más intenções pode conseguir inserir uma resposta errada na cadeia das consultas feitas pelo recursivo, por exemplo usando um ataque de men-in-the-middle. Essa resposta errada pode redirecionar o usuário para um site falso.
Por exemplo, pode redirecionar a consulta feita a um banco para outro site, que será muito parecido com o original para tentar enganar o usuário e capturar sua senha. O DNSSEC é um recurso que implementa criptografia e permite que a autenticidade das respostas seja sempre verificada, aumentando muito a segurança do sistema como um todo. Mas pra isso, ele tem que ser configurado corretamente tanto nos diversos servidores autoritativos, como nos recursivos.
O DNS também serve para fazer a tradução no sentido inverso. Ou seja, quando informado um endereço IP, o DNS indica o nome associado a ele. Isso é feito usando nomes especialmente criados com essa finalidade na árvore: o in-addr.
arpa, para o IPv4, e o ip6. arpa, para o IPv6. Os IPs são invertidos e organizados como subdomínios.
No IPv4 são separados a cada octeto. E no IPv6, a cada caracter hexadecimal. No IPv4 é uma boa prática configurar nomes, ou seja, os reversos, para cada IP.
No IPv6 isso é impossível. É uma boa prática configurar os reversos para os IPs que são atribuídos estaticamente, por exemplo, endereços IPv6 de servidores, roteadores, etc. A ACME Internet gerenciava seu próprio bloco de IPs.
Não fazia muito tempo que eles haviam se tornado um Sistema Autônomo… E eles ainda hão haviam configurado o DNS reverso. O DNS reverso ainda era um mistério para o Joel, e ele teve que pesquisar mais sobre o assunto… Encontrou o vídeo "DNS e DNS Reverso", de um tutorial feito no evento GTER 36, pelo Rafael, do Registro. br (https://www.
youtube. com/watch? v=VIa1dHtmQ4U).
Foram 35 minutos que realmente valeram a pena! Finalmente ele entendeu que o reverso tem duas utilidades principais: Ele facilita o diagnóstico de problemas na rede. Por exemplo, o endereço aparece em comandos do tipo traceroute.
Isso seria muito útil para a ACME. O reverso também é usado para fazer a validação de e-mails… A ACME não oferecia um serviço de e-mails para seus clientes de acesso à Internet, mas isso podia explicar alguns problemas recentes de entrega de e-mails que estavam acontecendo com o servidor corporativo… Joel decidiu. Criaria logo um servidor autoritativo de DNS para o reverso.
Ele iria configurar os reversos de todo o bloco IPv4, e dos endereços IPv6 usados nos servidores e roteadores da ACME. Joel estava realmente feliz por ter reparado naquela mangueira na praça. Ela o ajudou a ver como estava deixando de lado algo tão importante como o DNS na administração da rede da ACME.
Será que ele tinha algum outro ponto cego? Alguma outra coisa importante que estava deixando passar? Não deixe nenhum assunto importante de lado.
Acompanhe os vídeos no NIC. br no canal NICbrVideos, do Youtube.