404 Not Found


nginx
{"id":4592,"date":"2014-10-01T09:55:34","date_gmt":"2014-10-01T12:55:34","guid":{"rendered":"https:\/\/cleuber.com.br\/?p=4592"},"modified":"2015-02-18T13:51:54","modified_gmt":"2015-02-18T15:51:54","slug":"o-que-e-dns-domain-name-system","status":"publish","type":"post","link":"https:\/\/cleuber.com.br\/index.php\/2014\/10\/01\/o-que-e-dns-domain-name-system","title":{"rendered":"O que \u00e9 DNS (Domain Name System)?"},"content":{"rendered":"

Pessoal, esse artigo faz parte de meus artigos sobre Servi\u00e7os de Servidores em Linux.
\nJ\u00e1 postei artigos de Servidor de Arquivos e Servidor de Dom\u00ednio com Samba, Web Server, FTP Server, Proxy Server e etc.
\nAgora irei falar sobre servidor de DNS e depois de DHCP, mas antes precisamos ter o conceito em mente.
\nEste artigo n\u00e3o trata da implementa\u00e7\u00e3o do servidor de DNS, isso coloquei nesse outro ARTIGO<\/span><\/span>, tratando aqui apenas das defini\u00e7\u00f5es.<\/p>\n

Encontrei este artigo pesquisando na internet, e foi o melhor artigo resumido que encontrei, e os cr\u00e9ditos s\u00e3o todos da fonte: http:\/\/www.infowester.com\/dns.php<\/a><\/span><\/span>, Escrito por Emerson Alecrim<\/a><\/span><\/span><\/em><\/p>\n

Introdu\u00e7\u00e3o<\/h2>\n
\n

Voc\u00ea certamente sabe que a internet possui uma infinidade de sites. Para acess\u00e1-los, voc\u00ea normalmente digita um endere\u00e7o no campo correspondente do seu navegador, por exemplo, www.google.com.br<\/em>, www.infowester.com<\/em> ou www.ealecrim.net<\/em>. Mas, voc\u00ea tem ideia de como o computador consegue localizar estes sites, independente de onde estejam hospedados? \u00c9 neste ponto que “entra em cena” o trabalho de servidores do tipo DNS<\/strong> (Domain Name System<\/em>). Neste artigo, voc\u00ea saber\u00e1 o que \u00e9 isso, entender\u00e1 como o DNS funciona e conhecer\u00e1 conceitos relacionados, como DNSSEC<\/em>.<\/p>\n

Nomes de dom\u00ednio<\/h2>\n

Todo site ou servi\u00e7o na internet precisa de um endere\u00e7o IP<\/a> (seja ela IPv4 ou IPv6<\/a>). Com este recurso, \u00e9 poss\u00edvel localizar o servidor (ou o conjunto de servidores) que hospeda o site e, assim, acessar as suas p\u00e1ginas. Na ocasi\u00e3o de escrita deste artigo, o IP do InfoWester era 200.234.200.169.<\/p>\n

Pois bem. Tente decorar este n\u00famero. Decorou? Parab\u00e9ns! Agora, aguarde alguns minutos e tente se lembrar novamente deste endere\u00e7o IP. Dif\u00edcil, n\u00e9? Agora, imagine ter que se lembrar dos IPs de todos os sites que voc\u00ea acessa diariamente, como Facebook, Twitter, e-mail, portais de not\u00edcias, etc. Pois \u00e9, praticamente imposs\u00edvel e nada pr\u00e1tico, n\u00e3o \u00e9 mesmo?<\/p>\n

\u00c9 basicamente por isso que utilizamos nomes de dom\u00ednios para acessar os sites da internet. Com isso, o usu\u00e1rio n\u00e3o precisa saber, por exemplo, o endere\u00e7o IP do InfoWester para acess\u00e1-lo, basta saber o seu dom\u00ednio, no caso, www.infowester.com<\/em>. Trata-se de um esquema bastante pr\u00e1tico, afinal, decorar nomes \u00e9 muito mais f\u00e1cil do que guardar sequ\u00eancias num\u00e9ricas. Al\u00e9m disso, mesmo que voc\u00ea n\u00e3o se lembre de um nome com exatid\u00e3o, poder\u00e1 digit\u00e1-lo em um mecanismo de busca e este o ajudar\u00e1 a encontr\u00e1-lo.<\/p>\n

A quest\u00e3o \u00e9 que, apesar do uso de dom\u00ednios, os sites ainda precisam dos endere\u00e7os IP, afinal, os nomes foram criados para facilitar a compreens\u00e3o humana, n\u00e3o a dos computadores. E cabe ao DNS o trabalho de relacionar um dom\u00ednio aos IPs.<\/p>\n

Servidores de DNS (Domain Name System)<\/h2>\n

Os servi\u00e7os de DNS (Domain Name System<\/em> – Sistema de Nomes de Dom\u00ednios) da internet s\u00e3o, em poucas palavras, grandes bancos de dados espalhados em servidores localizados em v\u00e1rias partes mundo. Quando voc\u00ea digita um endere\u00e7o em seu navegador, como www.infowester.com<\/em>, seu computador solicita aos servidores de DNS de seu provedor de internet (ou outros que voc\u00ea tenha especificado) que encontre o endere\u00e7o IP associado ao referido dom\u00ednio. Caso estes servidores n\u00e3o tenham esta informa\u00e7\u00e3o, eles se comunicam com outros que possam ter.<\/p>\n

Ajuda neste trabalho o fato de os dom\u00ednios serem organizados hierarquicamente. Primeiramente temos o servidor raiz<\/strong> (root server<\/em>), que pode ser entendido como o principal servi\u00e7o de DNS e \u00e9 representado por um ponto no final do endere\u00e7o, como mostra o seguinte exemplo:<\/p>\n

www.infowester.com.<\/strong><\/p>\n

Repare que se voc\u00ea digitar o endere\u00e7o exatamente como est\u00e1 acima – com ponto no final – em seu navegador, o programa encontrar\u00e1 o site normalmente. No entanto, n\u00e3o \u00e9 necess\u00e1rio incluir este ponto, j\u00e1 que os servidores envolvidos j\u00e1 sabem de sua exist\u00eancia.<\/p>\n

A internet conta (pelo menos at\u00e9 a data de publica\u00e7\u00e3o deste texto) com treze servidores raiz, sendo que dez se localizam nos Estados Unidos, dois na Europa (Estocolmo e Amsterdam) e um na \u00c1sia (T\u00f3quio). Quando uma falha, os demais conseguem manter o funcionamento da rede sem maiores complica\u00e7\u00f5es.<\/p>\n

A hierarquia \u00e9 seguida com dom\u00ednios que conhecemos bastante, como .com, .net, .org, .info, .edu, .br, .me e v\u00e1rias outros. Estas s\u00e3o chamadas de gTLDs (Generic Top Level Domains<\/em> – algo como Dom\u00ednios Gen\u00e9ricos de Primeiro N\u00edvel).<\/p>\n

H\u00e1 tamb\u00e9m termina\u00e7\u00f5es orientadas a pa\u00edses, chamadas de ccTLDs (Country Code Top Level Domains<\/em> – algo como C\u00f3digo de Pa\u00eds para Dom\u00ednios de Primeiro N\u00edvel). Por exemplo: .br para o Brasil, .ar para a Argentina, .fr para a Fran\u00e7a e assim por diante. H\u00e1 combina\u00e7\u00f5es tamb\u00e9m, como .com.br e .blog.br.<\/p>\n

Depois, aparecem os nomes que empresas e pessoas podem registrar com estes dom\u00ednios, como a palavra infowester<\/em> em infowester.com<\/em> ou google<\/em> em google.com.br<\/em>.<\/p>\n

\"Exemplo<\/p>\n

Com a hierarquia, descobrir qual IP e, consequentemente, qual servidor est\u00e1 associado a um dom\u00ednio – processo chamado de resolu\u00e7\u00e3o de nome<\/em> – fica mais f\u00e1cil, j\u00e1 que este modo de funcionamento permite um esquema de trabalho distribu\u00eddo, onde cada n\u00edvel da hierarquia conta com servi\u00e7os espec\u00edficos de DNS.<\/p>\n

Para entender melhor, veja este exemplo: suponha que voc\u00ea queira visitar o site www.infowester.com.br<\/em>. Para isso, o servi\u00e7o de DNS do seu provedor (ou outro que voc\u00ea especificar) tentar\u00e1 descobrir se sabe como localizar o referido site. Caso negativo, primeiramente consultar\u00e1 o servidor raiz. Este, por sua vez, indicar\u00e1 o servidor de DNS da termina\u00e7\u00e3o .br, que continuar\u00e1 o processo at\u00e9 chegar ao servidor que responde pelo dom\u00ednio infowester.com.br<\/em>, que finalmente informar\u00e1 o IP associado, ou seja, em qual servidor est\u00e1 o site em quest\u00e3o.<\/p>\n

Os servidores de DNS que respondem por determinados dom\u00ednios s\u00e3o chamados de autoritativos<\/em>. J\u00e1 os servi\u00e7os respons\u00e1veis por receber consultas de DNS de m\u00e1quinas clientes e tentar obter respostas com servidores externos s\u00e3o chamado de recursivos<\/em>.<\/p>\n

Perceba, na ilustra\u00e7\u00e3o, o esquema de distribui\u00e7\u00e3o: servidores de DNS apontam para o outro, at\u00e9 que o destino seja encontrado. No caso do servidor raiz, este possui meramente uma rela\u00e7\u00e3o dos servi\u00e7os de DNS respons\u00e1veis pelos dom\u00ednios gTLD e ccTLD, sendo que estes se encarregam de dar sequ\u00eancia ao procedimento.<\/p>\n

Os dom\u00ednios gTLD e ccTLD s\u00e3o administrados por entidades diferentes, que respondem tamb\u00e9m por seus servidores de DNS. Por exemplo: a termina\u00e7\u00e3o .br \u00e9 controlada pela Registro.br<\/a>.<\/p>\n

Cache de DNS<\/h2>\n

Suponha que voc\u00ea tenha visitado um site que nunca tenha sido resolvido pelo servi\u00e7o de DNS de seu provedor, de forma que este tenha que consultar outros servidores de DNS (por meio do j\u00e1 mencionado esquema de pesquisa hier\u00e1rquica). Para evitar que essa pesquisa tenha que ser feita novamente quando outro usu\u00e1rio do provedor tentar acessar o mesmo site, o servi\u00e7o de DNS pode guardar a informa\u00e7\u00e3o da primeira consulta por algum tempo. Assim, em outra solicita\u00e7\u00e3o igual, o servidor j\u00e1 saber\u00e1 qual o IP associado ao site em quest\u00e3o. Este procedimento \u00e9 conhecido como cache de DNS<\/em>.<\/p>\n

No in\u00edcio, o cache de DNS somente guardava dados de consultas positivas, isto \u00e9, de quando um site \u00e9 encontrado. No entanto, os servi\u00e7os de DNS tamb\u00e9m passaram a guardar resultados negativos, de sites n\u00e3o existentes ou n\u00e3o localizados, como quando digitamos um endere\u00e7o errado, por exemplo.<\/p>\n

As informa\u00e7\u00f5es do cache s\u00e3o armazenadas por um determinado per\u00edodo de tempo por meio de um par\u00e2metro conhecido como TTL (Time to Live<\/em>). Este \u00e9 utilizado para evitar que as informa\u00e7\u00f5es gravadas se tornem desatualizadas. O per\u00edodo de tempo do TTL varia conforme as configura\u00e7\u00f5es determinadas para o servidor.<\/p>\n

Gra\u00e7as a isso, o trabalho dos servi\u00e7os de DNS dos servidores raiz e dos demais subsequentes \u00e9 minimizado.<\/p>\n

DNSSEC<\/h2>\n

Neste ponto, voc\u00ea j\u00e1 sabe que os servidores de DNS t\u00eam papel important\u00edssimo na internet. O problema \u00e9 que o DNS tamb\u00e9m pode ser “v\u00edtima” de a\u00e7\u00f5es maliciosas.<\/p>\n

Imagine, por exemplo, que um indiv\u00edduo com grande conhecimento no assunto elaborou um esquema para conseguir capturar solicita\u00e7\u00f5es de resolu\u00e7\u00e3o de nomes de clientes de um determinado provedor. Ao ter sucesso com isso, ele pode tentar direcionar um endere\u00e7o falso no lugar de um site que um usu\u00e1rio queira visitar. Perceba o risco: se o usu\u00e1rio n\u00e3o perceber que foi direcionado para uma p\u00e1gina falsa, poder\u00e1 fornecer dados sigilosos, como n\u00famero de cart\u00e3o de cr\u00e9dito.<\/p>\n

Para evitar problemas como estes \u00e9 que foi criado o DNSSEC<\/strong> (DNS Security Extensions<\/em>), que consiste em uma especifica\u00e7\u00e3o que adiciona recursos de seguran\u00e7a ao DNS.<\/p>\n

O DNSSEC considera, essencialmente, os aspectos de autenticidade e integridade dos procedimentos envolvendo DNS. Mas, ao contr\u00e1rio do que algumas pessoas pensam inicialmente, n\u00e3o pode prover prote\u00e7\u00e3o contra invas\u00f5es ou ataques DoS<\/a>, por exemplo, embora possa ajudar, de certa forma.<\/p>\n

Basicamente, o DNSSEC utiliza um esquema que envolve chaves p\u00fablicas e privadas, que \u00e9 explicado neste artigo sobre assinaturas e certificados digitais<\/a>. Com isso, \u00e9 poss\u00edvel ter certeza de que os servidores corretos est\u00e3o respondendo \u00e0s pesquisas de DNS.<\/p>\n

A implementa\u00e7\u00e3o do DNSSEC deve ser feita pelas entidades respons\u00e1veis pela administra\u00e7\u00e3o dos dom\u00ednios, motivo pelo qual este recurso ainda n\u00e3o \u00e9 utilizado de maneira plena. Felizmente, em rela\u00e7\u00e3o ao Brasil, o pa\u00eds foi um dos primeiros\u00a0 a lidar com isso ao implementar o DNS em endere\u00e7os .br, sendo que, na \u00e9poca da publica\u00e7\u00e3o deste texto, esta prote\u00e7\u00e3o era obrigat\u00f3ria nos dom\u00ednios .jus.br<\/em> e .b.br<\/em> (termina\u00e7\u00e3o destinada a bancos).<\/p>\n

Para saber mais sobre DNSSEC em dom\u00ednios brasileiros, visite a p\u00e1gina registro.br\/suporte\/tutoriais\/dnssec.html<\/a>.<\/p>\n

Servi\u00e7os gratuitos de DNS: OpenDNS e Google Public DNS<\/h2>\n

Quando voc\u00ea contrata um servi\u00e7o de acesso \u00e0 internet, por padr\u00e3o, passa a utilizar os servidores de DNS da prestadora. O problema \u00e9 que, muitas vezes, estes servidores podem n\u00e3o funcionar a contento: a conex\u00e3o \u00e9 estabelecida, mas o navegador n\u00e3o consegue encontrar nenhuma p\u00e1gina; o acesso a sites pode estar lento porque os servi\u00e7os de DNS demoram para responder; enfim.<\/p>\n

Uma solu\u00e7\u00e3o para problemas como estes consiste em adotar servi\u00e7os de DNS alternativos e especializados, que s\u00e3o otimizados para oferecer o melhor desempenho poss\u00edvel e s\u00e3o menos suscet\u00edveis a falhas. Os mais conhecidos s\u00e3o o OpenDNS<\/a> e, mais recentemente, o Google Public DNS<\/a>. Ambos os servi\u00e7os s\u00e3o gratuitos e, quase sempre, funcionam de maneira bastante satisfat\u00f3ria.<\/p>\n

OpenDNS<\/h3>\n

Usufruir do OpenDNS \u00e9 muito f\u00e1cil: basta utilizar os dois IPs do servi\u00e7o. S\u00e3o eles:<\/p>\n