tópicos em sistema de computção dns configuraçãoadriano/aulas/redes/2016/redes-ii/... ·...

28
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 [email protected] 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.

Upload: phungthuy

Post on 01-Dec-2018

218 views

Category:

Documents


0 download

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 [email protected]

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/