Solucionando o problema do DNS

Uma das noticias que abalaram a Internet esse mês que passou foi a da falha no protocolo DNS que poderia levar toda a rede ao caos. Inclusive já há relatos dos primeiros ataques bem suscedidos contra esta falha. Hoje pela manhã recebi o comunicado do CERT.BR que um dos meus servidores DNS estava vulnerável, para confirmar bastava acessar o link https://www.dns-oarc.net/oarc/services/dnsentropy, clicar em “Test My DNS” e pronto. Ao fazer isso o resultado deverá ser GREAT ao lado de ambos os indicadores e os “pontinhos” deverão estar espalhados.
Se for diferente disso então antes que o pior ocorra faça o seguinte procedimento:

Baixe a última versão do BIND9

Pelo site oficial: http://www.isc.org/index.pl?/sw/bind/view/?release=9.5.0-P2

ou diretamente aqui:

$ wget “http://ftp.isc.org/isc/bind9/9.5.0-P2/bind-9.5.0-P2.tar.gz

Descompacte e entre na pasta criada usando os tradicionais “tar -xzf” e “cd”

Prepare a configuração

$ ./configure –with-libtool –prefix=/opt –enable-threads

Os parâmetros usados foram:

  • –with-libtool – usa libs compartilhadas (deixa o executável menor e mais leve)
  • –prefix – Instalará o bind considerando que esta é a raiz do sistema (bom para não dar conflito com o outro)
  • –enable-threads – Possibilita o uso de vários processadores (Bom para servidores com mais de um núcleo/processador)

Compile o Bind

$ make

Este procedimento levou cerca de 5 minutos no meu P4 3GHz

Instale os arquivos compilados

# make install

Como eu compilei com a diretiva –prefix não há risco de prejudicar o bind atualmente em produção.

Copie suas configurações para o novo bind (ou crie um link)

# cp /etc/bind/* /opt/etc

ou

# rmdir /opt/etc
# ln -s /etc/bind /opt/etc

Pare o serviço do DNS atual

# invoke-rc.d bind9 stop

Inicie o novo bind

# /opt/sbin/named -n 2

Eu iniciei com o parâmetro -n 2 que indica o uso de dois processadores/núcleos

Agora acesse o link sugerido novamente e teste se o resultado obtido é o esperado.

Considerações

Este procedimento foi realizado no Debian Sarge que já não possui suporte para atualizações de segurança. Antes deste procedimento eu testei alguns pacotes pré-compilados do repositório não oficial apt-get.org, mas nenhum deles passou nos testes.

Apesar de ter usado o Debian o procedimento para compilação é genérico e funciona em qualquer distribuição. Só falta agora substituir o script de inicialização para carregar este novo serviço DNS ao invés do antigo.

Não deixe de acompanhar a discussão sobre este problema, pois a solução definitiva só virá mesmo com a implantação do DNSSEC.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *