Segurança DNS · 3 min read · Oct 27, 2025
Vulnerabilidade E Solução BIND 9 - Corrija O BIND Para Evitar Envenenamento De Cache (Fedora/CentOS)
Vulnerabilidade E Solução BIND 9 - Corrija O BIND Para Evitar Envenenamento De Cache (Fedora/CentOS)
Estou bastante certo de que a maioria de vocês já ouviu falar sobre a vulnerabilidade no BIND. Dan Kaminsky anunciou no início deste mês um problema massivo, multi-vendor com DNS que poderia permitir que atacantes comprometesse qualquer servidor de nomes - clientes também.
Eu pensei em compartilhar com todos vocês uma das soluções mais rápidas que administradores de sistemas que executam BIND 9 podem usar para ajudar a resolver essa vulnerabilidade caso seus sistemas estejam vulneráveis.
Após 3 dias de testes e experimentações com meus servidores DNS, descobri algo que parecia resolver meu problema, por isso decidi compartilhar com todos vocês.
Não tenho certeza se isso realmente resolveu o problema, embora tenha funcionado para mim, pois os resultados dos testes são ótimos. Mas suas sugestões e comentários são bem-vindos.
Minha descoberta, por mais simples que possa parecer, se aplica apenas àqueles que executam BIND 9 em Centos 4 ou 5 e sistemas Fedora core e superiores… Eu testei em todas essas máquinas no meu escritório.
Vamos começar… certo?
Pré-requisitos E Suposições
- Seu firewall (iptables NAT/PAT ou PIX) deve ter a porta 53 aberta de tal forma que permita a seleção aleatória de portas.
- Você deve estar executando BIND 9 em Centos 4 ou 5 ou em qualquer sistema Fedora core.
- O BIND deve estar sendo executado em modo chrooted, embora não seja um pré-requisito, mas uma boa prática.
- Em seus arquivos /etc/named/named.conf OU /etc/named.conf…. Deve-se desativar as consultas recursivas e também adicionar um acl para permitir apenas que suas redes façam requisições recursivas. Com isso, o administrador do sistema terá reduzidas chances de envenenamento de cache para suas próprias redes conhecidas.
acl "mynetworks" {
127/8; 172.16.0.0/12; 10.0.0.0/8; 192.168.0.0/16view "internal" {
match-clients { mynetwork; };
allow-query { mynetwork; };
allow-recursion { mynetwork; };
match-recursive-only yes;view "external" {
match-clients { any; };
allow-query { any; };
allow-recursion { none; };
match-recursive-only no;E Agora Para Corrigir A Vulnerabilidade Do BIND
O primeiro passo é verificar se seu sistema está vulnerável… executando os comandos abaixo, substituindo ns1.youdomain.co.tz pelo TLD ou ccTLD de sua organização.
dig +short @ns1.youdomain.co.tz porttest.dns-oarc.net TXT
z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
“192.168.1.3 é POBRE: 26 consultas em 20.0 segundos de 1 portas com desvio padrão 0.00”
POBRE —–> definitivamente indica que o servidor de nomes ou sistema em questão é vulnerável e, claro, o software BIND em execução também é antigo e precisa ser CORRIGIDO …
Solução
Para aqueles que executam sistemas CentOS OU Fedora…..yum pode ser usado para corrigir os sistemas. Os desenvolvedores do CentOS 5 já lançaram uma correção para o software BIND e a versão atual é: bind-9.3.4-6.0.2.P1.el5_2. P1 indica que o pacote é uma versão corrigida.
Nos meus sistemas, após a correção, obtive este resultado..
rpm -q bindbind-9.3.4-6.0.2.P1.el5_2 —-> se sua versão do bind não estiver corrigida.. então corrija-a.
Deve-se fazer isso para obter o software mais recente e a correção.
yum update bind bind-chroot -yDeve-se editar seu arquivo named.conf e adicionar o seguinte. Salve e recarregue o BIND.
vi /etc/named.conf options {
directory "/var/named";
allow-transfer {192.168.1.4 ;};
query-source address * port 53; ##COMENTE ou REMOVA ESTA LINHA.Isso permitirá a seleção aleatória de portas. Faça isso apenas se esse parâmetro estiver habilitado nas opções em seu arquivo named.conf.
dnssec-enable yes; ## ADICIONE ESTA OPÇÃO PARA HABILITAR DNS-SEC.A linha acima, quando adicionada ao seu arquivo named.conf, habilitará o DNS-SEC. Vá em frente e configure o DNS-SEC, mas lembre-se de que o DNS-SEC não é uma solução definitiva para essa vulnerabilidade. **
Recarregue ou Reinicie o BIND.
/etc/init.d/named reload
Então teste novamente para ver se você obtém um resultado melhor.
dig +short @ns1.youdomain.co.tz porttest.dns-oarc.net TXT
Só para confirmar… :-)
z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
“192.168.1.3 é BOM: 26 consultas em 19.6 segundos de 26 portas com desvio padrão 16515.27”
BOM indica que o servidor de nomes em questão em 192.168.1.3 parece estar seguro, mas deve-se certificar de que as portas listadas não seguem um padrão óbvio. ou seja, as portas com desvio padrão.. 16515.27…Mas se seu teste marcar ( 10000.00 desvio padrão) então seu servidor DNS está mais seguro e seus clientes ou usuários não devem se preocupar.
O mesmo procedimento deve ser realizado em todos os servidores DNS em sua organização.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.