Aprenda a configurar um servidor de DNS
Por António Sousa para o Pplware Nos primeiros posts escritos para o PPLWARE decidi abordar um serviço de rede bastante importante, o DHCP, que podem consultar aqui e aqui.
No post de hoje, vou falar-vos de outro serviço fundamental para o funcionamento das redes em geral - o serviço de DNS.
O que é o serviço de DNS?
O DNS (Domain Name System), é responsável pela tradução de nomes, em endereços de IP. Todos os websites que visitamos têm associado um endereço de IP, além de nós só sabermos o seu nome, Neste caso ao visitarmos o pplware.com, estamos a aceder ao IP 213.13.65.157, mas é muito mais simples para o ser humano decorar Pplware.com, do que 213.13.65.157.
Como funciona o serviço de DNS?
O serviço de DNS funciona à base de pedidos e respostas, isto é, um utilizador faz uma query sobre um nome e se o registo estiver presente, é retomado ao cliente que fez o pedido. Caso o registe não conste no servidor de DNS, o servidor pode reencaminhar o pedido para outro servidor ou fornecer ao cliente o endereço de quem possa saber a correspondência para o nome procurado.~
Que tipos de registos se podem encontrar num servidor de DNS?
- A – registo associado a um IP do tipo v4. Geralmente utilizados para fazer a correspondência entre um nome e um endereço;
- AAA - registo associado a um IP do tipo v6. Geralmente utilizados para fazer a correspondência entre um nome e um endereço;
- MX – Aponta para os servidores de email do domínio. A este registo está sempre associada uma prioridade, que determina qual o servidor que é resolvido em primeiro lugar;
- NS – indica qual o servidor autoritário de um determinado domínio;
- CNAME – Basicamente são alias de um determinado domínio, por exemplo, ao escrevermos no browser www.pplware.com e Pplware.sapo.pt somos redireccionados para o mesmo sitio;
Caso prático
Neste tutorial vou apresentar-vos um software opensource, que pode ser utilizado para transformar o vosso Ubuntu num servidor de DNS. O software em questão é o bind9.
Neste caso prático foi utilizada a máquina virtual que tinha servido de servidor de DHCP no tutorial anterior, máquina com o IP 10.10.10.1/24.
O primeiro passo é editar o ficheiro /etc/hosts e definir o nome completo da máquina, como se vê em baixo.
Fazer a atualização do repositório de pacotes:
$ sudo apt-get update
Instalar o Bind9
$ sudo apt-get install bind9
De seguida vamos configurar um domínio local chamado Pplware.com, que vai resolver IP’s dentro da nossa rede.
Inicialmente vamos adicionar algumas linhas no ficheiro /etc/bind/named.conf.local, ficheiro este que indica onde estão os registos do nosso domínio.
Os nossos registos vão estar dentro dos ficheiros, db.pplware.com e db.pplware.com.rev. O ultimo ficheiro server para fazer reverse lookup, isto é, fazer a tradução entre um IP e um nome.
Foram criados alguns registos em ambos os ficheiros, como podem verificar nas imagens abaixo.
Ficheiro: db.pplware.com
Ficheiro: Db.pplware.com.rev
É necessário alterar o ficheiro /etc/bind/named.conf.options na secção dos forwarders, para que pedidos que não sejam resolvidos no nosso servidor, sejam encaminhados para um servidor externo
Por fim basta fazer um restart ao serviço do bind e se tudo correr bem aparece um output como o da imagem a seguir.
$ sudo service bind9 restart
Pronto o nosso servidor está funcionar. Agora pode fazer nslookup ou dig de máquinas dentro da sua rede e pode comprovar que o servidor está a resolver bem os nomes.
NOTA: Não se esqueça de distribuir o seu endereço de DNS e domínio através do DHCP ou configurá-lo manualmente nas máquinas clientes.
Por hoje ficamos por aqui, esperamos que tenham gostado. O próximo tutorial será surpresa, por isso estejam atentos. Entretanto estamos recetivos a deixarem dicas/pedidos de serviços para explorarmos em próximos artigos .
Homepage: Bind9
Este artigo tem mais de um ano
“Naisse”, aka “Nice” 🙂
Mt bom, curto e simples 🙂
Sugestão:
Dar uma ideia de quais os melhores “forwarders” por isp (meo, sapo,zon, etc.) eventualmente comparar com internacionais.
Att:
Ernesto
ola António Sousa
quais as melhores conf do named para prevenir isto http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html
Boa tarde.
Segundo umas leituras que estive a fazer, podemos combater essa vulnerabilidade com o uso de DNSSEC, gerando chaves e assinando a zone.
Tem aqui-> http://www.bind9.net/arm97.pdf (a partir da página 28), alguns exemplos das configs que pode adicionar no named.conf.local
Este artigo parece os artigos que por ai andam pelas Interwebs de como (não) como programar PHP, de tão insegura que é a configuração apresentada.
Esta configuração permite que um qualquer atacante use o vosso DNS server para um DNS Amplification Attack, para além de ser um Open Resolver para toda a Internet.
Configuração extra para protecção (validem a compatibilidade mediante a vossa versão do bind):
acl trusted {
127.0.0.1;
127.0.0.0/24;
192.168.1.0/24;
}
options {
allow-recursion {trusted; };
allow-query {trusted; };
};
rate-limit {
responses-per-second 5;
window 5;
};
o artigo tambem nao diz que “aprenda a configurar um servidor DNS extremamente seguro e resistente a todos os ataques conhecidos”. Relativamente aos acl de recursao e de allowed queries … sabes por acaso se a maquina em questao tem um firewall configurado ? a tua configuracao nem de longe é tambem uma configuracao segura
Se és uma pessoa que acha que uma firewall e um antivírus resolve todos os problemas de segurança de uma rede/sistema… Congratulations heres a pony http://tinyurl.com/pgls7wy
Relativamente à minha conf. realmente tens razão pois faltou a parte de impedir zone transfers:
acl trusted {
127.0.0.1;
127.0.0.0/24;
192.168.1.0/24;
}
options {
allow-recursion {trusted; };
allow-query {trusted; };
allow-transfer { trusted; };
};
rate-limit {
responses-per-second 5;
window 5;
};
A parte do chroot ao bind fica para o pplware escrever.
cheers.
rapaz. o antivirus é uma invençao da tua mente. no meu comentario nao existe a palavra antivirus. segundo se nao percebes do que falas e se viste “a tua configuracao segura de dns” algures na net e decidiste publicar para fazer boa figura … esta mas é quieto. terceiro se quiseres saber como uma firewall pode deter boa parte dos tais ataques que falas … tambem te posso explicar. quarto … aprende a quando comentares o trabalho dos outros o fazeres com respeito
Nem vou comentar mais “rapazito” muito menos depois deste tipo de “comentário” que não trouxe nada à discussão ou acrescentou qualquer valor acrescentado ao artigo.
cheers
woooow, muito bom mesmo!! podia estar mais pormenorizado mas de resto 5*
E a seguir instalação e configuração LDAP? 🙂
Boa noite
A função prática para isto qual é?
Cumps
Latência reduzida.
Bom dia.
O objetivo é configurar um servidor de DNS para uma rede interna, com uma configuraçao simples!
Cumps
Boa páscoa!
Então e um caso mais prático…
Tenho um dominio registado no dns.pt, por exemplo, “dominioABC.pt” e o objectivo é alojar um website recorrendo a um ip fixo cá em casa, por exemplo, “82.128.145.14” . Como poderia efetuar uma conf aceite pelo dns.pt? So tenho um ip fixo será que preciso de outro para ter a “secondary zone” ? É que fica sempre em tech-pro e não entendo porquê!
Bom dia Antonio Sousa.
Tenho um caso parecido e talvez você possa me ajudar.
Tenho um sistema instalado num servidor cloud na empresa Atlantic.net.
Para entrar na pagina de acesso deste sistema, basta digitar na barra de endereço o endereço de IP do servidor, exemplo: 789.654.23.654.
Acontece que eu não quero que o numero de endereço do IP do servidor fique visível na barra de endereços para quem esteja acessando. Daí você vai perguntar, e como alguém vai chegar na pagina de acesso sem digitar o numero do IP?
Simples, o acesso é feito pelo meu site, que tem um atalho para esse servidor, bastando clicar no atalho já abre uma janela para a pagina de acesso.
Eu queria que mesmo estando na pagina do servidor, na barra de endereços mostrasse a url do meu site, exemplo: http://www.xyz.com.br , entendeu?? Enfim, que o IP do servidor ficasse culto.
Tem como me ajudar a fazer isso? Onde devo fazer essas configurações? Seria no painel de controle onde esta os servidores cloud? Ou em outro lugar?
Aguardo sua ajuda.
Obrigado
Renato A.
renato, conseguiu resolver esta situação? estou com o mesmo problema e precisava de uma ajuda. Abraço
Dominios .pt de graça ? O.o
Peço assistencia com urgencia.
Na nossa rede alguns computadores que ontem estavam com acesso a internet, hoje estao a perder o acesso mesmo com os DNS fixos na placa de rede. Ganham acesso e passado alguns segundos perdem.
São computadores que não foi feita qualquer alteração aos mesmo, estes computadores também não tem placa de Wireles ou seja nao posso testar essa opção.
Olá pessoal será que essa configuração daria conta de uma rede com 900 computadores ?
Ou ate mesmo o Bind9 tem potencial para servidor essa quantidade de computadores ?
Olá eu queria saber se é possível instalar a DNS num outro servidor? Se é possível como se chama?