systemadmin.es > DNS > Como esconder la versión de BIND

Como esconder la versión de BIND

Mediante el comando dig podemos preguntar por la versión instalada de BIND de un determinado servidor. Vamos a ver como:

El comando a usar es el siguiente:

# dig -c CH -t txt version.bind @ns1.ejemplo.es

; <<>> DiG 9.3.4-P1 <<>> -c CH -t txt version.bind @ns1.ejemplo.es
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53481
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;version.bind.                  CH      TXT

;; ANSWER SECTION:
version.bind.           0       CH      TXT     "9.3.1"

;; AUTHORITY SECTION:
version.bind.           0       CH      NS      version.bind.

;; Query time: 46 msec
;; SERVER: 84.88.0.3#53(84.88.0.3)
;; WHEN: Tue Mar  3 08:32:29 2009
;; MSG SIZE  rcvd: 62

Para evitar exponer la versión de BIND debemos añadir la opción "version" con el valor que queremos devover dentro de la sección "options":

options {
        version "null";
};

Con esto si repetimos el dig veremos el valor que hemos definido:

# dig -c CH -t txt version.bind @ns1.systemadmin.es

; <<>> DiG 9.3.4-P1 <<>> -c CH -t txt version.bind @ns1.systemadmin.es
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34353
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;version.bind.                  CH      TXT

;; ANSWER SECTION:
version.bind.           0       CH      TXT     "null"

;; AUTHORITY SECTION:
version.bind.           0       CH      NS      version.bind.

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Mar  3 08:43:47 2009
;; MSG SIZE  rcvd: 61

Si en lugar de una cadena usamos "none" podemos evitar contestar cualquier cosa:

options {
        version none;
};

Si repetimos el comando veríamos lo siguiente:

# dig -c CH -t txt version.bind @ns1.systemadmin.es

; <<>> DiG 9.3.4-P1 <<>> -c CH -t txt version.bind @ns1.systemadmin.es
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61991
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;version.bind.    CH TXT

;; AUTHORITY SECTION:
version.bind.   86400   CH SOA  version.bind. hostmaster.version.bind. 0 28800 7200 604800 86400

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Mar  3 08:44:47 2009
;; MSG SIZE  rcvd: 77

Con esta respuesta no podemos decir si se trata de otro servidor DNS o bien es un BIND con la opción none. En cambio si definimos una cadena de texto cualquiera sabemos que se trata de un BIND.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>