Una vez más se han descubierto importantes vulnerabilidades en BIND, el
software servidor de nombres de dominio más popular para los diversos
sistemas Unix.
BIND (también conocido como ‘named’) es el software servidor de nombres
de dominio (DNS) más popular en las diferentes versiones y
distribuciones del mundo Unix. Se trata de un software desarrollado por
ISC (Internet Software Consortium, un consorcio en donde están
representadas algunas de las empresas más importantes del sector
informático) y que se distribuye de forma totalmente gratuita y con el
código fuente completo. Muchos sistemas operativos incluyen de forma
estándar BIND y, en la mayoría de los casos, es instalado en diversas
configuraciones habituales.
BIND es un producto que, a lo largo de los años, ha aumentado en
complejidad. Fruto de ello, existen tres versiones habitualmente
utilizadas (y para cada versión, existen diferentes revisiones): 4.x,
8.x y 9.x. Es importante señalar que las vulnerabilidades más
importantes que se han anunciado afectan únicamente a los usuarios de
las versiones antiguas: 4.x y 8.x.
* Vulnerabilidad: Desbordamiento de buffer en la preparación de
respuestas a registros de recursos (RR)
Afecta a BIND4 (versiones anteriores a la 4.9.10-REL, incluida) y
BIND8 (versiones anteriores al a 8.3.3-REL, incluida) y se trata de un
desbordamiento de buffer que puede ser utilizado por un atacante remoto
para comprometer el servidor vulnerable.
* Vulnerabilidad: Denegación de servicio (DoS) ante una petición de
resolución de un subdominio no existente
BIND 8 (versiones anteriores a la 8.3.3-REL, incluida) finaliza su
ejecución cuando reciben una petición de resolución sobre un subdominio
no existente o bien una solicitud de resolución acerca de un dominio
cuyo servidor autoritativo no es accesible. Si el paquete UDP de
consulta tiene un gran tamaño, el proceso del servidor de nombres aborta
inesperadamente.
* Vulnerabilidad: Denegación de servicio (DoS) provocada por consultas a
objetos que han caducado en la memoria caché.
Afecta a BIND 8 (versiones anteriores a la 8.3.3-REL, incluida). Un
atacante puede hacer que el servidor de nombres almacene en la memoria
caché registros de recursos con un tiempo de caducidad no válido.
Estos registros son borrados de la base de datos interna de NAMED,
pero posteriormente son incorrectamente consultados, lo que provoca la
finalización inesperada del proceso del servidor de nombres.
Como actuar…
En aquellos servidores de nombres en donde no sea necesaria la recursión
(que no deban atender a peticiones de resolución de nombres de dominio
sobre los que no tiene autoridad), se aconseja desactivar la misma.
En BIND4 hay que añadir la opción
options no-recursion
en el archivo /etc/named.boot, mientras que en BIND 8 se debe añadir
options {
recursion no;
};
en el archivo /etc/named.conf
Otra posible solución temporal pasa por filtrar las peticiones dirigidas
al puerto 53/tcp en los servidores de nombres situados en las zonas
perimetrales (DMZ), de forma que sólo se procesen las peticiones
recibidas vía UDP. No obstante, no se ha verificado que esta solución
temporal sea realmente efectiva.
Los usuarios de las versiones 4 y 8 de BIND deberían considerar
seriamente la migración, a la mayor brevedad posible, a la versión
9.2.1. En caso de que esto no sea factible, ISC ha anunciado que
próximamente estarán disponibles actualizaciones para las versiones
vulnerables.
También exista a posibilidad de plantearse la utilización de un software
alternativo a BIND, como puede ser djbdns (http://cr.yp.to/djbdns.html).
Se trata de un producto funcionalmente equivalentes a BIND, pero
diseñado desde el principio con la seguridad como requisito.
xavi@hispasec.com
Deja una respuesta