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.