Você está na página 1de 37

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.

090-00

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

IT Experience

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Objetivos da Aula
Aula 02 Servidor DNS (1/2)
Introduo a resoluo de nomes;
Executar diagnsticos utilizando servidor DNS externo;
Implementar na prtica um servidor de cache com bind9;
Implementar na prtica um servidor primrio com bind9;
Executar diagnsticos utilizando servidor DNS interno;

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Objetivos da Aula
Aula 02 Servidor DNS (2/2)
Utilizar ferramenta de gerenciamento do named;
Implementar na prtica um servidor DNS reverso com bind9;
Implementar na prtica um servidor Secundrio com bind9;
Melhorar a segurana no servidor DNS.

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
DNS Domain Name System:
Responsvel pela resoluo de Nome para IP e de IP para Nome;
Criado e mantido pelo ISC (Internet System Consortium), mesmo grupo
que mantm DHCP e NTP;
Eles so divididos em "gTLD" (domnios genricos "com", "edu", "gov",
"mil", etc) e "ccTLD" (cdigos de pases ou "country-code", sempre com
duas letras);
A

ICANN

delega,

de

acordo

com

tratados

internacionais,

responsabilidade pela administrao de um "ccTLD";


No caso do Brasil, essa responsabilidade pertence atualmente ao
"CGI.br", mais especificamente ao "REGISTRO.br";
6

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Dois servidores, o primrio e o secundrio, devem ter um mecanismo
configurado corretamente para que eles se mantenham sincronizados;
O DNS reverso deve estar configurado;
O servidor deve trabalhar de forma autoritativa, responsvel apenas
pelo domnio dexter.com.br;
Configurar o servidor primrio para notificar o secundrio quando
houver atualizao na zona;
Restringir acesso apenas para a rede interna realizar consulta
recursiva;
Restringir acesso apenas para o servidor secundrio realizar
transferncia de Zona.

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
http://root-servers.org/map/
Root Servers

.com

.net

.org

gTLD (Generic Top Level Domain)

.br

.uk

.pt

ccTLD (Country Code Top Level Domain)

.com

.org
http://registro.br/dominio/

dexter
www
8

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
4. Indica o TLD
responsvel
Root
Servers
5. Indica o SOA
Responsvel

1. Quem
Google.com ?

DNS Primrio

2. Tem no Cache?
3. Pergunta Root
Servers

TLD
(.com)
6. Responde com
o IP do
www.google.com
DNS
Autoridade
google.com
9

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Tipos de DNS:
DNS AUTORITATIVO O servidor autoritativo de um domnio
possui os registros originais que associam aquele domnio a seu
endereo de IP. Tem sua responsabilidade na humanidade;

DNS DE CACHE Um cache DNS guarda localmente os resultados


dessa pesquisa para utilizao futura, evitando a repetio de
pesquisas e aumentando drasticamente a velocidade de resposta.

10

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Tipos de Registros do DNS:
SOA

Start Of Authotity - Indica onde comea a autoridade da zona;

NS

Name Server - Indica um servidor de nomes para a zona;

Address - Mapeamento de nome a endereo (IPv4);

AAAA Address - Mapeamento de nome a endereo (IPv6);


MX

Mail eXchanger - Indica um servidor de email;

CNAME Canonical Name (Alias) - Mapeia um nome alternativo (Alias)


PTR

Pointer Record (IP reverso);

TXT

Text Permite incluir uma entrada de texto curto. Mais usado

para SPF.

11

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit

Exemplos de Consultas DNS:


Quem o servidor de e-mail do google?
host -t mx google.com
Qual o endereo do servidor webmail.4linux.com.br?
host -t A webmail.4linux.com.br
Quais so os servidores DNS da 4linux?
host -t NS 4linux.com.br
Fazendo uma pesquisa por um DNS em especfico:
dig @8.8.8.8 -t NS 4linux.com.br
12

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit

Servidor DNS:
1#aptgetinstallbind9

netstatnlup|grep53
2#vim/etc/resolv.conf

5#cd/etc/bind/
6#ls
7#catdb.root
8#catnamed.conf.defaultzones

nameserver127.0.0.1

9#catnamed.conf.options
nameserver192.168.200.130

3#hostgoogle.com
4#aptgetupdate

ATENO: Por padro, o bind9 no traz o pacote dns-utils instalado,


responsvel pelos utilitrios de consulta DNS dig e host.
13

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Criao do arquivo de Zonas:

Servidor: Audit

1#vimnamed.conf.local

zone"dexter.com.br"{

typemaster;
file"db.dexter";

};

Verifique se as configuraes foram realizadas com sucesso:


2#namedcheckconf

Entre dentro do diretrio /var/cache/bind e copie o arquivo de registro:


3#cd/var/cache/bind
4#cp/root/dns/db.dexter/var/cache/bind/
5#vimdb.dexter

14

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit

$TTL86400;TempoemSegqueoCachepermanecenosDNSdoMundo
@INSOAns1.dexter.com.br.root.dexter.com.br.(
2015030301;serial
8h;refresh
1h;retry
3d;expire
3h);negativecachingttl
@INNSns1.dexter.com.br.
ns1INA192.168.200.30
@INA192.168.200.30
auditINA192.168.200.30
wwwINA192.168.200.130

15

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit

intranetINA192.168.200.130
bkpreportINCNAMEintranet
backupINCNAMEintranet
webmailINCNAMEintranet
sargINCNAMEintranet
ftpINCNAMEintranet
@INMX10mail.dexter.com.br.
mailINA192.168.200.131
smtpINCNAMEmail
popINCNAMEmail
imapINCNAMEmail
ldapINCNAMEmail
;ConfiguraodoDNSsecundrio
;@INNSns2.dexter.com.br.
;ns2INA192.168.200.130
16

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit
1#namedcheckzonedexter.com.br/var/cache/bind/db.dexter
2#tailf/var/log/daemon.log>/dev/tty2&
3#/etc/init.d/bind9stop
4#/etc/init.d/bind9start
5#digtsoadexter.com.br
6#hostdexter.com.br
7#hostintranet.dexter.com.br

17

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit

Explorando a ferramenta RNDC:


1#rndcstatus
2#rndcreload
3#hostuol.com.br
4#rndcdumpdbcache
5#cat/var/cache/bind/named_dump.db
6#grepuol/var/cache/bind/named_dump.db
7#rndcflush
8#rndcdumpdbcache
9#grepuol/var/cache/bind/named_dump.db

18

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Transferncia de Zona
Servidor: Audit

Transferncia de Zona consiste no Servidor DNS;


Primrio passar toda a configurao de uma determinada Zona;
Pensando em Segurana, essa ao sempre deve ser restrita
apenas a servidores DNS autorizados a receber as suas
configuraes;
muito comum SysAdmins deixarem a Transferncia de Zona
aberta no Servidor causando uma brecha de segurana:
1#digdexter.com.braxfr

19

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Transferncia de Zona
Protegendo seu DNS
1#vim/etc/bind/named.conf.local

zone"dexter.com.br"{

typemaster;

file"db.dexter";

allowtransfer{192.168.200.130;};

notifyyes;

alsonotify{192.168.200.130;};

};

2#/etc/init.d/bind9restart
3#digdexter.com.braxfr

Servidor: Audit

allow-transfer
Restringir a
transferncia de zona
apenas para
Servidores
Autorizados;
As opes notify e
also-notify
determinam se o
servidor primrio
notifica servidores
secundrios quando a
informao de zona
for atualizada.

20

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
DNS Reverso:

Servidor: Audit

DNS reverso um recurso que permite que outros servidores verifiquem a


autenticidade do seu servidor. Para isso, ele checa se o endereo IP atual
bate com o endereo IP informado pelo servidor DNS:
1#hostmail.dexter.com.br
2#host192.168.200.131
3#vim/etc/bind/named.conf.local

zone"200.168.192.inaddr.arpa"{ Adicione abaixo da Zona J exitente.

typemaster;

file"rev.dexter";

allowtransfer{192.168.200.130;};

notifyyes;

alsonotify{192.168.200.130;};
};
21

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
DNS Reverso:
1#cp/root/dns/rev.dexter/var/cache/bind/
2#vim/var/cache/bind/rev.dexter

$TTL86400
@
IN
SOA
ns1.dexter.com.br.
root.dexter.com.br.(

2015010101;serial

8h;refresh

1h;retry

3d;expire

3d);negativecachettl
@
ns1
131

IN
NS

IN
IN

ns1.dexter.com.br.
A
192.168.200.30
PTR
mail.dexter.com.br.
22

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Audit

Checando o DNS Reverso:


1#/etc/init.d/bind9restart
2#hostmail.dexter.com.br

mail.dexter.com.brhasaddress192.168.200.131

3#host192.168.200.131

131.200.168.192.inaddr.arpadomainnamepointer

mail.dexter.com.br.200.168.192.inaddr.arpa.

23

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
DNS Secundrio:

Servidor: WebServerInterno

Os servidores DNS Secundrios ajudam a fornecer equilbrio de


carga e tolerncia a falhas. Os servidores DNS secundrios
mantm uma cpia somente leitura dos dados da zona
transferidos periodicamente do servidor DNS Primrio:
1#yuminstallbindbindutils

2#vim/etc/named.conf

include/etc/named.conf.local; Adicionar no final do Arquivo

3#vim/etc/resolv.conf

nameserver127.0.0.1
nameserver192.168.200.30

4#systemctlenablenamed.service

24

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
DNS Secundrio:

Servidor: WebServerInterno

1#vim/etc/named.conf.local

zone"dexter.com.br"{

typeslave;

masters{192.168.200.30;};

file"/var/named/slaves/db.slave.dexter";
};
zone"200.168.192.inaddr.arpa"{

typeslave;

masters{192.168.200.30;};

file"/var/named/slaves/rev.slave.dexter";
};
2#systemctlrestartnamed.service
3#ls/var/named/slaves/

Hmm algum problema


25

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Security Cloud

Mascaramento no Firewall:
Os servidores DNS no esto conseguindo se comunicar, pois os
pacotes esto sendo mascarados pelo firewall ou seja, quando o
pacote est indo com destino a Lan interna, o mesmo mascarado
e se perde, no chegando ao destino correto.
Devemos trabalhar com excees, onde o pacote somente ser
mascarado se o destino for a internet e no as Lans internas.

26

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Security Cloud

Mascaramento no Firewall:
Abra o arquivo de configurao do firewall e edite as regras de
mascaramento de ip:
1#vim+55/root/firewall/rules

55iptablestnatAPOSTROUTINGs$LAN1!d$LAN2j
MASQUERADE
Tudo que sair da Lan 192.168.200.0/25 ser mascarado EXCETO se for com destino a Subnet2

56iptablestnatAPOSTROUTINGs$LAN2!d$LAN1j
MASQUERADE
Tudo que sair da Lan 192.168.200.128/25 ser mascarado EXCETO se for com destino a Subnet1
2#servicefirewallrestart

27

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Laboratrio Dexter
Servidor: Webserver Interno

Validando a transferncia de Zona


No servidor Webserver Interno, restarte o bind e verifique se a
transferncia de zona consegue ser realizada com sucesso:
1#systemctlrestartnamed.service
2#ls/var/named/slaves/

Transferncia de zona realizada com sucesso!

28

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Laboratrio Dexter
Servidor: Audit

Validando os Servidores DNS:


Validando o DNS MASTER:
1#dig@192.168.200.30google.com.br

Validando o DNS SLAVE:


2#dig@192.168.200.130google.com.br

Alguma coisa de errado no arquivo de conf. do servidor DNS Slave.


Encontre qual o problema e resolva.

29

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
Servidor: Webserver Interno

Resolvendo o problema no DNS Slave:


1#vim/etc/named.conf

options{

listenonport53{127.0.0.1;192.168.200.0/25;
192.168.200.128/25;};

listenonv6port53{::1;};

directory"/var/named";

dumpfile/var/named/data/cache_dump.db;

memstatisticsfile/var/named/data/named_stats.txt;

allowquery{localhost;192.168.200.0/25;
192.168.200.128/25;};
};
2#systemctlrestartnamed.service

30

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

DNS Recursivo

DNS Recursivo a funcionalidade que o DNS possui por padro


de realizar consultas para todos os domnios mesmo que ele no
seja o servidor autoritativo daquele domnio;
Para evitar abuso em servidores DNS que ficam disponveis na
internet, importante limitar a recursividade apenas para redes
autorizadas;
1#host8.8.8.8
2#dig@8.8.8.8tauol.com.br
3#hostns1.google.com
4#dig@216.239.32.10tauol.com.br

31

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Servidor DNS
DNS Recursivo no DNS Primrio:

Servidor: Audit

1#vim/etc/bind/named.conf.options

options{

directory"/var/cache/bind";

allowrecursion{127.0.0.1;192.168.200.0/25;

192.168.200.128/25;};

allowquery{127.0.0.1;192.168.200.0/25;

192.168.200.128/25;};

authnxdomainno;

listenonv6{any;};

};
2#/etc/init.d/bind9restart

32

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

DICA
Criao de ACL no BIND
O bind tem uma funcionalidade que a criao de acls, uma forma
de deixar seus arquivos de configurao mais limpos e organizados.

Exemplo de Criao de ACL


aclrede_dexter{

127.0.0.1;192.168.200.0/25;192.168.200.128/25;

};
allowrecursion{rede_dexter;};
allowquery{rede_dexter;};

33

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Pergunta LPI
Usando apenas comandos presentes no named, qual o comando, com
opes ou parmetros para fazer com que o named releia os arquivos
de zona?

Os usurios de uma rede local se queixam de que a resoluo de nomes


no rpida o suficiente. Insira o comando, sem o caminho ou opo,
que mostra o tempo necessrio para resolver uma consulta DNS.

34

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Pergunta LPI
Usando apenas comandos presentes no named, qual o comando, com
opes ou parmetros para fazer com que o named releia os arquivos
de zona?
Resposta: rndc reload
Os usurios de uma rede local se queixam de que a resoluo de nomes
no rpida o suficiente. Insira o comando, sem o caminho ou opo,
que mostra o tempo necessrio para resolver uma consulta DNS.
Resposta: dig

35

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00

Prximos Passos
Para que voc tenha um melhor aproveitamento do curso,
participes das seguintes atividades disponveis no Netclass:
Executar as tarefas do Practice Lab;
Resolver o Desafio Appliance Lab e postar o resultado no
Frum Temtico;
Responder as questes do Teste de Conhecimento sobre o
contedo visto em aula.
Mos obra!

36

Fabian Vitali Da Silva / fabianvitali@gmail.com / 55-34312743 / 006.222.090-00