Esse é um problema velho, muito velho... Velho mesmo! Mais ainda existem servidores de DNS que possuem essa feataure habilitada. Nos tempos em que se fala em vulnerabilidades do protocolo DNS (que sempre existiram, é bom ressaltar) muita gente além de não atualizar a versão do BIND, não segue as melhores práticas de segurança para servidores de DNS.
É possível, com uma query de DNS simples, descobrir a versão do BIND instalada do servidor de DNS (e não é só do BIND não...). Os exemplos abaixo são de dois grandes provedores de Internet no Brasil:
$ nslookup -type=txt -class=chaos version.bind ns1.xxxx.com.br
Server: ns1.xxxx.com.br
Address: 200.xxx.x.172#53
version.bind text = "9.3.1"
$ dig @ns1.xxxxxxx.com.br version.bind chaos txtPara não permitir que o BIND forneça sua versão com este tipo de consulta é necessário configurar a opção:
;; Warning: Message parser reports malformed message packet.
; <<>> DiG 9.3.4-P1 <<>> @ns1.xxxxxxx.com.br version.bind chaos txt
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4419
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 5 IN TXT "Served by POWERDNS 2.9.20 $Id: packethandler.cc 539 2005-11-11 11:17:47Z ahu $"
;; Query time: 34 msec
;; SERVER: 200.xxx.xxx.4#53(200.234.202.4)
;; WHEN: Tue Jul 22 17:04:44 2008
;; MSG SIZE rcvd: 121
options {Para mais informações, consultar este link.
version "Not disclosed";
}
Um comentário:
Boa dica! Mas, para complementar...
No Debian procure pela versão do pacote da seguinte maneira:
# dpkg -l bind
No Red hat:
# rpm -qa bind
Exemplo real:
[administrador@principal ~]$ rpm -qa bind
bind-9.3.4-6.0.3.P1.el5_2
Postar um comentário