bind es un servidor
DNS de los más comúnmente usados en sistemas GNU/Linux y es por ello que también tiene ciertas vulnerabilidades conocidas. Es cierto que gracias a su popularidad se parchean muy rápido, pero muchos de los administradores de sistemas no aplican esos parches tan rápidamente.
Una forma de 'proteger' el sistema, aunque no la mejor ni la más fiable, desde luego, es ocultar la versión. Saber la versión de bind que se está a ejecutar en un servidor remoto es bastante simple con el comando dig y es por ello que sí se debería de ocultar.
shell> dig -c CH -t txt version.bind @ns1.miempresa.com
...
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.3.1"
...
Como se observa, descubrir la versión de bind es sencillo, sólo es cuestión de preguntarle al servidor y éste responderá, siempre que sea un bind.
Podemos ofuscar la información de la versión
Dentro del fichero de configuración de bind (/etc/bind/named.conf.options) se puede poner añadir la opción version, con el valor que se desea mostrar, pudiendo así engañar a la persona que lo consulta.
options {
version "3.1";
};
Si ahora se vuelve a lanzar la petición de versión al servidor:
shell> dig -c CH -t txt version.bind @ns1.miempresa.com
...
;; QUESTION SECTION:
;version.bind. CH TXT
;; ANSWER SECTION:
version.bind. 0 CH TXT "3.1"
...
Cómo ocultamos la versión del servidor
bind permite establecer un valor none a la variable version con el que se consigue no devolver nada ante la petición de versión. Es una forma rápida y sencilla de ocultar la versión de bind ejecutada.
options {
version none;
};
Si ahora se vuelve a lanzar la petición de versión al servidor:
shell> dig -c CH -t txt version.bind @ns1.miempresa.com
...
;; QUESTION SECTION:
;version.bind. CH TXT
...
Existen formas de poder averiguar, o cuando menos aproximarse a la versión de
bind que está instalada aunque se aplique este pequeño truco. Mira como
aquí.
Leer más