Você está na página 1de 7

Servidor DNS (Porta 53/udp e 53/tcp) O DNS (Domain Name System - Sistema de Nomes de Domnios) um sistema de gerenciame nto

o de nomes hierrquico e distribudo operando segundo duas definies: Examinar e atualizar seu banco de dados. Resolver nomes de servidores em endereos de rede (IPs). O sistema de distribuio de nomes de domnio foi introduzido em 1984 e com ele os nom es de hosts residentes em um banco de dados pde ser distribudo entre servidores mlt iplos, baixando assim a carga em qualquer servidor que prov administrao no sistema de nomeao de domnios. Ele baseia-se em nomes hierrquicos e permite a inscrio de vrios ados digitados alm do nome do host e seu IP. Em virtude do banco de dados de DNS ser distribudo, seu tamanho ilimitado e o desempenho no degrada tanto quando se ad iciona mais servidores nele. Conhecendo o DNS Os servidores de DNS so os principais servidores na internet, pois permitem que a travs de nomes possamos acessar os endereos. J que toda a internet baseada em IP, p ara acessarmos uma pgina precisaramos conhecer nmero IP dela, mas como mais fcil lem brar de vrios nomes que vrios nmeros, o DNS permite que esses nomes sejam resolvido s para nmeros, facilitando assim o uso da internet. No incio da internet, como foi pensada para pouco uso, havia um arquivo hosts que continha todos os IP e nomes de mquinas que existiam na internet, o arquivo era mantido pela NIC (Network Information Center) e distribudo por um nico host, o SRI -NIC. Os administradores da Arpanet enviavam ao NIC, por e-mail, quaisquer mudana s que tivessem sido efetuadas e periodicamente SRI-NIC era atualizado, assim com o o arquivo hosts.txt. As mudanas eram aplicadas em um novo hosts.txt uma ou duas vezes por semana. Com o crescimento da Arpanet, entretanto, este esquema tornou -se invivel. O tamanho do arquivo hosts.txt crescia na proporo em que crescia o nmer o de mquinas na internet. Alm disso, o trfego gerado com o processo de atualizao crescia em propores ainda maior es uma vez que cada host que era includo no s significava uma linha a mais no arqui vo hosts.txt, mas um outro host atualizando a partir do SRI-NIC. Com o uso do TC P/IP pela Arpanet a rede cresceu exponencialmente o que tornou a atualizao do arqu ivo algo impossvel de ser mantido. Os administradores da Arpanet tentaram outras configuraes que resolvessem o proble ma do hosts.txt. O objetivo era criar um sistema que resolvesse os problemas em uma tabela nica de hosts. O novo sistema deveria permitir que um administrador lo cal tornasse os dados mundialmente disponveis. A descentralizao da administrao resolv eria o problema do gargalo gerado por um nico host e diminuiria o problema do trfe go. Alm disso, o fato da administrao ser local faria com que atualizar os dados se tornasse uma tarefa bem mais simples. O esquema deveria usar nomes em hierarquia para garantir a exclusividade dos nomes. Paul Mockapetris, do USC's Information Science Institute, foi o responsvel pela a rquitetura do sistema. Em 1984 ele lanou as RFCs 882 e 883, que descreve o "Domai n Name System", ou DNS. Estas RFCs foram sucedidos pelas RFCs 1034 e 1035, que p ossuem as especificaes atuais do DNS. O DNS foi criado para ser hierrquico, distribudo e recursivo, alm de permitir o cac he de suas informaes. Assim nenhuma mquina teria que saber todos os endereos de Inte rnet, apenas os que esto abaixo dela diretamente. A implementao do DNS-Berkeley, foi desenvolvido originalmente para o sistema opera cional BSD UNIX 4.3.

O servidor DNS traduz nomes para os endereos IP e endereos IP para nomes respectiv os, e permitindo a localizao de hosts em um domnio determinado. Num sistema livre o servio implementado pelo software BIND. Esse servio geralmente se encontra locali zado no servidor DNS primrio. O servidor DNS secundrio uma espcie de cpia de segurana do servidor DNS primrio. Quan do no possvel encontrar um domnio atravs do servidor primrio o sistema tenta resolver o nome atravs do servidor secundrio. Existem 13 servidores DNS raiz no mundo todo e sem eles a Internet no funcionaria . Destes, dez esto localizados nos Estados Unidos da Amrica, um na sia e dois na Eu ropa. Para Aumentar a base instalada destes servidores, foram criadas Rplicas loc alizadas por todo o mundo, inclusive no Brasil desde 2003, mas precisamente em So Paulo e uma cpia do servidor raiz F.ROOT sob responsabilidade do ISC. Ou seja, os servidores de diretrios responsveis por prover informaes como nomes e en dereos das mquinas so normalmente chamados servidores de nomes. Na Internet, os ser vios de nomes usado o DNS, que apresenta uma arquitetura cliente/servidor, podend o envolver vrios servidores DNS na resposta a uma consulta. BIND (Berkeley Internet Name Domain ou, como chamado previamente, Berkeley Inter net Name Daemon o servidor para o protocolo DNS mais utilizado na internet, espe cialmente em sistemas do tipo Unix, onde ele pode ser considerado um padro de fat o. Foi criado por quatro estudantes de graduao, membros de um grupo de pesquisas e m cincia da computao da Universidade de Berkeley, e foi distribudo pela primeira vez com o sistema operacional 4.3BSD. O programador Paul Vixie, enquanto trabalhava para a empresa DEC, foi o primeiro mantenedor do BIND. Atualmente o BIND suport ado e mantido pelo Internet Systems Consortium. Para a verso 9, o BIND foi praticamente reescrito. Ele passou a suportar, dentre outras funcionalidades, a extenso DNSSEC e os protocolos TSIG e IPV6. HISTRIA O BIND foi escrito originalmente no incio da dcada de 1980 em um projeto suportado pela agncia DARPA. Em meados dos anos 80, funcionrios da DEC assumiram o seu dese nvolvimento. Um destes funcionrios era Paul Vixie, que continuou o seu trabalho c om o BIND aps deixar a empresa. Ele ajudou na criao da organizao ISC que se tornou re sponsvel pela manuteno do programa. O desenvolvimento do BIND 9 foi realizado atravs de uma combinao de contratos comer ciais e militares. A maioria das funcionalidades do BIND 9 eram promovidas por e mpresas fornecedoras de sistemas Unix que queriam garantir que o BIND se manteri a competitivo com as ofertas de servidores DNS da Microsoft. Por exemplo, a exte nso de segurana DNSSEC foi financiada pelos militares estadunidenses que percebera m a importncia da segurana para o servidor DNS. Assim como os programas Sendmail e WU-FTPD, e outros sistemas que remontam aos p rimeiros dias da Internet, as verses 4 e 8 do BIND tinham uma srie de vulnerabilid ades de segurana e, por isso, o seu uso hoje fortemente desencorajado. Uma das mo tivaes para reescrever o BIND, e lanar o BIND 9, foi disponibilizar um sistema mais seguro. GeoDNS um patch de apenas 40 linhas de cdigo que permite ao BIND dar respostas di ferentes dependendo da proximidade do cliente. Essa funcionalidade permitiria, p or exemplo, que um latino-americano, em visita a um determinado stio, fosse direc ionada para um servidor no Brasil e um asitico para um servidor na Coria, proporci onando um ganho de desempenho no acesso da Internet.

Servidor Instalar bind9 e dnsutils Diretrio de configurao: /etc/bind /etc/named.conf ou /etc/bind/named.conf (debian) Arquivo de configurao principal do BIND. # vi /etc/bind/named.conf.options (Debian) Parmetros globais do BIND # vi /etc/bind/named.conf.local (Debian) Arquivo contendo zona primria e reversa. /var/named/named.ca O arquivo faz parte do pacote BIND e contm os endereos dos servidores DNS raiz da internet. Obs.: No Debian este arquivo chama-se db.root O arquivo named.conf Seo "acl" Com as ACL's (Access Control Lists) podemos criar listas de endereos IP's e desig narmos nomes a essas listas, com o nico objetivo de quando formos nos referenciar a endereos IP usarmos nomes em vez de nmeros. Algumas acl's j existem e podem ser usadas: any - Todos os hosts; none - Nenhum host; localhosts - Todos os IP's das interfaces da mquina; localnets - A rede inteira a qual a mquina faz parte; Outros exemplos: acl redelocal { 10.9.1.0/24; 192.168.1.0/24; }; acl escravos { 200.4.5.6/32; 200.5.6.7/32; }; Instruo options { opes; }; Controla as opes que afetam de forma global o bind. Opes mais comuns: directory "/diretorio"; Indica onde todos os arquivos do named esto armazenados. Deve ser indicad o o caminho completo. version "texto"; Texto que ser apresentado caso algum tente visualizar a verso do bind. allow-query { IP; rede/cidr; };

Quem pode fazer consultas em nosso servidor. allow-recursion { IP; rede/mascara ou cidr; }; Quem pode fazer consultas recursivas. Somente consultas para este domnio. recursion <on/off>; Nega todas as consultas recursivas, mesmo que seja para seu prprio domnio. allow-transfer { }; Determina quem pode fazer transferncia de zona, os valores podem ser: None; (Ningum) IP; (Qual o IP) rede/mascara ou cidr; (Rede) forwarders { IP; }; Redireciona todos os pedidos de consultas para outro servidor DNS, mas s omente se o nosso servidor no puder resolver. forward first; Por padro a consulta feita em nosso servidor e depois encaminha para outr os servidores definidos em "forwarders" datasize valor; Qual o tamanho do cache do bind. blackhole { ACL; IP; REDE/MASCARA; }; Nega consultas para os hosts especificados. Instruo zone "zona" IN { opes; }; Configurao das zonas as quais o servidor responder. Nela se configura as zonas primr ias, secundrias, reversos e outros tipos. Tambm deve constar nessa configurao a zona "." do tipo "hint", raiz da Internet. Algumas opes: type <tipo>; - Tipo do servidor DNS. master - O servidor tem uma cpia original dos dados para a zona e ser capa z de fornecer respostas autorizadas por ele. slave - Uma zona slave uma rplica de uma zona mestre. hint - Indica onde encontrar a base de dados de servidores raiz. stub - A zona stub muito parecida com a zona slave, exceto pelo fato de replicar apenas os registros de recursos (RR) da zona indicada. file "arquivo"; - Onde esta localizado o arquivo da zona. allow-transfer { IP; rede/mascara ou cidr; }; - Quem pode fazer a transferncia do arquivo da zona. masters { IP; rede/mascara ou cidr; }; - Utilizado normalmente em servidores DNS Slave, indicando quais so os servidores Mestres para a zona. Allow-update { ip; }; - qm tem permisso de atualizar minha zona permitindo o dns que vai escrever nao copia dakiotaru Arquivo de Zona Primria e Zona Reversa

Opes comuns: Registro de recursos dos arquivos de zona primria e zona reversa. Caracteres especiais ; Comentrios @ O nome da zona atual ( ) Permite que os dados se estendam sobre linhas * Caractere Curinga (somente para o campo nome) Tipos de Registros DNS SOA Inicio da autoridade da zona. domnio. email. (serial refresh retr y expire minimum) serial - Um nmero arbitrrio que representa o nmero serial da zona. refresh - Indica aos servidores slaves de quanto em quanto tempo eles de vem consultar o master para verificar o nmero serial. retry - Caso o servidor master no consiga ser contactado no intervalo esp ecificado em "refresh", novos contatos deve ser tentados a cada segundo especifi cado. expire - Se no for possvel contactar o servidor master aps expire segundos, o servidor slave ir parar de responder a consultas sobre esta zona, pois ela ser considerada expirada. minimum - Tempo de sobrevida de respostas negativas que so armazenadas em cache. Respostas positivas esto em $TTL. NS A AAAA PTR MX 99 CNAME SRV ) TXT HINFO Identifica os servidores de zona Converso de nome para end. IP (ipv4) Converso de nome para end. IP (ipv6) Converso de end. IP para nome Controla o roteamento de email. (Mail eXchange) Criar apelidos para nomes (host) Registro genrico para indicao de determinado servio (protocolo/porta Comentrios ou informaes. Informaes sobre hardware da mquina.

Diretiva $ORIGIN utilizada para especificar qual o domnio que ser acrescentado a nomes no absolutos ou seja, nome que no terminam em pontos. Com $ORIGIN igual a sala7.com.br. vejamo s o que acontece em algumas situaes: nome ricardo ricardo.sala7.com.br ricardo.sala7.com.br. Equivale a ricardo.sala7.com.br. ricardo.sala7.com.br.sala7.com.br. ricardo.sala7.com.br.

Caso a diretiva $ORIGIN no seja especificada, usado como padro o nome da zona segu ido de um ponto final. Diretiva $TTL <segundos> Tempo de vida til do cache DNS. Aps este tempo o cache descartado. O padro segundos mas poderia ser utilizado: m - minutos ; h - horas ; d - dias ; w - semanas.

Configurao do DNS Cliente /etc/host.conf - Arquivo de configurao da biblioteca resolver. Dever conter uma pal avra chave de configurao por linha. Alguns valores vlidos: order <bind,hosts,nis> - ordem de pesquisa de hosts multi <on/off> - Permiti mais de um endereo para um determinado host que aparece em /etc/hosts. til para roteadores e gateways. nospoof <on/off> - Previne contra ataques de IP Spoofing. Com essa configurao habi litada checado o DNS reverso do endereo IP fornecido. Se os nomes no forem iguais o endereo rejeitado e um erro gerado. spoofalert <on/off> - Se ajustado para on e nospoof estiver habilitada ser enviad o uma mensagem para o subsistema syslog. # vi /etc/resolv.conf +---------------------------| search sala9.com.br | nameserver 10.9.1.1 Opes comuns do resolv.conf: search <domnio> Procura pelo domnio especificado domain <domnio> Utilizado para completar nomes no completamente qualificados. nameserver <IP> ip do servidor de nomes. Pode se utilizar, por padro apenas 3 servidores de nomes . Ferramentas DNS: nslookup <domnio> ferramenta utilizada para consultas DNS, tanto pode realizar uma consulta pela l inha de comando. # > > > nslookup set type=ns google.com exit

# nslookup google.com.br dig @server <domnio> <tipo> Ferramenta atualizada para consultas DNS. @server - Servidor utilizado para a consulta. Domnio - Domnio a ser consultado. Tipo - Tipo de resgistro a consultar a - IP (ipv4). any - Qualquer tipo de informaes sobre o domnio.

Mx - Servidor de email. Ns - Servidores de nome para o domnio. Soa - Zona de autoridade sobre o domnio. Hinfo - Informaes do domnio. Txt - Informaes diversas. -x IP - Utilizada para consultas reversas. # dig @ns1.kernel.org version.bind txt chaos Mostra a verso do servidor DNS. Para ver o reverso: # dig -x 140.211.167.34 # host <domnio/ip> # host ns1.kernel.org # host 140.211.167.34 host -t a <domnio> Mostra todos os end. IP de um host. Whois - Cliente para o servio de diretrios whois. Exemplos: # whois mcury.com.br # whois kernel.org