Instalar y configurar maldet (Linux Malware Detect – LMD)

Maldet o Linux Malware Detect (LMD) es un escáner de malware para Linux de aplicaciones web diseñado principalmente para CentOS. Puede configurarse en modo monitor  (detecta en tiempo real que aparece malware en el disco duro, nos avisará y realizará la acción que hayamos configurado) o sin este tipo de modo.

Comencemos con la instalación:

# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

# tar xfz maldetect-current.tar.gz

# cd maldetect-*

Ahora procedemos a instalarlo:

# sh install.sh

Linux Malware Detect v1.4.1
(C) 2002-2011, R-fx Networks <proj@r-fx.org>
(C) 2011, Ryan MacDonald <ryan@r-fx.org>
inotifywait (C) 2007, Rohan McGovern <rohan@mcgovern.id.au>
This program may be freely redistributed under the terms of the GNU GPL

installation completed to /usr/local/maldetect
config file: /usr/local/maldetect/conf.maldet
exec file: /usr/local/maldetect/maldet
exec link: /usr/local/sbin/maldet
exec link: /usr/local/sbin/lmd
cron.daily: /etc/cron.daily/maldet

maldet(4992): {sigup} performing signature update check...
maldet(4992): {sigup} local signature set is version 201205035915
maldet(4992): {sigup} new signature set (201301184527) available
maldet(4992): {sigup} downloaded http://www.rfxn.com/downloads/md5.dat
maldet(4992): {sigup} downloaded http://www.rfxn.com/downloads/hex.dat
maldet(4992): {sigup} downloaded http://www.rfxn.com/downloads/rfxn.ndb
maldet(4992): {sigup} downloaded http://www.rfxn.com/downloads/rfxn.hdb
maldet(4992): {sigup} downloaded http://www.rfxn.com/downloads/maldet-clean.tgz
maldet(4992): {sigup} signature set update completed
maldet(4992): {sigup} 10589 signatures (8721 MD5 / 1868 HEX)

Comprobamos y actualizamos a la ultima versión instalada de programa y de signatures:

# maldet --update-ver

# maldet --update

Pasemos a configurarlo. Para ello editamos el fichero de configuración /usr/local/maldetect/conf.maldet:

 

# Definimos que avise por email

# [0 = disabled, 1 = enabled]
email_alert=1

# Indicamos emails que recibiran las alertas (separados por coma)

# [ values are comma (,) spaced ]
email_addr="micorreo@midominio.com"

# La acción que se realizará cuando se detecte malware. Prefiero que avise, para ello indicamos el valor a 0
# [0 = alert only, 1 = move to quarantine & alert]
quar_hits=0

# Limpiar el script PHP de funciones tipo base64_decode o eval
# [0 = disabled, 1 = clean]
quar_clean=1

#Esta es la raíz html / web para los usuarios en relación con homedir, cuando

# Esta opción está activada, monitorizará la ruta a partir de ella

# [ clear option to default monitor entire user homedir ]

inotify_webdir=public_html

# Prioridad que se le dará al proceso que irá escanenado los ficheros creados o modificados en tiempo real
# [ -19 = high prio , 19 = low prio, default = 10 ]
inotify_nice=10

Ya tenemos todo listo para empezar a usar Maldet. Podemos realizar un escaneo manual:

# Escaneo de todos los public_html del servidor
maldet -a /home/?/public_html

También podemos ejecutar un escaneo solo de los ficheros recientes con:

# Escaneo de los ficheros con menos de 5 días de antiguedad

# maldet -r /home/?/public_html 5

Se puede enviar a la cuarentena todos los ficheros encontrados en un SCANID una vez realizado el escaner, suponiendo que en la configuración no tuvieras puesto que se envíe a cuarentena automaticamente..

maldet --quarantine SCANID

De manera similar a lo anterior, si desea intentar una limpieza en todos los resultados de malware de una exploración anterior que no tenía la función activada:

# maldet --clean SCANID

De manera individual, si tiene un archivo que fue puesto en cuarentena por un falso positivo o que simplemente desea restaurar:

 

# maldet --restore fichero.php.2384

# maldet --restore /usr/local/maldetect/quarantine/fichero.php.2384

Obtener la lista de reportes realizados:

# maldet --report list

O incluso puede ver el último reporte:

# maldet --report

Todos ellos están almacenador en la ruta /usr/local/maldetect/sess/. Por otro lado, si consideramos que algún Malware lo tenemos, podemos enviarlo al autor para que lo incluya en la base de datos de Maldet de la siguiente forma:

# maldet -c fichero_malware_no_detectado.php

Por otro lado, antes he hablado del modo monitor. Podemos activarlo de dos maneras:

maldet --monitor users

que monitorizará el directorio definido en la variable inotify_webdir de la configuración, en cada home del usuario users

maldet --monitor /home,/tmp,/var/www/vhosts

que monitorizaría la lista de paths separados por comas.

En ambos casos para ver el log del monitor de la siguiente forma:

tail -f /usr/local/maldetect/inotify/inotify_log

Si queremos matar todos los procesos de monitorización, podemos ejecutar:

maldet -k

En el modo no es monitor y por defecto,  cuando se instala se introducen unas entradas en el cron.daily para realizar escaneos diarios /etc/cron.daily/maldet

Related Posts