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/16
view "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 bind

bind-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 -y

Deve-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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.