Comprueba la seguridad de tu servidor Debian con Debsecan

Comprueba la seguridad de tu servidor Debian con Debsecan

Sergio De Luz

Cuando instalamos un servidor Linux basado en Debian, siempre es muy recomendable realizar un hardening completo para proteger al máximo el sistema operativo y todos los servicios. Con el paso del tiempo, siempre existen nuevas vulnerabilidades en los diferentes softwares que tenemos instalados, e incluso en el propio kernel de Linux. Gracias a una herramienta como Debsecan, podremos escanear por completo nuestro sistema operativo, detectando los paquetes que tenemos instalados y los fallos de seguridad que se han encontrado. Hoy en RedesZone os vamos a enseñar cómo utilizarlo.

Instalación de Debsecan en Debian

Esta herramienta no se encuentra instalada por defecto en el sistema operativo, por tanto, debemos instalarla manualmente a través de los repositorios oficiales de la distribución. Para instalarla, deberemos ejecutar la siguiente orden:

sudo apt install debsecan

En la siguiente captura podéis ver todos los paquetes adicionales que debe instalar para que funcione correctamente:

Una vez que lo hayamos instalado, podemos ejecutarlo con la ayuda, para que nos indique qué argumentos podremos utilizar y qué opciones tenemos disponibles:

debsecan --help

También podremos ejecutar las páginas man para la ayuda más completa de esta herramienta, para abrir el manual completo, basta con ejecutar lo siguiente:

man debsecan

Funcionamiento de esta herramienta

La forma de funcionamiento de debsecan es realmente fácil, simplemente deberemos ejecutar el programa con el argumento de la versión de Debian que estamos utilizando:

debsecan --suite buster

Una vez que ejecutemos este comando, nos saldrá un listado de todas las vulnerabilidades que ha tenido o tenemos en esta versión, y también una descripción de si hay poca urgencia por solucionarlo, si ya está solucionado, aunque tenga poca urgencia, o si simplemente está solucionado el problema. También nos mostrará si no está solucionado el fallo de seguridad, pero sí lo tiene en la base de datos de vulnerabilidades.

Tenemos la posibilidad de configurar debsecan para que siempre utilice la versión de «Debian Buster» (la que estamos usando), sin necesidad de definirlo en un argumento. Para hacer esto, deberemos ejecutar la siguiente orden:

sudo dpkg-reconfigure debsecan

Y nos saldrá la siguiente pantalla, donde deberemos elegir la versión de nuestra distribución:

Si aprovechamos a utilizar este asistente de configuración, también podremos configurar debsecan para que nos envíe automáticamente y una vez al día, cualquier cambio que ocurra en las vulnerabilidades vía email:

A continuación, definiremos nuestra dirección de correo electrónico, y el propio sistema operativo se encargará de mandarnos un email diario sobre el estado de la seguridad del sistema. También nos preguntará que Debsecan descarga la información de vulnerabilidades desde Internet, si el servidor no está conectado a Internet, o no queremos que haga solicitudes a Internet, podremos definir una URL con la información de vulnerabilidades para añadirla a su base de datos. Una vez configurado, ya podremos ejecutar debsecan sin necesidad de poner «–suite».

Una orden muy interesante es la siguiente:

debsecan --suite buster --only-fixed

Esta opción enumera las vulnerabilidades para las que hay una solución disponible, y tengamos que actualizar el sistema operativo para librarnos de ellas. Hay que tener en cuenta que es posible que aparezca una solución, aunque el paquete todavía no esté disponible en el repositorio de Debian para su actualización o instalación. Si nos aparece vacío, significa que tenemos todas las actualizaciones y parches disponibles:

Si ejecutamos la orden siguiente:

debsecan --format detail

Nos mostrará todas las vulnerabilidades arregladas o no pero más en detalle, además, nos mostrará qué versión del software tiene el problema de seguridad, y qué versión lo soluciona, tanto a nivel de parche inestable como del repositorio principal. Es posible que el parche esté en el repositorio «unstable» durante semanas o meses, por lo que debemos tenerlo muy en cuenta.

En las páginas man, podremos ver más en detalle cómo funciona la whitelist. Imaginemos que queremos poner un determinado paquete con código CVE en una lista blanca, de tal forma que nunca nos aparezca en el listado del reporte, para hacerlo, simplemente tendremos que ejecutar lo siguiente:

debsecan --add-whitelist CVE-XXXX-XXXX

Tendremos que poner el código CVE para que se añada a la lista blanca. En caso de quitar algo de la lista blanca también podremos hacerlo fácilmente, para que vuelva a incluirse en los reportes diarios de vulnerabilidades.

Tal y como podéis ver, la herramienta debsecan es muy útil para mantenernos informados de todos los fallos de seguridad que se van encontrando y que afectan a nuestro sistema operativo Debian, ya sea al propio sistema operativo, o a los paquetes que tengamos instalados. Gracias a debsecan podremos recibir emails diarios con las novedades en cuanto a la resolución de las vulnerabilidades por parte del equipo de desarrollo de los diferentes softwares.

Por último, como medida de seguridad fundamental en cualquier servidor, nunca debemos instalar programas o paquetes que no utilicemos, para reducir al mínimo la superficie de exposición a una vulnerabilidad grave. Por supuesto, realizar un hardening del servidor es algo fundamental.