tópicos em sistema de computção dns configuraçãoadriano/aulas/redes/2016/redes-ii/... ·...
Post on 01-Dec-2018
218 Views
Preview:
TRANSCRIPT
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 1
DNS
Parte 2 - Configuração
REDES 2 &
TÓPICOS EM SISTEMAS DE COMPUTAÇÃO
Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org
1
Neste tópico veremos
q Como funciona o zone transfer.
q Como configurar resolvers, servidores recursivos, servidor primário e servidores secundários.
q Os diversos registros de DNS. q Configurar um domínio ou zona direta.
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 2
Revisão de conceitos
(Referência para estudo)
(Já vistos na 1ª. Parte do Tópico)
DNS – Queries & Answers REVISÃO REVISÃO
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 3
Servidor primário • Servidor primário ou servidor MASTER à é a fonte
oficial de todas as informações a respeito de um domínio específico. • É aquele que mantém todas as informações
atualizadas sobre o domínio. • Carrega as informações a respeito do domínio a partir de
arquivos locais (arquivos de zona e outros) mantidos pelo administrador do domínio.
• Responde a qualquer requisição sobre seu domínio com total autoridade à é chamado de authoritative server.
• Só pode existir UM E SOMENTE UM servidor primário
(master) para cada domínio!
5
REVISÃO REVISÃO
Servidores secundários
• Servidores “slave”. • Transferem (copiam) os dados a partir do
servidor primário. • NÃO possuem arquivos de zona próprios. • Arquivos descrevendo as zonas são transferidos
do servidor primário, e armazenados no servidor secundário como arquivos locais.
• Esta transferência chama-se zone transfer. • Lembre que é recomendável existir mais de um servidor
secundário, sendo obrigatório pelo menos um fora da rede física do primário.
6
REVISÃO REVISÃO
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 4
Zone transfers
3 tipos de transferência de arquivos de zone entre o primário e o(s)
secundário(s)
1. DNS Zone transfer: Full zone transfer
q De tempos em tempos o secundário solicita o registro SOA (SOA request) com base no refresh time e verifica se há alteração do serial number (SOA e serial number detalhados mais adiante).
q Se há alteração no Serial Number, transfere a zona inteira • Mediante TCP AXFR request.
q Se não houver resposta, repete com base no retry time. q Se atingir expiry time sem contato, o secundário deve parar de
responder pela zona. (tempos de refresh, retry e expiry serão vistos mais adiante)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 5
2. DNS Zone transfer: Incremental zone transfer
q Igual ao full zone transfer, porém incremental. • Solicita o registro SOA e verifica se alterou o serial.
q Se mudou SOA, secundário faz IXFR request • Request for Incremental Zone Transfer para o servidor primário.
q Primário (master) envia apenas os registros alterados. • Primário mantém histórico das alterações. • Redução de tráfego e melhoria de performance.
3. DNS Zone transfer: DNS Notify (RFC-1996)
q Neste caso o Primário notifica o secundário que houve alteração, via mensagem de notify. • Secundário solicita a o SOA e verifica (confirma)
que houve alteração no serial. • Secundário solicita a transferência via AXFR ou
IXFR.
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 6
Homework: DNS Dynamic Update
q Estudar como se utiliza: • DNS Dynamic Update. • RFC-2136.
q “DNS dynamic update provides an automated method to populate the DNS namespace with the current names and addresses for client and server computers by dynamically updating zone data on a zone's primary server.”
Reverse query (Consulta ao DNS reverso)
q Consulta reversa: em vez de fornecer um nome e solicitar um endereço IP, o cliente DNS fornece o endereço IP e solicita o FQDN correspondente.
q A zona que contêm o mapeamento de endereço IP-to-FQDN é conhecida como “zona reversa”. • Também chamado “registro PTR” (pointer).
• Veremos mais sobre zonas reversas nas configurações.
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 7
Representação da árvore de busca para DNS reverso
q Para encontrar um nome de host para o endereço IPv4 157.54.200.2, um cliente DNS envia uma consulta DNS para um registro PTR para o nome:
2.200.54.157.in-addr.arpa.
Configurações para servidores de DNS
Como configurar servidor primário e secundários
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 8
q BIND será usado como servidor de DNS. q Ações:
• Configurar o resolver num cliente. • Configurar o BIND para servidor recursivo. • Configurar uma zona.
• Configurar os processos iniciais, cache, etc... • Instalar um servidor primário (configurar os
“arquivos de zona”). • Configurar o(s) secundário(s) com a transferência
de zona.
Configuração básica
1. Configuração do Resolver
Exemplo trata Configuração Manual, mas poderia ser feita via provisionamento automático DHCP, LDAP, AD, ou similares.
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 9
q Arquivo de configuração manual do resolver: /etc/resolv.conf
• Consulta cada vez que se faz uma resolução.
• Todo host precisa ter configuração do resolver. • Lembrando que a configuração pode ser provisionada
automaticamente via DHCP ou outro protocolo.
• Neste exemplo fazemos a configuração manual.
1. Configurar um Resolver (1)
q Diretivas no /etc/resolv.confnameserver address(IP)
• Identifica pelo IP, quem é o nameserver a ser usado.
• Podem ser definidos, em sequência, 3 nameservers.
domain name.do.dominio (opcional)
• define o domínio DNS default. search lista_de_dominio (opcional)
• lista de domínios a acrescentar a um nome não completo.
1. Configurar um Resolver (2)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 10
# /etc/resolv.conf
# comentarios aparecem com sinal de “ # ”
domain acme.com.brsearch acme.com.br vendas.acme.com.br# o primeiro nameserver é o recursivo local
nameserver 192.168.0.184# o 2º e o 3º nameserver são recursivos externos
nameserver 200.145.201.1nameserver 8.8.8.8
1. Configurar um Resolver (3)
2. Configuração do servidor recursivo
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 11
Servidor recursivo: • /etc/named.conf.options ou • /etc/named.conf ou /etc/bind/named.conf
2. Configurar um servidor recursivo
options{recursion yes;allow-recursion{network_allowed;};
};
/*Define quais redes ou endereços IPs podem usar *//* este servidor recursivo. Deve-se restringir */
acl network_allowed{ 192.168.0.0/24; 200.145.201/24; 127.0.0.1;};
3. Configurar o primário
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 12
q Configuração de servidores primários: • O servidor primário carrega as informações da zona
a partir de arquivos locais.
• Exige um conjunto de arquivos de configuração que devem operar entre si.
• Erros nestes arquivos podem causar problemas sérios na operação do DNS.
• Observações:
• um servidor pode atuar como primário e como secundário ao mesmo tempo (para uma ou mais zonas) .
• Lembrando que uma zona só pode ter somente um primário.
3. Configurar um servidor primário (1)
3. Configurar um servidor primário (2)
q Arquivos de configuração no servidor primário:
named.conf (ou named.boot, named.conf.options)
named.cache (ou root.cache)
named.local (ou 127.0.0.db)
{algum.dominio}.db (ou named.hosts.dominio)
{rede.IP}.db (ou named.ip.rev)
q Geralmente no diretório /etc ou /etc/named ou /etc/bind • Pode depender do sistema ou distribuição. Verifique sua documentação.
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 13
Arquivos de configuração:
Nome usual do arquivo Descrição
named.conf ou named.boot
Ajusta os parâmetros gerais do named, e aponta para as bases de dados usadas pelo servidor. Estes dados podem ser arquivos locais, ou servidores remotos.
named.cache ou root.cache Define os root servers
Arquivos de Configuração – Primário (1)
Arquivos de configuração:
Nome usual do arquivo Descrição
named.local ou 127.0.0.db Resolução de loopback
named.hosts ou dominio.db
Arquivo de zona que mapeia host names para endereços IP e demais configurações.
named.rev ou IP-completo.db
Arquivo de zona reverso, que mapea endereço IP em host Names
Arquivos de Configuração – Primário (2)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 14
q Configuração de servidores secundários: • Servidores secundários não possuem
arquivos de zona próprios. • São copiados do primário. • Configuração mais simples.
• Arquivos necessários: o named.conf à principal configuraçãoo root.cacheo 127.0.0.db
Arquivos de Configuração – Secundário (1)
Configuração básica:
/etc/named.conf ou
/etc/bind/named.conf.options ou… (depende do seu sistema)
Exemplo de um arquivo named.conf em servidor autoritativo (master)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 15
options {
directory ”/etc/bind”;
allow-transfer {192.168.0.5; 200.145.201.1;
200.145.1.1; 192.168.0.90; 192.168.2.1; 192.168.2.9;
192.168.2.2; 192.168.2.11; 192.168.3.1; 192.168.3.2;
/* Máquinas para as quais permito transferir meus registros de DNS*/
/* Estas máquinas são normalmente as definidas como secundárias que
copiarão meus mapas */
};
/* este arquivo continua... */
Configuração básica – named.conf (1)
/* Domínios onde atuo como servidor auth (mapas master) */
zone “apt.br" {
type master;
file “/etc/bind/apt.br.db ";
/*arquivo onde está o mapa master*/};/* este arquivo continua... */
Configuração básica – named.conf (2)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 16
/* Domínios para os quais sou servidor secundário (mapas slave) */
zone "exemplo.com" { type slave; file “/etc/bind/exemplo.com.zone.bak ";
/* arquivo onde vai armazenar o mapa secundário*/
masters { 200.145.202.1; }; /*IP do primário onde vai buscar o mapa master*/
};
Configuração básica – named.conf (3)
/* este arquivo continua... */
/* Mapas diretos reversos */
zone “0.168.192.in-addr.arpa" {
type master;
file “/etc/bind/192.168.0.rev";
/*arquivo onde está o mapa master */};
Configuração básica – named.conf (4)
/* este arquivo continua... */
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 17
/* Mapas secundários (slaves) reversos */
zone “1.168.192.in-addr.arpa" {
type slave;
file “/etc/bind/192.168.1.rev.bak";
/* arquivo onde armazena o mapa secundário*/
masters {200.145.1.123; };
/* IP do primário onde vai buscar o mapa master*/};
Configuração básica – named.conf (5)
/* este arquivo continua... */
/* Resolver local */zone "localhost" { type master; file "/etc/bind/db.127";};zone "." { type hint; file "/etc/bind/db.root";};/* Root hints file – root cache file *//* ftp://rs.internic.net/domain/named.cache */
Configuração básica – named.conf (6)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 18
Configuração básica Arquivo de Zona Direta
Configuração de um servidor de domínio
q O arquivo de zona: • Tem sempre o mesmo formato básico.
• Mas pode haver variações de estilo. • Usa registros para definir as informações.
• Chamados “registros-padrão de recursos”. • Standard Resource Records. • Ou Resource Records (RRs).
Cada registro (RR) está associado com um tipo de definição de resolução.
Configuração básica – Arquivo de Zona (1)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 19
q Formato básico de um registro do DNS:
[name] [TTL] IN RRtype Data
Configuração básica – Arquivo de Zona (4)
name Este é o nome do objeto que o RR referencia. Pode ser um nome de host individual ou um domínio inteiro, ou outros objetos.
TTL Time to live define o tempo que a informação deste registro deve ser mantida em cache em outros hosts e recursivos. Padrão: segundos. Mas aceita “h”, “m” e “d” (horas, minutos, dias). Não havendo definição específica, usa-se o TTL global definido no SOA.
IN Define um registro como sendo um RR Internet (“IN”) (é mandatório; DNS foi projetado para aceitar outros tipos de registros de nomes para outras redes mas, na prática, só existem registros tipo IN de “Internet”)
RRtype Identifica de que tipo se trata este RR, descritos na tabela anterior (SOA, MX, A, etc..). (Veremos ADIANTE)
Data Trata-se da informação de dado específico para a qual aponta um registro RRtype. (Veremos ADIANTE o que isso significa)
Configuração básica – Arquivo de Zona (5)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 20
q Exemplo de um registro para um domíno unesp.br:
#{ aqui ainda virá o SOA no header }#
[name] [ttl] IN RRtype Data
www 3600 IN A 200.145.1.1
ftp.unesp.br. A 200.145.1.21
mail MX 200.145.1.143
Configuração básica – Arquivo de Zona (6)
Indicador de tipo do registro
Nome do RR Descrição
SOA Start of
Authority
Marca o início de dados de uma zona e define parâmetros que afetam a zona inteira.
NS Name Server
Define (aponta) um name server para um domínio.
A Address Converte (aponta) um host name para um endereço IP.
PTR Pointer
Define (aponta) um endereço IP para um hostname.
MX
Mail Exchange
Identifica (aponta) onde entregar mensagens para um dado domínio ou hostname.
Configuração básica – Arquivo de Zona (2) Alguns Tipos de Registros mais usados
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 21
Indicador do tipo do registro Nome do RR Descrição
CNAME
Canonical Name
Define um alias (sinônimo ou nome canônico) para um host name.
TXT Texto
Usado para definição de registro de SPF (Sender Policy Framework) para política anti-spam e
WKS
HW
Wel known Services
Anuncia os serviços de rede disponíveis naquele host. Não é exigida, e não é usada por motivos de segurança.
Configuração básica – Arquivo de Zona (3) Alguns Tipos de Registros mais usados
Exemplo de Configuração básica de uma zona
servidor autoritativo
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 22
TTL 86400 ; 24 hours could have been written as 24h or 1d
; $TTL used for all RRs without explicit TTL value
$ORIGIN example.com.
@ 1D IN SOA ns1.example.com. hostmaster.example.com (
2016110801 ; Serial (o serial)
10800 ; Refresh (3 horas em segundos)
3600 ; Retry (1 hora em segundos)
432000 ; Expire (5 dias em segundos)
86400 ; Minimum (24 hrs em seg.)
)
;
IN NS ns1.example.com.
IN NS ns2.godaddy.com.
ns1 IN A 192.168.0.1
; continua... ;
Configuração básica – Arquivo de Zona (7)
; continuação...
MX 0 mail.example.com.
MX 10 mailbkp.external.com.
; mailbkp é uma máquina de outro domínio
; Alias especias para o dominio
;
mail IN A 192.168.0.25
ssh IN A 192.168.0.23
server IN A 192.168.0.10
www IN CNAME server.example.com.
ftp IN CNAME server
example.com. TXT "v=spf1 a:mail.example.com -all"
Configuração básica – Arquivo de Zona (8)
Mais exemplos em: https://www.ripe.net/publications/docs/ripe-192 http://www.zytrax.com/books/dns/ch6/
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 23
Configuração básica – Zona Reverso (1)
0.168.192.IN-ADDR.ARPA. 1D IN SOA ns1.example.com. hostmaster.example.com (
(
2010080901 ; Serial (o serial)
10800 ; Refresh (3 horas em segundos)
3600 ; Retry (1 hora em segundos)
432000 ; Expire (5 dias em segundos)
86400 ; Minimum TTL (24 hrs em seg.)
)
;
IN NS ns1.example.com.
; continua...
; continuação
; Exemplo de reverso
1 IN PTR ns1.example.com.10 IN PTR server.example.com.
23 IN PTR ssh.example.com.25 IN PTR mail.example.com.
Configuração básica – Zona Reverso (2)
Mais exemplos em: https://www.ripe.net/publications/docs/ripe-192 http://www.zytrax.com/books/dns/ch6/
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 24
Exercícios - Anúncio SPF via TXT Exercício 1: Identifique e explique o que anunciam os dois exemplos abaixo colocados num arquivo de zona primário de example.com: q Exemplo 1: example.com. TXT "v=spf1 a:mail.example.com -all”
q Exemplo 2:example.com. TXT "v=spf1 mx ip4:204.200.197.197 ip4:199.236.109.182 ?include:spf.postini.com ?ip4:192.67.9.40/30 ip4:72.54.24.99 -all"
Exercício 2: entenda e explique a diferença entre os resultados “softfail”, “fail”, “pass” e “neutral” e sua relação com o anúncio “~all” e “-alI” Ver: http://www.openspf.org/SPF_Record_Syntax
Exercícios – outros usos possíveis de anúncios via TXT e CNAME
q Exercício: Entenda quais outros usos existem para os anúncios de TXT e CNAME no DNS.
Dica: como exemplo, veja como é feita a validação de Google Adsense e Google Analitycs, ou o anúncio de uma chave DKIM usada para mitigação a SPAM.
Exemplo:default._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnX/oPYI/f+QKP3ZoVQwIe0Fn6205tr1xFWAtOil+yXbEiAdF2SMOZvydPIY6VdL2wE7qFK4TUXFo5lEa7mX8zPk1Q53AjB/7OH2Ie1+EfkFWz03wFbZvuUd6xDAi9k17UQ5bYzYMSpIu6kqh/VM/W0JIziOaKurSf7dA81myywwIDAQAB\;"
Ver:
http://www.antispam.br/admin/dkim/
http://dkim.org/
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 25
Configuração básica Logs de DNS
Como configurar logs
logging{ channel "named_log"{ file "/var/log/bind/named_log"; print-time yes; severity info; print-category yes; print-severity yes; }; category "default" { "named_log"; };
};
Adicionar no arquivo: /etc/bind/named.conf.optionsou /etc/named.conf:
Configuração básica – Log (1)
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 26
q Alterar o proprietário da pasta onde está os logs: chown -R bind.bind /var/log/bind;
q Adicionar no arquivo /etc/apparmor.d/usr.sbin.named:
/var/log/bind/named_log w,
q Recarregar o perfil do bind no apparmor: cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser –r
q Reiniciar o bind: /etc/init.d/bind9 restart
q Configurar o arquivo para rotacionar os logs em /etc/logrotate;
Configuração básica – Log (2)
q Arquivo /etc/bind/db.root: • Também chamado /etc/named.cache • Chamado de arquivo de hint, root, ou cache. • Aponta os 13 rootservers e raramente muda. • ftp://rs.internic.net/domain/named.cache • É a “semente” ou raiz.
q Arquivo /etc/bind/db.127: • Usado apenas para converter o endereço
127.0.0.1 que é o endereço de loopback para o nome localhost.
Configuração básica – Outros Arquivos
Mais exemplos em: https://www.ripe.net/publications/docs/ripe-192 http://www.zytrax.com/books/dns/ch6/
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 27
Debug de DNS
Comandos – Dig
q Sintaxe: dig [@server] name [type]
q Onde: • @server: indica o servidor DNS a consultar; • name: indica o nome de domínio a consultar; • type: indica o registro desejado: A (default), NS,
MX, CNAME, etc.
Tópicos em Sistema de Computção DNS Configuração
Prof. Dr. Adriano Mauro Cansian 28
Neste tópico vimos:
q Breve revisão sobre DNS. q Como funciona o zone transfer. q Como configurar resolvers, servidores
recursivos, servidor primário e servidores secundários.
q Como funcionam os diversos registros de DNS. q Como configurar um domínio ou zona direta.
Referência para estudo
• O tratamento utilizado neste tópico é o mesmo adotado pelo livro Craig Hunt - TCP/IP Network Administration. Este tratamento é excelente e suficiente para o administrador de redes e UNIX. Entretanto, por algumas vezes, este texto não é muito formal, ou seja, ignora alguns conceitos, considerando-se o ponto de vista acadêmico e mais aprimorado. Para alunos que desejam ir mais a fundo na questão, e aprimorar sua formação e seus conhecimentos em gerenciamento, recomenda-se uma leitura atenta do capítulo 14 (DNS: The Domain Name System) de TCP/IP Illustrated - Volume 1 - The Protocols, de Richard Stevens . Trata-se de um texto excelente, de fácil compreensão e com excelentes ilustrações que auxiliam no entendimento.
• Créditos – Fair Use: este material foi produzido a partir de um dos livros-texto adotados no disciplina: Hunt, Craig - TCP/IP Network Administration - O’Reilly & Associates, Inc. - 1.a Edição - Capítulo 3, pag. 51 e Capítulo 8, pag 167. Este material pode usar citações e figuras de outros autores. Direitos reservados aos autores. Todas as citações feitas em caráter didático para uso em sala de aula.
56
Mais exemplos selecionados em: https://www.ripe.net/publications/docs/ripe-192 http://www.zytrax.com/books/dns/ch6/
top related