O que é o DNS e como é que funciona?
O Sistema de Nomes de Domínio (DNS) é uma das bases da Internet, mas a maioria das pessoas fora das redes provavelmente não se apercebem que o utilizam todos os dias para fazer o seu trabalho, verificar o seu e-mail ou perder tempo nos seus smartphones.
No seu mais básico, o DNS é um directório de nomes que coincidem com os números. Os números, neste caso são endereços IP, que os computadores utilizam para comunicar uns com os outros. A maioria das descrições do DNS utilizam a analogia de uma lista telefónica, o que é bom para pessoas com mais de 30 anos que sabem o que é uma lista telefónica.
Se tiver menos de 30 anos, pense no DNS como a lista de contactos do seu smartphone, que combina os nomes das pessoas com os seus números de telefone e endereços de correio electrónico. Depois multiplique essa lista de contactos por todos os outros no planeta.
Um breve histórico de DNS
Quando a Internet era muito, muito pequena, era mais fácil para as pessoas corresponderem endereços IP específicos com computadores específicos, mas isso não durava muito tempo, uma vez que mais dispositivos e pessoas se juntavam à rede em crescimento. Ainda é possível digitar um endereço IP específico num browser para chegar a um website, mas depois, como agora, as pessoas queriam um endereço composto por palavras fáceis de lembrar, do tipo que hoje reconhecemos como um nome de domínio (como networkworld.com). Nos anos 70 e início dos anos 80, esses nomes e endereços foram atribuídos por uma pessoa – Elizabeth Feinler em Stanford – que mantinha uma lista principal de todos os computadores ligados à Internet num ficheiro de texto chamado HOSTS.TXT.
Esta era obviamente uma situação insustentável à medida que a Internet crescia, até porque Feinler só tratava dos pedidos antes das 18 horas, hora da Califórnia, e tirava uma folga para o Natal. Em 1983, Paul Mockapetris, um investigador da USC, foi encarregado de chegar a um compromisso entre múltiplas sugestões para lidar com o problema. Basicamente ignorou-as todas e desenvolveu o seu próprio sistema, que apelidou de DNS. Embora obviamente tenha mudado bastante desde então, a um nível fundamental ainda funciona da mesma forma há quase 40 anos atrás.
Como funcionam os servidores DNS
O directório DNS que faz corresponder o nome aos números não está todo localizado num único local num canto escuro da Internet. Com mais de 332 milhões de nomes de domínio listados no final de 2017, um único directório seria de facto muito grande. Tal como a própria Internet, o directório é distribuído por todo o mundo, armazenado em servidores de nomes de domínio (geralmente referidos como servidores DNS, para abreviar) que comunicam uns com os outros numa base muito regular para fornecer actualizações e redundâncias.
Servidores DNS autorizados vs. servidores DNS recursivos
Quando o seu computador quer encontrar o endereço IP associado a um nome de domínio, primeiro faz o seu pedido a um servidor DNS recursivo, também conhecido como resolvedor recursivo. Um resolvedor recursivo é um servidor que é normalmente operado por um ISP ou outro fornecedor de terceiros, e sabe quais os outros servidores DNS que precisa de pedir para resolver o nome de um sítio com o seu endereço IP. Os servidores que realmente têm a informação necessária são chamados servidores DNS autorizados.
Servidores DNS e endereços IP
Cada domínio pode corresponder a mais do que um endereço IP. De facto, alguns sítios têm centenas ou mais endereços IP que correspondem a um único nome de domínio. Por exemplo, o servidor que o seu computador alcança para www.google.com é provavelmente completamente diferente do servidor que alguém noutro país alcançaria digitando o mesmo nome de sítio no seu navegador.
Outra razão para a natureza distribuída do directório é a quantidade de tempo que demoraria a obter uma resposta quando estava à procura de um sítio se houvesse apenas um local para o directório, partilhado entre os milhões, provavelmente milhares de milhões, de pessoas que também procuram informação ao mesmo tempo. É uma longa linha para utilizar a lista telefónica.
O que é o caching DNS?
Para contornar este problema, a informação DNS é partilhada entre muitos servidores. Mas a informação para sítios visitados recentemente também é armazenada em cache localmente nos computadores clientes. É provável que utilize o google.com várias vezes por dia. Em vez de o seu computador consultar o servidor de nomes DNS para o endereço IP do google.com sempre, essa informação é guardada no seu computador para não ter de aceder a um servidor DNS para resolver o nome com o seu endereço IP. Caching adicional pode ocorrer nos routers utilizados para ligar clientes à Internet, bem como nos servidores do fornecedor de serviços Internet (ISP) do utilizador. Com tanto cache em curso, o número de consultas que realmente chegam aos servidores de nomes DNS é muito inferior ao que parece.
Como encontro o meu servidor DNS?
Em termos gerais, o servidor DNS que utiliza será estabelecido automaticamente pelo seu fornecedor de rede quando se ligar à Internet. Se quiser ver que servidores são os seus servidores principais – geralmente o resolvedor recursivo, como descrito acima – existem utilitários web que podem fornecer uma série de informações sobre a sua ligação de rede actual. Browserleaks.com é um bom serviço, e fornece muitas informações, incluindo os seus servidores DNS actuais.
Posso utilizar 8.8.8.8 DNS?
É importante ter em mente, no entanto, que embora o seu ISP defina um servidor DNS por defeito, não tem qualquer obrigação de o utilizar. Alguns utilizadores podem ter razões para evitar o DNS do seu ISP – por exemplo, alguns ISPs utilizam os seus servidores DNS para redireccionar pedidos de endereços inexistentes para páginas com publicidade.
Se desejar uma alternativa, pode, em vez disso, apontar o seu computador para um servidor DNS público que actuará como um resolvedor recursivo. Um dos servidores DNS públicos mais proeminentes é o do Google; o seu endereço IP é 8.8.8.8. Os serviços DNS da Google tendem a ser rápidos, e embora haja certas questões sobre os motivos ulteriores que a Google tem para oferecer o serviço gratuito, eles não podem realmente obter mais informações suas que não obtêm já do Chrome. O Google tem uma página com instruções detalhadas sobre como configurar o seu computador ou router para se ligar ao DNS do Google.
Como o DNS acrescenta eficiência
DNS está organizado numa hierarquia que ajuda a manter as coisas a funcionar rápida e suavemente. Para ilustrar, vamos fingir que queria visitar networkworld.com.
O pedido inicial do endereço IP é feito a um resolvedor recursivo, como discutido acima. O resolvedor recursivo sabe que outros servidores DNS precisa de pedir para resolver o nome de um sítio (networkworld.com) com o seu endereço IP. Esta pesquisa conduz a um servidor raiz, que conhece todas as informações sobre domínios de topo, tais como .com, .net, .org e todos os domínios de países como .cn (China) e .uk (Reino Unido). Os servidores raiz estão localizados em todo o mundo, pelo que o sistema normalmente direcciona-o para o mais próximo geograficamente.
Após o pedido chegar ao servidor raiz correcto, ele vai para um servidor de nome de domínio de primeiro nível (TLD), que armazena a informação para o domínio de segundo nível, as palavras utilizadas antes de chegar a .com, .org, .net (por exemplo, essa informação para networkworld.com é “networkworld”). O pedido vai então para o Domain Name Server, que detém as informações sobre o sítio e o seu endereço IP. Uma vez descoberto o endereço IP, este é enviado de volta ao cliente, que pode agora utilizá-lo para visitar o sítio web. Tudo isto demora apenas milissegundos.
Porque o DNS funciona há mais de 30 anos, a maioria das pessoas consideram-no como um dado adquirido. A segurança também não foi considerada na construção do sistema, pelo que os hackers tiraram o máximo partido disto, criando uma variedade de ataques.
Ataques de reflexão DNS
Ataques de reflexão DNS podem inundar as vítimas com mensagens de alto volume de servidores de resolução DNS. Os atacantes solicitam grandes ficheiros DNS de todos os resolvedores DNS abertos que conseguem encontrar e fazem-no utilizando o endereço IP falsificado da vítima. Quando os resolvedores respondem, a vítima recebe uma inundação de dados DNS não solicitados que sobrecarrega as suas máquinas.
Envenenamento de cache DNS
Envenenamento de cache DNS pode desviar os utilizadores para sítios Web maliciosos. Os atacantes conseguem inserir registos de endereços falsos no DNS para que, quando uma potencial vítima solicita uma resolução de endereço para um dos sites envenenados, o DNS responda com o endereço IP para um site diferente, um deles controlado pelo atacante. Uma vez nestes sites falsos, as vítimas podem ser enganadas a desistir de senhas ou sofrer descarregamentos de malware.
Exaustão de recursos do DNS
Ataques de exaustão de recursos do DNS podem entupir a infra-estrutura DNS dos ISPs, bloqueando os clientes dos ISPs de chegarem a sites na Internet. Isto pode ser feito por atacantes que registam um nome de domínio e utilizam o servidor de nomes da vítima como servidor autoritário do domínio. Assim, se um resolvedor recursivo não puder fornecer o endereço IP associado ao nome do sítio, irá perguntar ao servidor de nomes da vítima. Os atacantes geram um grande número de pedidos para o seu domínio e atiram para o arranque subdomínios inexistentes, o que leva a que uma torrente de pedidos de resolução seja disparada contra o servidor de nomes da vítima, esmagando-o.
O que é DNSSec?
DNS Security Extensions é um esforço para tornar mais segura a comunicação entre os vários níveis de servidores envolvidos na procura de DNS. Foi concebido pela Internet Corporation for Assigned Names and Numbers (ICANN), a organização responsável pelo sistema DNS.
ICANN tomou consciência dos pontos fracos na comunicação entre os servidores de directórios de nível superior, segundo e terceiro nível do DNS, que poderiam permitir aos atacantes sequestrar as buscas. Isso permitiria que os atacantes respondessem aos pedidos de consultas a sítios legítimos com o endereço IP para sítios maliciosos. Estes sites poderiam carregar malware para os utilizadores ou realizar ataques de phishing e pharming.
DNSSEC abordariam esta questão fazendo com que cada nível do servidor DNS assine digitalmente os seus pedidos, o que assegura que os pedidos enviados pelos utilizadores finais não são comandados por atacantes. Isto cria uma cadeia de confiança para que em cada etapa da procura, a integridade do pedido seja validada.
Além disso, DNSSec pode determinar se existem nomes de domínio, e se não existirem, não permitirá que esse domínio fraudulento seja entregue a requerentes inocentes que procuram ter um nome de domínio resolvido.
As mais nomes de domínio são criados, e mais dispositivos continuam a aderir à rede via Internet de coisas dispositivos e outros sistemas “inteligentes”, e à medida que mais sítios migram para IPv6, será necessário manter um ecossistema DNS saudável. O crescimento de grandes dados e análises também traz uma maior necessidade de gestão do DNS.
SIGRed: Uma falha de DNS wormable rears a sua cabeça
O mundo viu recentemente com bons olhos o tipo de fraqueza caótica que o DNS poderia causar com a descoberta de uma falha nos servidores DNS do Windows. A potencial falha de segurança, apelidada SIGRed, requer uma cadeia de ataque complexa, mas pode explorar servidores DNS Windows não corrigidos para potencialmente instalar e executar código malicioso arbitrário nos clientes. E a exploração é “wormable”, o que significa que se pode espalhar de computador para computador sem intervenção humana. A vulnerabilidade foi considerada suficientemente alarmante para que as agências federais dos EUA tivessem apenas alguns dias para instalar patches.
DNS sobre HTTPS: Uma nova paisagem de privacidade
Como se pode ver nesta escrita, o DNS está à beira de uma das suas maiores mudanças na sua história. O Google e a Mozilla, que em conjunto controlam a maior parte do mercado de navegadores, estão a encorajar uma mudança para o DNS sobre HTTPS, ou DoH, em que os pedidos DNS são encriptados pelo mesmo protocolo HTTPS que já protege a maior parte do tráfego web. Na implementação do Chrome, o navegador verifica se os servidores DNS suportam DoH, e se não suportam, reencaminha os pedidos DNS para o 8.8.8.8.
do Google. Paul Vixie, que fez grande parte do trabalho inicial sobre o protocolo DNS nos anos 80, chama à mudança um “desastre” para a segurança: as TI corporativas terão muito mais dificuldade em controlar ou dirigir o tráfego DoH que atravessa a sua rede, por exemplo. Ainda assim, o Chrome é omnipresente e o DoH será em breve ligado por defeito, pelo que veremos o que o futuro nos reserva.
(Keith Shaw é um antigo editor sénior da Network World e um escritor, editor e revisor de produtos premiado que escreveu para muitas publicações e websites em todo o mundo.)
(Josh Fruhlinger é um escritor e editor que vive em Los Angeles.)