Beruflich Dokumente
Kultur Dokumente
www.4linux.com.br
ence
Business Intelig lx8
F
u/
.m
va
http://
BPM
http://va.mu/EuiT
Servidor Java EE
http://va.mu/FlyB
PostgreSQL
http://va.mu/EuhV
Monitoramento
http://va.mu/EukN
Virtualizao
http://va.mu/Flxl
Groupware Yj
u/FN
http://va.m
Backup
http://va.mu/Flxr
Auditoria e Anlise
http://va.mu/Flxu
Segurana
http://va.mu/Flxy
Ensino Distncia
http://va.mu/Flxc
Integrao Continua
http://va.mu/FlyD
GED - ECM
http://va.mu/Flx3
Alta Disponibilidade
http://va.mu/FNbL
Infraestrutura Web
http://va.mu/Flxi
Implantao garantida
http://va.mu/GcFv
Contedo
3 Servidor DNS - Primrio
3.1
3.2
3.3
Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1
Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2
Resoluo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3
Resoluo Recursiva . . . . . . . . . . . . . . . . . . . . . .
3.1.4
Resoluo Iterativa
3.1.5
O arquivo hosts
3.1.6
Ferramentas de consulta . . . . . . . . . . . . . . . . . . . . 13
. . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . 18
3.2.1
3.2.2
3.2.3
DNS VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.4
3.2.5
FIREWALL
3.3.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Configurando o RNDC . . . . . . . . . . . . . . . . . . . . . . 34
Captulo 3
Servidor DNS - Primrio
3.1 Introduo terica
Durante os anos 70, Arpanet era uma pequena comunidade de algumas centenas
de hosts. Um nico arquivo, HOSTS.TXT, continha toda a informao necessria
sobre os hosts. Este arquivo continha nome para enderear cada host conectado a
ARPANET.
O arquivo era mantido pela Network Information Center (NIC) e distribudo por um
nico host, Stanford Research Institutes Network Information Center (SRI-NIC). Os
administradores da ARPANET enviavam ao NIC, por e-mail, quaisquer mudanas
que tivessem sido efeituadas e periodicamente SRI-NIC era atualizado, assim como
o arquivo HOSTS.TXT. As mudanas eram compiladas 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 HOST.TXT crescia na proporo
em que crescia o nmero de hosts. Alm disso, o trfego gerado com o processo
de atualizao crescia em propores ainda maiores uma vez que cada host que era
includo no s significava uma linha a mais no arquivo HOST.TXT, mas um outro
host atualizando a partir do SRI-NIC.
E quando a ARPANET passou a usar protocolos TCP/IP, a populao da rede "explodiu". E passaram a existir alguns problemas com o HOST.TXT:
4Linux www.4linux.com.br
http://www.gta.ufrj.br/grad/anteriores98/dns-ticiana/historia.htm
Pgina 7
4Linux www.4linux.com.br
3.1.1 Caractersticas
Banco de dados hierrquico e distribudo representado no formato de uma rvore invertida e 127 nveis;
"Namespace"de at 63 caracteres;
Capacidade de associar outras informaes a um "host"e no s seus endereos IPs;
Arquitetura cliente/servidor;
Os clientes so chamados "resolvers"e costumam ser bibliotecas do sistema
operacional ("libresolv"no Gnu/Linux) compartilhadas entre os mais diversos
programas, como "ping"ou o navegador web;
Do outro lado esto os servidores de nome "DNS", os "DNS nameserver";
A raiz da rvore tem nome nulo ou , por isso a representamos simplesmente
como ponto (.);
Os ns abaixo do domnio raiz so chamados domnios de nvel mais elevado TLD (top level domains);
Sua quantidade e nomes so impostos pela ICANN - Internet Corporation for
Assigned Names and Numbers;
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, a responsabilidade
pela administrao de um "ccTLD";
Pgina 8
4Linux www.4linux.com.br
3.1.2 Resoluo
Resoluo "DNS" o processo pelo qual um programa consulta dados a respeito de
um "hostname". Na grande maioria das vezes, consulta-se o endereo IP deste
"host"para ento efetuar algum tipo de conexo algum servio, como "HTTP",
"SMTP, "POP", dentre outros. O processo de resoluo, a partir do primeiro "nameserver"consultado, pode ser:
recursiva
iterativa
Pgina 9
4Linux www.4linux.com.br
Pgina 10
4Linux www.4linux.com.br
Pgina 11
4Linux www.4linux.com.br
Endereco_IP
Hostname_canonico
192.168.200.254
gateway . com . br
Aliases
gateway
Devemos colocar um endereo IP por linha, seguido de um endereo cannico e opcionalmente "aliases"(apelidos). O nome de "host"cannico pode ser qualquer nome
no formato "DNS", porm, em alguns casos, como o de servidores de e-mails, adequado que os IPs presentes nesta mquina tenham um "FQDN"pertinente. FQDN
(Fully Qualified Domain Name) um "hostname"que identifica, sem ambiguidade,
a posio daquele n dentro da rvore DNS.
Por esta razo, um "FQDN"deve terminar com um ".", que representa a raiz da rvore. Os "aliases"podem ser outros "hostnames"cannicos, ou simples sufixos, para
simplificar a escrita de determinados endereos. Aps a instalao do sistema, o arquivo "hosts"costuma conter uma entrada referente ao IP da interface "loopback", e
uma entrada para cada outra interface presente na mquina para qual um endereo
foi atribudo.
[http://gnulinuxbr.com/2010/05/04/domain-name-system-servidor-dns-nodebian-parte-1/ ]
Por exemplo:
127.0.0.1 localhost
192.168.1.50
Pgina 12
micro50
4Linux www.4linux.com.br
Pode ser acrescentadas quantas entradas forem necessrias, inclusive para IPs externos. Atualmente, os sistemas baseados em Debian j contm entradas para endereamento "IPv6", que seguem a mesma lgica. Poder ver isto executando:
...
::1
nslookup
A "ISC" (Internet Systems Consortium - www.isc.org) diz, literalmente, no manual
de utilizao do BIND: "Devido a sua interface misteriosa e frequente comportamento inconsistente, ns no recomendamos o uso do "nslookup". Usem o
"dig"no lugar dele".
Porm, o pacote mantido pela prpria ISC em nome da legio de administradores
que se habituaram a utilizar o "nslookup"como ferramenta de resoluo de problemas.
Pgina 13
4Linux www.4linux.com.br
Dentre suas vantagens est o fato de ter uma biblioteca de resoluo independente
do sistema, e consultar um servidor por vez, dentre os listados no "/etc/resolv.conf".
Apesar da consulta ser mais lenta, torna a triagem mais controlvel. Dentre os problemas mais crnicos do "nslookup"esto: respostas confusas e erros indefinidos.
host
dig
O comando "dig" o acrnimo para "Domain Information Groper", que significa algo
como "aquele que busca por informaes de domnio no escuro", e ao mesmo
tempo, a palavra "dig"em ingls significa literalmente "escavar". Acho que mencionar
estas curiosidades demonstra o esforo de imaginao dos criadores do "dig"e, no
toa, ele o comando de pesquisa mais poderoso no pacote de utilitrios "BIND".
No "dig"h dezenas de opes e incontveis combinaes entre elas, por isso consultar o "man"e, sobretudo, ter um forte domnio do funcionamento do sistema de
nomes de domnio, necessrio para dom-lo.
Pgina 14
4Linux www.4linux.com.br
;; QUESTION SECTION :
;; ANSWER SECTION :
10
IN
300 IN
A 66.118.142.41
...
;; QUESTION SECTION :
;; ANSWER SECTION :
IN
300 IN
A
A 66.118.142.41
8
9
10
Pgina 15
11
4Linux www.4linux.com.br
...
;; QUESTION SECTION :
; gmail . com .
;; ANSWER SECTION :
gmail . com .
1425
IN
MX
gmail . com .
1425
IN
MX
gmail . com .
1425
IN
MX
10
gmail . com .
1425
IN
MX
11
gmail . com .
1425
IN
MX
12
IN
MX
13
14
...
;; QUESTION SECTION :
;; ANSWER SECTION :
8
9
IN
PTR
CNAME 137.128 -
10
11
12
...
Pgina 16
4Linux www.4linux.com.br
30820 IN
NS
30820 IN
NS
30820 IN
NS
30820 IN
NS
30820 IN
NS
30820 IN
NS
10
30820 IN
NS
11
30820 IN
NS
12
30820 IN
NS
13
30820 IN
NS
14
30820 IN
NS
15
30820 IN
NS
16
30820 IN
NS
17
18
br .
172800
IN
NS
c . dns . br .
19
br .
172800
IN
NS
f . dns . br .
20
br .
172800
IN
NS
a . dns . br .
21
br .
172800
IN
NS
d . dns . br .
22
br .
172800
IN
NS
b . dns . br .
23
br .
172800
IN
NS
e . dns . br .
24
;; Received 287 bytes from 192.5.5.241 # 53( f . root - servers . net ) in 216
ms
25
4 linux . com . br .
86400 IN
NS
26
4 linux . com . br .
86400 IN
NS
27
28
29
4 linux . com . br .
60
IN
NS
30
4 linux . com . br .
60
IN
NS
31
4 linux . com . br .
60
IN
NS
32
300 IN
A 66.118.142.41
44 ms
Pgina 17
4Linux www.4linux.com.br
O arquivo principal chama-se "/etc/bind/named.conf" mas contm apenas configuraes estticas. Ele utiliza a clusula include para anexar os arquivos "/etc/bind/named.conf.options" e "/etc/bind/named.conf.local". Sendo que desses dois,
o primeiro serve para personalizar todas opes referentes ao funcionamento do
prprio "BIND", enquanto que o segundo serve para declarar todas as zonas pelas
quais este servidor deve responder.
Alm dos arquivos citados acima, temos o arquivo "db.root"(no RedHat fica em "/var/named/named.ca") que relaciona os endereos dos 13 servidores raiz e lido como
"zona hint", que ser explicada adiante.
Pgina 18
4Linux www.4linux.com.br
tcp
0
OU A
tcp
tcp
tcp
tcp6
tcp6
udp
0 127.0.0.1:53
0.0.0.0:*
0 127.0.0.1:953
0.0.0.0:*
0 :::53000
:::*
1033/ sshd
0
OU A
8
0.0.0.0:*
862/ named
OU A
7
0 192.168.200.3:53
862/ named
OU A
6
0.0.0.0:*
862/ named
OU A
5
0 0.0.0.0:53000
1033/ sshd
OU A
4
0 :::53
:::*
862/ named
0
0 192.168.200.3:53
0.0.0.0:*
862/ named
9
udp
0 127.0.0.1:53
0.0.0.0:*
862/ named
10
udp6
0 :::53
:::*
862/ named
Execute o tcpdump para verificar os pacotes saindo de uma porta alta at a porta
53/udp de seu servidor:
Pgina 19
4Linux www.4linux.com.br
19:11:52.544000 IP 192.33.4.12.53 > 192.168.200.3.29726: 39309* 14/0/23 NS m . root - servers . net . , NS d . root - servers . net . , NS h . root
- servers . net . , NS k . root - servers . net . , NS g . root - servers . net . , NS
i. root - servers . net . , NS b . root - servers . net . , NS j . root - servers .
net ., NS a . root - servers . net . , NS f . root - servers . net . , NS c . root servers . net . , NS l . root - servers . net . , NS e . root - servers . net . ,
RRSIG (857)
Pgina 20
4Linux www.4linux.com.br
2
3
;; MSG SIZE
6 11:47:36 2012
rcvd : 129
7
8
9
10
11
12
13
;; MSG SIZE
6 11:47:53 2012
rcvd : 129
Para que a partir de agora todas as nossas aplicaes utilizem o potencial de nosso
servidor "cache", edite o arquivo "/etc/resolv.conf" e mantenha apenas as linhas a
seguir:
Pgina 21
nameserver 192.168.200.3
4Linux www.4linux.com.br
A fim de termos uma maior segurana em relao s mudanas do arquivo /etc/resolv.conf, podemos adicionar um atributo de proteo a ele, no permitindo qualquer
tipo de alterao:
Pgina 22
4Linux www.4linux.com.br
hint - Especfica para o "BIND"onde ele deve comear uma busca recursiva quando
estiver operando como "cache". Por padro, h uma "zona hint"criada com os endereos dos 13 "root servers".
forward - Serve para orientar o "BIND"a encaminhar a consulta sobre uma determinada "zona"para outro servidor em especial. O encaminhamento de consultas tambm pode ser especificado de maneira global no arquivo "named.conf.options".
delegation-only - Para evitar abusos de algumas autoridades sobre domnios de
primeiro nvel como "COM", "NET", "ORG", etc., o "BIND"mantm o tipo de zona
"delegao apenas". Qualquer resposta que no tenha uma delegao explcita ou
implcita na seo autoridade ser transformada em uma resposta "NXDOMAIN".
Vamos configurar nossa zona DNS: dexter.com.br Pode ser que na Internet j exista
um domnio com este nome, mas isso no importa porque nossas consultas ficaro
limitadas a nossa rede interna.
As "zonas"devem ser declaradas no arquivo "/etc/bind/named.conf.local". Uma
"zona"mestre precisa, no mnimo, do nome do domnio, tipo de "zona" e o caminho
para o banco de dados de registros. Quando apenas o nome do arquivo citado, o
servidor "BIND"vai procur-lo no diretrio definido na opo "directory", do arquivo
"/etc/bind/named.conf.options". Isso significa que, por padro, o caminho completo
corresponderia a "/var/cache/bind/db.dexter".
O contedo do banco de dados da "zona"que foi declarado ser principalmente uma
srie de registros de recursos ("resources records"), ou simplesmente, registros. No
entanto, trs diretivas so suportadas:
"$TTL"
"$ORIGIN"
"$INCLUDE"
Com exceo do "$TTL", as demais so raramente utilizadas.
Pgina 23
4Linux www.4linux.com.br
Pgina 24
4Linux www.4linux.com.br
http://gnulinuxbr.com/2010/05/17/domain-name-system-%E2%80%93-
servidor-dns-no-debian-%E2%80%93-parte-3/ ]
Pgina 25
4Linux www.4linux.com.br
root@dmz :~ # sed 2 i " view \" all \" {" / etc / bind / named . conf . default zones -i
default - zones -i
Pgina 26
4Linux www.4linux.com.br
2
3
....
4
5
192.168.200.0/24;
10.0.0.0/24;
};
9
10
11
12
recursion yes ;
13
14
type master ;
15
16
};
};
17
18
};
19
20
21
22
23
recursion yes ;
24
25
type master ;
26
27
};
28
29
};
Pgina 27
4Linux www.4linux.com.br
3
4
IN
SOA
YYYYMMDDNN ; serial
8 h ; refresh
1 h ; retry
3 d ; expire
10
11
IN
NS
12
IN
MX
13
IN
200.100.50.99
14
ns1
IN
200.100.50.99
15
www
IN
200.100.50.99
16
ftp
IN
CNAME
www
17
IN
200.100.50.99
18
smtp
IN
CNAME
19
webmail
IN
CNAME
20
pop
IN
CNAME
21
imap
IN
CNAME
3
4
IN
SOA
YYYYMMDDNN ; serial
8 h ; refresh
1 h ; retry
3 d ; expire
Pgina 28
4Linux www.4linux.com.br
9
10
11
IN
NS
12
IN
MX
13
IN
192.168.200.3
14
ns1
IN
192.168.200.3
15
www
IN
192.168.200.3
16
ftp
IN
CNAME
www
17
IN
192.168.200.3
18
smtp
IN
CNAME
19
webmail
IN
CNAME
20
pop
IN
CNAME
21
imap
IN
CNAME
22
ldap
IN
192.168.200.2
23
intranet
IN
CNAME
www
25
firewall
IN
192.168.200.1
26
datacenter
IN
192.168.200.2
27
dmz
IN
192.168.200.3
28
storage
IN
192.168.200.4
29
audit
30
fileserver
24
IN
A
IN
192.168.200.5
A
192.168.200.6
expire - O tempo que o secundrio aguardar o primrio voltar, se esgotar, o secundrio pra de responder por essa zona;
Pgina 29
4Linux www.4linux.com.br
negative caching TTL - Se a zona expirar, esse ser o tempo pelo qual um servidor "cache"armazenar a informao "NXDOMAIN"antes de iniciar uma nova busca
recursiva. O mximo so 3 horas.
Se o comando retornar ao prompt significa que est correto! Agora vamos checar
a configurao da zona que temos autoridade:
OK
OK
Stopping domain name service ...: bind9 waiting for pid 1125 to die .
4
5
;; QUESTION SECTION :
; dexter . com . br .
IN
SOA
7
8
;; ANSWER SECTION :
Pgina 30
4Linux www.4linux.com.br
dexter . com . br .
86400 IN
;; AUTHORITY SECTION :
12
dexter . com . br .
86400 IN
NS
13
14
;; ADDITIONAL SECTION :
15
86400 IN
A 192.168.200.3
16
17
18
19
20
;; MSG SIZE
7 11:53:49 2012
rcvd : 106
4
5
;; QUESTION SECTION :
; dexter . com . br .
IN
MX
7
8
;; ANSWER SECTION :
dexter . com . br .
86400 IN
MX
NS
10
11
;; AUTHORITY SECTION :
12
dexter . com . br .
86400 IN
13
14
;; ADDITIONAL SECTION :
15
A 192.168.200.3
16
A 192.168.200.3
86400 IN
17
18
19
Pgina 31
3.3 FIREWALL
4Linux www.4linux.com.br
20
21
;; MSG SIZE
7 11:54:28 2012
rcvd : 102
Aug
Aug
Aug
Aug
Aug
3.3 FIREWALL
Para que outros servidores utilizem nosso DNS habilite a passagem de pacotes no
firewall e tambm adicione um redirecionamento de porta, especificamente a porta
53 UDP, S para lembrar adicione no fim do escopo do start:
Pgina 32
4Linux www.4linux.com.br
3.3 FIREWALL
...
6
7
-- sport 53 -s $DMZ
ACCEPT
-- dport 53 -j
ACCEPT
10
11
12
iptables -t nat -A PREROUTING -p udp -- sport $PA -s 0/0 -d $WAN1 -dport 53 -j DNAT --to - destination $DMZ :53
Teste o script
;; Got answer :
7
8
;; QUESTION SECTION :
; dexter . com . br .
IN
Pgina 33
3.3 FIREWALL
4Linux www.4linux.com.br
10
11
;; ANSWER SECTION :
12
dexter . com . br .
86400 IN
A 200.100.50.99
13
14
;; AUTHORITY SECTION :
15
dexter . com . br .
86400 IN
NS
16
17
;; ADDITIONAL SECTION :
18
86400 IN
A 200.100.50.99
19
20
21
22
23
;; MSG SIZE
7 19:32:04 2012
rcvd : 81
controls {
inet 127.0.0.1 port 953 allow { localhost ; } keys { " rndc - key " ; };
4
5
};
6
7
...
Pgina 34
4Linux www.4linux.com.br
3.3 FIREWALL
Para configurar o RNDC devemos primeiro gerar a chave criptogrfica. Sendo assim,
execute:
};
Stopping domain name service ...: bind9 waiting for pid 1008 to die .
version : 9.7.3
CPUs found : 1
Pgina 35
3.3 FIREWALL
worker threads : 1
number of zones : 54
debug level : 0
xfers running : 0
xfers deferred : 0
10
11
12
13
4Linux www.4linux.com.br
Para vermos o que est em cache no DNS, podemos usar os comandos abaixo:
Pgina 36