Servidores raiz de DNS

dns

O Sistema de Nomes de Domínios, ou DNS, é o protocolo utilizado desde a década de 80 para resolução de nomes de domínio, permitindo que, através de um nome legível, obtenha-se um endereço IP da máquina física onde o domínio está hospedado. Atualmente os servidores de DNS estão por toda parte. Organizados em uma hierarquia de nomes distribuída e escalável, os servidores são responsáveis por resolverem as consultas vindas do mundo inteiro (como os servidores raiz) ou de apenas uma rede restrita (como os servidores particulares), conforme configurados.

No topo da hierarquia dos servidores de DNS está a zona raiz de DNS, onde estão os servidores raiz (root servers). Responsáveis por indexar os servidores de mais alto nível dentro da hierarquia de DNS (em um arquivo chamado Aqruivo de Zonas Raiz), conhecidos como servidores autoritativos, os servidores raiz são os elos que ligam a rede mundial e tornam o acesso à Internet algo possível a todos. Os servidores raiz são mantidos por diversas empresas e instituições ao redor do globo, onde contam com suporte constante para que tudo se mantenha em ordem e em segurança.

DNS – Domain Name System

O Sistema de Nomes de Domínio foi introduzido em 1984 ([15]WIKIPEDIA), permitindo o balanceamento de carga entre diversos servidores hierárquicos ao redor do mundo, possibilitando uma maior abrangência e velocidade nas consultas de nomes. Antes dele, as máquinas tinham de possuir arquivos extensos com listas de hosts e seus respectivos Ips para realizar as resoluções de nomes. Obviamente, era um sistema falho e nem um pouco escalável, pois quanto mais máquinas fossem sendo adicionadas, maior se tornava o arquivo e mais lentas as consultas.

Basicamente, o que o servidor de DNS faz é uma tradução do nome de um domínio para um endereço IP e vice-versa (DNS reverso). Os servidores de nomes de domínio possuem uma organização hierárquica distribuída, onde cada parte do nome de um domínio pertence a um nível hierárquico diferente e as consultas DNS são feitas das folhas até a zona raiz, onde estão os servidores raiz de DNS.

Considerando TESTE.COM.BR o nome de um domínio fictício digitado na barra de endereços de seu navegador, fará com que o mesmo faça uma requisição ao seu servidor de DNS (devidamente configurado) para descobrir qual é o IP do host onde está alocado os recursos daquele site. Imediatamante, a requisição será enviada para o servidor autoritativo de domínios  .BR (última parte do nome e primeiro nível na hierarquia de DNS). Uma vez neste servidor, é requisitada a resolução do nome .COM até que, chegando a requisição neste servidor, o mesmo resolverá o nome TESTE e retornará o IP onde o domínio está hospedado. Olhando desta forma, podemos ver que os nomes de domínio nada mais são do que “máscaras” que tornam mais fácil a leitura de endereços na web, e o DNS, é o protocolo encarregado de proporcionar este recurso.

Atualmente, devido a inúmeros problemas de segurança, o DNS possui uma extensão chamada de DNSSEC, onde os dados das resoluções de nomes são criptografados utilizando  chaves assimétricas ([16]WIKIPEDIA). No entanto, a tecnologia mais utilizada ainda é o DNS tradicional, que apesar das falhas de segurança é simples, escalável e eficiente.

Zona raiz de DNS

Considerando que a resolução de nomes é feita de um modo hierárquico, das folhas à raiz, a zona raiz de DNS ([17]WIKIPEDIA) é o mais alto nível dentre as zonas de DNS. Ela refere-se à zona raiz do maior sistema de DNS do mundo, desenvolvido para a Internet e gerenciada pelo IANA (Internet Assigned Numbers Authority).

Uma combinação de limites nos protocolos de DNS e IP resultou, na data de criação desta zona, em um número limitado de endereços de servidores raiz que puderam ser acomodados em respostas à consultas DNS. Este limite determinou inicialmente o número de servidores que poderiam ser instalados, totalizando 13 servidores, que foram nomeados com letras de A a M.

Atualmente as limitações iniciais não são mais aplicáveis e foi possível expandir a rede utilizando técnicas mais recentes como anycast ([18]WIKIPEDIA), onde um mesmo servidor físico é replicado em diversos outros lugares e conforme a localização de uma consulta DNS, o servidor mais perto da consulta resolve a mesma. Desta forma, os servidores que inicialmente eram 13, se tornaram mais de 190 ([4]ROOT-SERVERS).

Servidores raiz de DNS

São 13 o número de servidores que respondem às consultas de DNS globais aos domínios de mais alto nível, conhecidos como top-level domains ([4]ROOT-SERVERS). Estes servidores são os pilares que sustentam a Internet mundial e fazem com que, onde quer que se esteja, um usuário possa digitar o nome de um domínio e seu browser o redirecionará para o servidor onde o endereço está localizado. Eles são chamados de servidores raiz ou root servers. Nas sub-seções seguintes eles são descritos ligeiramente, com informações acerca das instituições responsáveis pelos mesmos e algumas curiosidades.

Servidor A: A instituição responsável é a Verisign e o cluster de servidores A conta com 4 máquinas físicas distribuídas somente nos EUA.

Servidor B: O Instituto de Ciências da Informação da Universidade do Sul da Califórnia.  Localizado nos EUA é responsável pelo servidor B.

Servidor C: Cluster mantido pela Cogent Communications ([8]C.ROOT-SERVERS), é formado por 6 servidores espalhados na Espanha, Alemanha e EUA.

Inicialmente não era a Cogent Communications quem cuidava do servidor C: em 1987, a pedido do IANA, a Nyser.Net passou a fornecer os serviços de DNS e mais tarde tornou-se Psi.Net, o primeiro ISP comercial criado. A PSI.NET foi adquirida pela Cogent anos mais tarde, que mantém atualmente a responsabilidade pelo servidor C.

Servidor D: Localizado no Escritório de Tecnologia da Informação da Universidade de Maryland, contando com um servidor físico localizado na própria universidade, desde 1988.

Servidor E: Mantido pelo Centro de Pesquisas Ames, da NASA, contando com um servidor físico nos EUA.

Servidor F: Mantido pelo ISC-Internet Systems Consortium ([9]F.ROOT-SERVERS), possui 49 servidores físicos espalhados pelo mundo, nos mais variados locais, como em diversos países da Europa, das Américas (incluindo Caribe), da Oceania, e partes da Ásia e África.

O ISC mantém a responsabilidade pelo servidor F desde 1994, utilizando como aplicação de DNS o BIND 9, desenvolvido e mantido pelo próprio consórcio. O consórcio é uma corporação não lucrativa dedicada a ajudar a comunidade da internet com softwares essenciais e infraestrutura.

Servidor G: Este servidor encontra-se de poder do Centro de Informações do Departamento de Defesa dos EUA. Ao todo, o cluster conta com 6 servidores, entre EUA, Japão, Alemanha e Itália.

Servidor H: Encontra-se instalado no Laboratório de Pesquisas do Exército Americano ([10]H.ROOT-SERVERS). Este laboratório tem um uma grande história como líder e pioneiro na área da computação. O laboratório foi a casa do primeiro computador eletrônico digital, o ENIAC, e foi um dos primeiros 50 lugares a ter um servidor web de Internet. Muitos pesquisadores do laboratório estiveram envolvidos no desenvolvimento do Unix, da Internet e dos protocolos TCP/IP (incluindo DNS e o comando PING).

Servidor I: Mantido pela Netnod e Autonomica, possui 34 servidores espalhados pela Europa, Ásia, África e EUA ([11]I.ROOT-SERVERS).

O servidor I foi o primeiro root server fora dos EUA e seu primeiro hardware de DNS foi um Sun 3/60 com 4MB RAM. A Netnod tem total controle sobre todos os servidores que possuem espalhados pelo mundo, e desta forma, estão sempre aceitando novas ofertas para hospedar um de seus servidores em novos locais.

Servidor J: Mais um servidor mantido pela Verisign, mas desta vez é o maior cluster de servidores dentre os 13 root servers, contando com 62 máquinas espalhadas ao redor do globo, atendendo aos 5 continentes.

Servidor K: Mantido pela Ripe NCC, o servidor K é um cluster de 18 servidores na Europa, África, Ásia e EUA. Eles utilizam como software o NSD-Name Server Daemon, software open-source da NLNet Labs, oferencendo seus serviços como root server desde 1997 ([12]K.ROOT-SERVERS).

Servidor L: O ICANN é o responsável pelo cluster L, composto de 3 servidores ([13]L.ROOT-SERVERS), entre os dos EUA e da República Checa. O ICANN também usa o Name Server Daemon como software de DNS, da NLnet Labs. O servidor K também é um dos 7 root servers atuais que oferecem serviços de resolução de nomes IPv6 e IPv4.

Servidor M: O servidor M é mantido pelo WIDE Project ([14]M.ROOT-SERVERS), um instituto de pesquisas japonês que desde 1982 desenvolve experimentos na área computacional, principalmente em redes. O cluster é formado por 6 servidores no Japão, Coréia, França e EUA, sendo que até janeiro de 2002 ele era o único root Server operando no oeste do Oceano Pacífico. Ele também é um dos 7 root servers que oferecem serviços IPv6 e IPv4. Atualmente as requisições IPv6 representam menos de 1% das requisições diárias.

Arquivos de Zona de DNS

Não há atualmente como manter atualizada uma base de dados com todos os nomes de domínios do mundo inteiro. Desta forma, a responsabilidade de manter arquivos de zonas DNS é distribuída pelos servidores autoritativos de DNS espalhados pelo mundo, cabendo aos root servers “ligar” todos estes servidores à Internet, fazendo com que os dados para resolução de nomes sejam distribuídos e indexados nos root servers.

Basicamente servidores raiz disponibilizam o conteúdo de um pequeno arquivo para a Internet, chamado de arquivo de zonas raiz (root zone file) e contém apenas os nomes e endereços dos servidores autoritativos de DNS de mais alto nível (top level domains, como ORG, COM, BR e TV). Ao contrário do que muitos pensam, o arquivo de zonas raiz não é alterado a cada novo domínio registrado. Ao registrar o domínio meudominio.org, não é o root zone file que muda, mas sim o ORG zone file, que está contido no cluster responsável pela manutenção e operação dos nomes de domínio “.ORG”, para o qual o root zone file apenas tem um apontamento.

Para se ter uma idéia do seu tamanho e da variância do seu crescimento, o root zone file mudou apenas 7 vezes entre 11 de novembro de 2004 e 12 de dezembro de 2004, e somente 90 vezes no ano anterior inteiro. Essas alterações fizeram com que o root zone file possuísse, em 12 de dezembro de 2004, 5335 linhas de texto e um tamanho de 119KB ([6]ISOC). Nesta mesma data, existiam 258 Top-level domains no arquivo e 773 servidores autoritativos diferentes. Por fim, o conteúdo do root zone file é de uso exclusivo do IANA e não pode ser modificado nem mesmo pelas instituições que cuidam dos servidores ([7]IANA).

Incidentes Famosos

Existe uma enorme preocupação quanto à segurança destes servidores, uma vez que o funcionamento da Internet mundial depende deles. A despeito dos esforços dos engenheiros envolvidos, falhas, ou mesmo ataques acontecem.

O primeiro incidente de que se tem notícia ocorreu em abril de 1997, quando 7 dos 13 servidores caíram devido a falhas técnicas. Como se não bastasse as chances de novas falhas ocorrerem, os anos que se seguiram mostraram que usuários da Internet mal-intencionados querem atacar estes servidores. Por mais obscuro que sejam seus motivos, um ataque que conseguisse derrubar os 13 clusters faria com que a Internet mundial entrasse em colapso e isso é algo impensável, principalmente nos dias atuais onde diversos serviços dependem da Internet para funcionar.

Os maiores ataques de que se tem notícia, ocorreram em 2002 ([3]D.ROOT-SERVERS), 2006 ([5]ICANN) e 2007 ([5]ICANN). É impensável, principalmente a nível empresarial, os danos que a queda completa do sistema mundial de resolução de nomes causaria. Mas graças às ações realizadas pelos engenheiros responsáveis pelos clusters, todos os ataques foram anulados e através do aprendizado obtido, foram criadas técnicas e tecnologias que reduziram drasticamente os efeitos de ataques futuros.

No primeiro ataque, em 21 de outubro de 2002, nove dos treze servidores foram derrubados. Foi o primeiro ataque da história da Internet contra os trezes servidores ao mesmo tempo. Os atacantes usavam diversas técnicas de DDoS, incluindo IPs spoofing e SYN flood, bombardeando os servidores com cerca de 900Mbps de tráfego. Ainda que nove dos treze servidores tenham caído perante o ataque, os demais conseguiram manter a Internet mundial no ar, embora com certa dificuldade.

Já é costume que, de tempos em tempos, a infraestrutura dos servidores root seja atualizada, mas após o ataque de 2002, os proprietários dos servidores decidiram adiantar esta atualização, temendo um novo ataque. E ele veio em fevereiro de 2006, quando um novo ataque foi rapidamente anulado pelos engenheiros dos root-servers. Analisando os padrões de tráfego dos ataques, concluiu-se que 99,7% dos pacotes dos atacantes possuíam mais de 512 bytes de tamanho, enquanto que consultas DNS normais,  possuíam menos de 100 bytes. Bastou a aplicação de uma nova regra no firewall dos servidores e estes pacotes falsos foram impedidos de superlotar os servidores com suas requisições.

E por fim, em 06 de fevereiro de 2007, um novo ataque iniciou à seis root-servers por volta das 12h UTC e durou cerca de 2h30min. Cerca de 3h30min depois que o primeiro ataque cessou, outro ataque iniciou, durando mais de 5 horas, com tráfego de 1Gbps de ataques. Neste ataque, dois servidores foram derrubados e outros dois reportaram tráfego pesado, entre eles os de posse do Departamento de Defesa dos EUA e os do ICANN. Graças às técnicas adotadas após os últimos incidentes, como as tecnologias de anycast e load balance, o ataque foi praticamente imperceptível para a Internet mundial. Assim mesmo, o ministro de defesa americano fez um comunicado à imprensa mundial dois dias depois do atentado ([2]WIKIPEDIA), relatando que sob aval do presidente dos EUA, o Departamento de Defesa estava apto a contra-atacar qualquer tentativa futura de derrubar os servidores do governo, utilizando todos os meios necessários para isso.

Referências

[1]WIKIPEDIA, Root Nameserver. Disponível em: <http://en.wikipedia.org/wiki/Root_nameserver>. Acesso em: 11 out. 2009

[2]WIKIPEDIA, Distributed Denial of Service Attacks on Root Nameservers. Disponível em: < http://en.wikipedia.org/wiki/Distributed_denial_of_service_attacks_on_root_nameservers>. Acesso em: 11 out. 2009

[3]D.ROOT-SERVERS, Events of 21-Oct-2002. Disponível em <http://d.root-servers.org/october21.txt>. Acesso em: 11 out. 2009

[4]ROOT-SERVERS, Root Servers. Disponível em <http://www.root-servers.org/>. Acesso em: 24 out. 2009

[5]ICANN, Factsheet DNS Attack 08 March 2007. Disponível em <http://www.icann.org/en/announcements/factsheet-dns-attack-08mar07.pdf>. Acesso em: 11 out. 2009

[6]ISOC, DNS Root Name Servers Explained for Non-experts. Disponível em < http://www.isoc.org/briefings/019/ >. Acesso em: 24 out. 2009

[7]IANA, Root Management. Disponível em <http://www.iana.org/root-management.htm>. Acesso em: 24 out. 2009

[8]C.ROOT-SERVERS, Root Server C. Disponível em <http://c.root-servers.net>. Acesso em: 24 out. 2009

[9]F.ROOT-SERVERS, Root Server F. Disponível em <http://f.root-servers.net>. Acesso em: 24 out. 2009

[10]H.ROOT-SERVERS, Root Server H. Disponível em <http://h.root-servers.net>. Acesso em: 24 out. 2009

[11]I.ROOT-SERVERS, Root Server I. Disponível em <http://i.root-servers.net>. Acesso em: 24 out. 2009

[12]K.ROOT-SERVERS, Root Server K. Disponível em <http://k.root-servers.net>. Acesso em: 24 out. 2009

[13]L.ROOT-SERVERS, Root Server L. Disponível em <http://l.root-servers.net>. Acesso em: 24 out. 2009

[14]M.ROOT-SERVERS, Root Server M. Disponível em <http://m.root-servers.net>. Acesso em: 24 out. 2009

[15] WIKIPEDIA, Domain Name System. Disponível em  <http://pt.wikipedia.org/wiki/Domain_Name_System>. Acesso em 29 out. 2009

[16] WIKIPEDIA, DNSSEC. Disponível em  <http://pt.wikipedia.org/wiki/DNSSEC>. Acesso em 29 out. 2009

[17]WIKIPEDIA, DNS root zone. Disponível em <http://en.wikipedia.org/wiki/DNS_root_zone>. Acesso em 11 out. 2009

[18]WIKIPEDIA, Anycast. Disponível em < http://en.wikipedia.org/wiki/Anycast>. Acesso em 29 out. 2009

Autor

Luiz Fernando Duarte Junior é professor do ensino superior, gerente de projetos, empreendedor e palestrante, além de autor de livros de tecnologia disponíveis na seção Meus Livros. Saiba mais em Sobre.

O que achou desse artigo?
[Total: 6 Média: 4.2]

Publicado por

Luiz Duarte

Pós-graduado em computação, professor, empreendedor, autor, Agile Coach e programador nas horas vagas.