Truco Linux: Cómo instalar un detector de malware en Linux

A pesar de ser un sistema operativo muy robusto frente a los virus, hasta el punto de haberse acuñado la frase «Linux no tiene virus», es indudable que puede ser vulnerable a código malicioso desarrollado para atacar activamente sistemas basados en Linux y ante el que necesitamos protección. Por ello quiero dedicar el truco de esta semana a la instalación de un detector de malware. El software elegido no tiene un nombre muy original que digamos. Se trata de Linux Malware Detect (LMD), un analizador de malware para Linux de licencia libre diseñado para detectar amenazas en entornos de red.

Las instrucciones que voy a dar a continuación para instalar son en esta ocasión independientes de la distribución de destino. Como siempre que instalamos un software, hay que ejecutarlas como superusuario.

Empezamos descargándonos el paquete con la versión más actual. Afortunadamente, sus autores lo han nombrado genéricamente maldetect-current.tar.gz, por lo que siempre estaremos seguros de bajarnos la última versión disponible. Por supuesto, la descarga la haremos en /usr/local/src, el directorio estipulado en el estándar para estos menesteres.

# cd /usr/local/src
# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
Resolviendo www.rfxn.com (www.rfxn.com)... 129.121.132.46
Conectando con www.rfxn.com (www.rfxn.com)[129.121.132.46]:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
...
# tar xzvf maldetect-current.tar.gz
maldetect-1.4.2/
maldetect-1.4.2/CHANGELOG
maldetect-1.4.2/cron.daily
maldetect-1.4.2/README
maldetect-1.4.2/files/
...

Una vez descargado y descomprimido el paquete, nos cambiamos al directorio que contiene el software y procedemos a instalar.

# cd maldetect-1.4.2
# ./install.sh
Linux Malware Detect v1.4.2
(C) 2002-2013, R-fx Networks (C) 2013, Ryan MacDonald
inotifywait (C) 2007, Rohan McGovern
This program may be freely redistributed under the terms of the GNU GPL

installation completed to /usr/local/maldetect
...
maldet(6698): {sigup} signature set update completed
maldet(6698): {sigup} 11791 signatures (9899 MD5 / 1892 HEX)

Como podremos comprobar, no sólo se ha instalado el analizador sino que además se han actualizado sus bases de datos de firmas de malware. Con esto ya está listo para su uso, que podemos hacer de dos formas, o bien puntualmente o bien como servicio del sistema. En cualquier caso, tendremos que hacerlo como superusuario.

Supongamos que queremos analizar /tmp de forma puntual e interactiva. Invocaremos LMD de la siguiente forma:

# maldet -a /tmp

Si preferimos que sea en segundo plano en vez de interactivamente, lo hacemos así:

# maldet -b /tmp

Y si queremos que LMD se ejecute como servicio del sistema:

# maldet -m /tmp

También podemos indicarle que monitorice los directorios domésticos de los usuarios:

# maldet -m users

Evidentemente, si se reinicia el sistema, tendremos que arrancar LMD de nuevo a mano. Para ello, lo mejor es incluir su invocación en el script local de inicio del sistema, que en Debian es /etc/rc.local.

Si queremos detener el servicio LMD, basta con el siguiente comando:

# maldet -k

Finalmente, podemos consultar los resultados de la monitorización en el fichero /usr/local/maldetect/event_log.

Ah, y no olvidemos actualizar las bases de datos de firmas periódicamente con:

# maldet -u

Como es habitual, este comando lo podemos planificar a nuestra conveniencia mediante cron. Hasta el truco de la semana que viene.