redes de computadores iii dns (domain naming system) professor eduardo maroñas monks faculdade de...
Post on 22-Apr-2015
109 Views
Preview:
TRANSCRIPT
Redes de Computadores Redes de Computadores IIIIII
DNS (DNS (Domain Naming SystemDomain Naming System))
Professor Eduardo Maroñas MonksProfessor Eduardo Maroñas Monks
Faculdade de Tecnologia SENAC Pelotas/RSFaculdade de Tecnologia SENAC Pelotas/RS
Curso Superior de Tecnologia em Redes de Computadores Curso Superior de Tecnologia em Redes de Computadores
SUMÁRIOSUMÁRIO
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 22
• HistóricoHistórico• ObjetivosObjetivos• ComponentesComponentes• FuncionalidadesFuncionalidades• ProtocoloProtocolo• AplicaçõesAplicações• SegurançaSegurança• Referências BibliográficasReferências Bibliográficas
HistóricoHistórico
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 33
• No início da ARPANET, começou a ser necessária uma No início da ARPANET, começou a ser necessária uma forma mais fácil de encontrar os hosts do que forma mais fácil de encontrar os hosts do que endereços numéricosendereços numéricos• Foi criado um arquivo com o nome de HOSTS.TXT Foi criado um arquivo com o nome de HOSTS.TXT
que continha o mapeamento entre endereços e que continha o mapeamento entre endereços e nomesnomes
• Este arquivo era mantido pelo SRI’s NIC (Stanford-Este arquivo era mantido pelo SRI’s NIC (Stanford-Research-Institute: Network-Information-Center)Research-Institute: Network-Information-Center)• Os administradores enviavam as mudanças de Os administradores enviavam as mudanças de
endereços e nomes para o SRI NICendereços e nomes para o SRI NIC• O SRI NIC atualiza periodicamente o arquivo O SRI NIC atualiza periodicamente o arquivo
HOSTS.TXTHOSTS.TXT• Os administradores de rede faziam o download por Os administradores de rede faziam o download por
FTP do arquivo FTP do arquivo HOSTS.TXTHOSTS.TXT
HistóricoHistórico
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 44
• Com o aumento no número de hosts, o arquivos Com o aumento no número de hosts, o arquivos HOSTS.TXT começou a apresentas problemas:HOSTS.TXT começou a apresentas problemas:• Escalabilidade (tráfego e carga no repositório)Escalabilidade (tráfego e carga no repositório)• Colisões de nomesColisões de nomes• Inconsistência do arquivoInconsistência do arquivo
• Em 1984, Em 1984, Paul MockapetrisPaul Mockapetris disponibilizou as primeiras disponibilizou as primeiras RFCs (882 e 883) do DNSRFCs (882 e 883) do DNS• As RFCs 1034 e 1035 foram as sucessoras e as As RFCs 1034 e 1035 foram as sucessoras e as
melhorias continuam…melhorias continuam…• A motivação inicial foi a organização do serviço de e-A motivação inicial foi a organização do serviço de e-
mailmail• Dificuldade para encontrar a caixa postal a qual Dificuldade para encontrar a caixa postal a qual
entregar o e-mailentregar o e-mail• O primeiro domínio no DNS foi isi.edu (O primeiro domínio no DNS foi isi.edu (Information Information
Sciences InstituteSciences Institute))
Entrevista com Paul Mockapetris -Entrevista com Paul Mockapetris -
http://www.youtube.com/watch?v=VLahF1zwAog
ObjetivosObjetivos
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 55
• DNS (Domain Name System)DNS (Domain Name System)
• Sistema de gerenciamento de nomes hierárquico e Sistema de gerenciamento de nomes hierárquico e distribuído distribuído
• Protocolo de camada de aplicaçãoProtocolo de camada de aplicação• Baseado em cliente/servidorBaseado em cliente/servidor
• Cliente solicita ao servidor de nomes a resolução Cliente solicita ao servidor de nomes a resolução de nome para endereçode nome para endereço
• Complexidade na “borda” da redeComplexidade na “borda” da rede• FuncionalidadesFuncionalidades
• Nomes canônicos e alias (apelidos)Nomes canônicos e alias (apelidos)• Definição de servidor de e-mail por domínioDefinição de servidor de e-mail por domínio• Distribuição de carga (WWW, DNS)Distribuição de carga (WWW, DNS)
ComponentesComponentes
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 66
• Servidores RaizServidores Raiz• São contatados pelos servidores de nomes locais São contatados pelos servidores de nomes locais
que não podem resolver um nomeque não podem resolver um nome• Servidores de nomes raiz:Servidores de nomes raiz:
• Buscam servidores de nomes autorizados se o Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido mapeamento do nome não for conhecido
• Conseguem o mapeamentoConseguem o mapeamento• Retornam o mapeamento para o servidor de Retornam o mapeamento para o servidor de
nomes localnomes local
Haviam 13 Haviam 13 servidores de servidores de nomes raiz no nomes raiz no mundo, mas mundo, mas devido a ataques devido a ataques de DDOS…de DDOS…
ComponentesComponentes
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 77
• Servidores top-level domain (TLD):Servidores top-level domain (TLD):• Responsáveis pelos domínios com, org, net, edu etc. Responsáveis pelos domínios com, org, net, edu etc.
e todos os domínios top-level nacionais (ccTLD – e todos os domínios top-level nacionais (ccTLD – Country Code TLD): br, ar, uk, fr, ca, jp...Country Code TLD): br, ar, uk, fr, ca, jp...• Network Solutions mantém servidores para o TLD Network Solutions mantém servidores para o TLD
“com” TLD“com” TLD• Educause para o TLD “edu”Educause para o TLD “edu”• No Brasil, é Comitê Gestor da Internet no Brasil, a No Brasil, é Comitê Gestor da Internet no Brasil, a
parte operacional é no Registro.br (parte operacional é no Registro.br (http://registro.br))
• Servidores DNS autorizadosServidores DNS autorizados• Servidores DNS de organizações, provêem Servidores DNS de organizações, provêem
mapeamento de nomes para endereços de forma mapeamento de nomes para endereços de forma autorizada no domínio da organização (ex.: Web e autorizada no domínio da organização (ex.: Web e mail).mail).• Podem ser mantidos por uma organização ou Podem ser mantidos por uma organização ou
provedor de serviçosprovedor de serviços
Lista de TLDs no Brasil -Lista de TLDs no Brasil -http://registro.br/dominio/dpn.html
ccTLD (IANA) - ccTLD (IANA) - http://www.iana.org/domains/root/db/
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 88
• Servidor de nomes localServidor de nomes local• Não pertence estritamente a uma hierarquiaNão pertence estritamente a uma hierarquia• Cada ISP (ISP residencial, companhia, universidade) Cada ISP (ISP residencial, companhia, universidade)
possui umpossui um• Também chamado de “servidor de nomes default”Também chamado de “servidor de nomes default”• Quando um host faz uma pergunta a um DNS, a Quando um host faz uma pergunta a um DNS, a
pergunta é enviada para seu servidor DNS localpergunta é enviada para seu servidor DNS local• Funciona como um Funciona como um proxyproxy, encaminhando as , encaminhando as
perguntas para dentro da hierarquia de servidoresperguntas para dentro da hierarquia de servidores
ComponentesComponentes
FuncionalidadesFuncionalidades
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 99
• Cliente quer o IP do domínio Cliente quer o IP do domínio www.amazon.comwww.amazon.com::• Cliente consulta o servidor local de DNS; Se estiver Cliente consulta o servidor local de DNS; Se estiver
no cache responde localmente; no cache responde localmente; • Caso contrário, o Cliente ou o Servidor local, Caso contrário, o Cliente ou o Servidor local,
consulta os servidores raiz para encontrar o consulta os servidores raiz para encontrar o servidor DNS responsável pelos domínios servidor DNS responsável pelos domínios .com.com
• Cliente ou Servidor Local consulta o servidor Cliente ou Servidor Local consulta o servidor DNS DNS .com.com para obter o servidor de DNS autoritário para obter o servidor de DNS autoritário para para amazon.comamazon.com
• Cliente ou Servidor Local consulta o servidor de DNS Cliente ou Servidor Local consulta o servidor de DNS amazon.comamazon.com para obter o endereço IP de para obter o endereço IP de www.amazon.com
• Cliente e Servidor Local armazenam em cache o Cliente e Servidor Local armazenam em cache o resultado da consultaresultado da consulta
FuncionalidadesFuncionalidades
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1010
• O hospedeiro em O hospedeiro em cis.poly.educis.poly.edu quer o quer o endereço IP para endereço IP para gaia.cs.umass.edugaia.cs.umass.edu
FuncionalidadesFuncionalidades
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1111
• Consulta recursiva:Consulta recursiva:• Transfere a tarefa Transfere a tarefa
de resolução do de resolução do nome para o nome para o servidor de nomes servidor de nomes consultadoconsultado
• Carga pesada?Carga pesada?• Consulta encadeada:Consulta encadeada:
• Servidor Servidor contatado contatado responde com o responde com o nome de outro nome de outro servidor de nomes servidor de nomes para contatopara contato
• ““Eu não sei isto, Eu não sei isto, mas pergunte a mas pergunte a este servidor”este servidor”
FuncionalidadesFuncionalidades
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1212
• CacheCache• Uma vez que um servidor de nomes apreende um Uma vez que um servidor de nomes apreende um
mapeamento, ele armazena o mapeamento num mapeamento, ele armazena o mapeamento num
registro do tipo cacheregistro do tipo cache• Registros do cache tornam-se obsoletos Registros do cache tornam-se obsoletos
(desaparecem) depois de um (desaparecem) depois de um certo tempocerto tempo• Servidores TLD são tipicamente armazenados Servidores TLD são tipicamente armazenados
em cache nos servidores de nome locaisem cache nos servidores de nome locais• Mecanismos de atualização e notificação estão Mecanismos de atualização e notificação estão
sendo projetados pelo IETFsendo projetados pelo IETF• RFC 2136RFC 2136• http://www.ietf.org/html.charters/dnsind-charter.html
FuncionalidadesFuncionalidades
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1313
• Tipos de registrosTipos de registros• base de dados distribuída que armazena registros base de dados distribuída que armazena registros
de recursos (RR)de recursos (RR)• formato dos RR: (name, value, type, ttl)formato dos RR: (name, value, type, ttl)
Type = NSType = NS namename é um domínio é um domínio
(ex.: foo.com)(ex.: foo.com) valuevalue é o endereço IP é o endereço IP
do servidor de do servidor de nomes autorizados nomes autorizados para este domíniopara este domínio
Type = AType = A namename é o nome do é o nome do
computadorcomputador valuevalue é o endereço IP é o endereço IP
Type = CNAMEType = CNAME namename é um “apelido” para é um “apelido” para
algum nome “canônico” (o algum nome “canônico” (o nome real)nome real)
www.ibm.com é realmente www.ibm.com é realmente servereast.backup2.ibm.comservereast.backup2.ibm.com valuevalue é o nome canônico é o nome canônico
Type = MXType = MX valuevalue é o nome do é o nome do
servidor de correio servidor de correio associado com associado com namename
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1414
• Protocolo DNS: mensagem de consulta e resposta, Protocolo DNS: mensagem de consulta e resposta, ambas com o mesmo formato de mensagemambas com o mesmo formato de mensagem
• Cabeçalho da mensagemCabeçalho da mensagem• Identificação: número de 16 bits para consulta, Identificação: número de 16 bits para consulta,
resposta usa o mesmo númeroresposta usa o mesmo número• Flags:Flags:
• Consulta ou respostaConsulta ou resposta• Recursão desejada Recursão desejada • Recursão disponívelRecursão disponível• Resposta é autorizadaResposta é autorizada
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1515
• Exemplo: empresa recém-criada “Network Utopia”Exemplo: empresa recém-criada “Network Utopia”• Registrar o nome networkutopia.com num “registrar” Registrar o nome networkutopia.com num “registrar”
(ex.: Network Solutions)(ex.: Network Solutions)• É necessário fornecer ao registrar os nomes e É necessário fornecer ao registrar os nomes e
endereços IP do seu servidor nomes autorizados endereços IP do seu servidor nomes autorizados (primário e secundário)(primário e secundário)
• Registrar insere dois RRs no servidor TLD do Registrar insere dois RRs no servidor TLD do domínio com:domínio com:
• (networkutopia.com, dns1.networkutopia.com, NS)(networkutopia.com, dns1.networkutopia.com, NS)• (dns1.networkutopia.com, 212.212.212.1, A)(dns1.networkutopia.com, 212.212.212.1, A)
• No servidor autorizado, inserir um registro Tipo A para No servidor autorizado, inserir um registro Tipo A para www.networkutopia.com e um registro Tipo MX para www.networkutopia.com e um registro Tipo MX para networkutopia.comnetworkutopia.com
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1616
• Programa do usuário solicita endereço IP para um Programa do usuário solicita endereço IP para um nome de domínio;nome de domínio;
• Módulo tradutor (resolver) no host ou ISP local formula Módulo tradutor (resolver) no host ou ISP local formula consulta para servidor de nomes local (mesmo domínio consulta para servidor de nomes local (mesmo domínio do tradutor);do tradutor);
• Servidor de nomes local verifica banco de dados/cache Servidor de nomes local verifica banco de dados/cache local;local;• se encontrado, retorna endereço IP ao solicitante;se encontrado, retorna endereço IP ao solicitante;• se não encontrado, consulta outros servidores de se não encontrado, consulta outros servidores de
nomes disponíveis, começando pela raiz da árvore nomes disponíveis, começando pela raiz da árvore
do DNS ou o mais alto possível na árvore;do DNS ou o mais alto possível na árvore;• Quando a resposta é recebida, o servidor de nomes Quando a resposta é recebida, o servidor de nomes
local armazena o mapeamento nome/endereço no local armazena o mapeamento nome/endereço no cache local;cache local;
• Programa do usuário recebe endereço IP ou mensagem Programa do usuário recebe endereço IP ou mensagem de erro.de erro.
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1717
• Consulta começa com tradutor de nomes localizado no Consulta começa com tradutor de nomes localizado no sistema host do usuáriosistema host do usuário
• Se o nome solicitado não estiver no cache, é enviada Se o nome solicitado não estiver no cache, é enviada uma consulta ao servidor de DNS localuma consulta ao servidor de DNS local
• retorna um endereço imediatamente, ouretorna um endereço imediatamente, ou• retorna endereço após consultar outros servidoresretorna endereço após consultar outros servidores
• Dois tipos de consultas possíveisDois tipos de consultas possíveis• RecursivaRecursiva• IterativaIterativa
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1818
• Busca Busca recursivarecursiva para obter a resolução do nome para obter a resolução do nome gaia.cs.umass.edugaia.cs.umass.edu
11
22 33
4455
66
Host Host requisitante requisitante surf.eurecom.frsurf.eurecom.fr
Servidor de Servidor de nomes local nomes local dns.eurocom.frdns.eurocom.fr
Servidor de Nome RaizServidor de Nome Raiz
Servidor de nomes Servidor de nomes autoritário autoritário (Authoritative) (Authoritative) dns.umass.edudns.umass.edu
gaia.cs.umass.edugaia.cs.umass.edu
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 1919
• Busca recursiva com um servidor intermediário entre o Busca recursiva com um servidor intermediário entre o servidor raiz e o servidor autoritárioservidor raiz e o servidor autoritário
11
22
Host requisitante Host requisitante surf.eurecom.frsurf.eurecom.fr
Servidor de Servidor de nomes local nomes local dns.eurocom.frdns.eurocom.fr
Servidor de Nome RaizServidor de Nome Raiz
Servidor de nomes Servidor de nomes intermediário intermediário dns.umass.edudns.umass.edu
Gaia.cs.umass.eduGaia.cs.umass.edu
33
4455
6677
88
Servidor de nomes Servidor de nomes autoritário autoritário (Authoritative) (Authoritative) dns.umass.edudns.umass.edu
ProtocoloProtocolo
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2020
• Busca recursiva com um servidor intermediário entre o Busca recursiva com um servidor intermediário entre o servidor raiz e o servidor autoritárioservidor raiz e o servidor autoritário
11
22
Host requisitante Host requisitante surf.eurecom.frsurf.eurecom.fr
Servidor de Servidor de nomes local nomes local dns.eurocom.frdns.eurocom.fr
Servidor de Nome RaizServidor de Nome Raiz
Servidor de nomes Servidor de nomes intermediário intermediário dns.umass.edudns.umass.edu
Gaia.cs.umass.eduGaia.cs.umass.edu
33
4455
6677
88
Servidor de nomes Servidor de nomes autoritário autoritário (Authoritative) (Authoritative) dns.umass.edudns.umass.edu
AplicaçõesAplicações
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2121
• Clientes e servidores de DNS existem para a maioria dos Clientes e servidores de DNS existem para a maioria dos sistemas operacionais. sistemas operacionais.
• Nos sistemas operacionais, existe, pelo menos, um Nos sistemas operacionais, existe, pelo menos, um cliente (cliente (resolverresolver) nativo) nativo
• No Linux, a implementação mais comum é o No Linux, a implementação mais comum é o ISC BINDISC BIND para servidorpara servidor
• No Windows, o MS DNS Server é o mais utilizadoNo Windows, o MS DNS Server é o mais utilizado• Atualmente, todos os modens/roteadores ADSL possuem Atualmente, todos os modens/roteadores ADSL possuem
uma implementação de servidor DNS para cache (uma implementação de servidor DNS para cache (DNS DNS RelayRelay))
Exemplo de configuração Exemplo de configuração do ISC BINDdo ISC BIND
AplicaçõesAplicações
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2222
• Cliente DNS (resolver)Cliente DNS (resolver)• Responsável por solicitar as consultas ao Responsável por solicitar as consultas ao
servidorservidor• No Microsoft Windows e no Linux, o No Microsoft Windows e no Linux, o
utilitário utilitário nslookupnslookup possui funcionalidades possui funcionalidades para diagnóstico do serviço de DNSpara diagnóstico do serviço de DNS
• No Linux, o utilitário No Linux, o utilitário digdig substituiu o substituiu o nslookupnslookup na distribuições mais recentes na distribuições mais recentes
SegurançaSegurança
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2323
• Problemas de segurança mais comuns ao serviço de Problemas de segurança mais comuns ao serviço de DNS :DNS :• Ataques de negação de serviço (DOS – Denial of Ataques de negação de serviço (DOS – Denial of
Service)Service)• Clientes ficam impossibilitados de resolver Clientes ficam impossibilitados de resolver
nomesnomes• Se o usuário souber o IP do host destino, Se o usuário souber o IP do host destino,
poderá acessar sem problemas. poderá acessar sem problemas. Você sabe o IP Você sabe o IP do Terra de cabeça? do Terra de cabeça?
• Envenenamento de DNSEnvenenamento de DNS• Enganar o cache do DNS e forçar a resolução de Enganar o cache do DNS e forçar a resolução de
nomes para um IP maliciosonomes para um IP malicioso• Os usuários poderiam ser direcionados para Os usuários poderiam ser direcionados para
qualquer endereço que o atacante desejasse, mesmo qualquer endereço que o atacante desejasse, mesmo buscando de forma correta o domíniobuscando de forma correta o domínio
• Conhecida como Kaminsky Vulnerabilty (Conhecida como Kaminsky Vulnerabilty (http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html))
Referências BibliográficasReferências Bibliográficas
Prof. Eduardo M. Monks - Redes de Computadores III Prof. Eduardo M. Monks - Redes de Computadores III 2424
• RFC 1034 - RFC 1034 - DOMAIN NAMES - CONCEPTS AND FACILITIESDOMAIN NAMES - CONCEPTS AND FACILITIES• RFC 1035 – DOMAIN NAMES - IMPLEMENTATION AND RFC 1035 – DOMAIN NAMES - IMPLEMENTATION AND
SPECIFICATIONSPECIFICATION• Serviço WHOIS da ARIN - http://whois.arin.net/ui/Serviço WHOIS da ARIN - http://whois.arin.net/ui/• Serviço WHOIS da RIPE - http://www.ripe.net/db/whois.htmlServiço WHOIS da RIPE - http://www.ripe.net/db/whois.html
• Serviço WHOIS da APNIC - Serviço WHOIS da APNIC - http://www.apnic.net/apnic-info/whois_search2
• Arquivos HOSTS.TXT antigos - Arquivos HOSTS.TXT antigos - http://pdp-10.trailing-http://pdp-10.trailing-edge.com/bb-ev83b-bm/01/new-system/hosts.txt.htmledge.com/bb-ev83b-bm/01/new-system/hosts.txt.html
• Servidores Raiz (IANA) - Servidores Raiz (IANA) - http://www.iana.org/domains/root/db/index.htmlhttp://www.iana.org/domains/root/db/index.html
• Informações e localização dos servidores raiz - Informações e localização dos servidores raiz - http://www.root-servers.org/http://www.root-servers.org/
• Os cinco piores incidentes de segurança no serviço DNS - Os cinco piores incidentes de segurança no serviço DNS - http://www.securityweek.com/top-five-worst-dns-security-http://www.securityweek.com/top-five-worst-dns-security-incidentsincidents
• ALBITZ, Paul; LIU, Cricket. DNS and BIND. 4th edition, O’Reilly, ALBITZ, Paul; LIU, Cricket. DNS and BIND. 4th edition, O’Reilly, 2001.2001.
top related