Guía de tecnologías

Instalar Linux Malware Detect (LMD) con ClamAV en CentOS 7

6 min read Seguridad Linux Actualizado 06 Oct 2025
Instalar LMD y ClamAV en CentOS 7
Instalar LMD y ClamAV en CentOS 7

Objetivo principal

Instalar LMD y ClamAV para escanear y poner en cuarentena malware en servidores Linux (entornos de hosting compartido).

Variantes de búsqueda relacionadas

  • instalar lmd clamav centos 7
  • linux malware detect clamscan guía
  • maldet con clamav configuración correo
  • escanear directorio web con maldet

Prerrequisitos

  • CentOS 7 actualizado
  • Privilegios de root (o sudo con privilegios completos)
  • Conexión a Internet para descargar paquetes y firmas

Paso 1 - Instalar el repositorio EPEL y mailx

Instala el repositorio EPEL (Extra Packages for Enterprise Linux) y el paquete mailx con yum. mailx se usa para que LMD pueda enviar informes por correo.

yum -y install epel-release

Instala mailx para usar el comando mail en CentOS 7:

yum -y install mailx

Nota: si tu sistema usa firewalld o políticas de correo saliente, verifica que permita conexiones SMTP salientes o configura un relay.

Paso 2 - Instalar Linux Malware Detect (LMD)

Linux Malware Detect no está en los repositorios de CentOS/EPEL, por lo que se instala desde el origen.

Descarga y extrae LMD:

cd /tmp  
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz  
tar -xzvf maldetect-current.tar.gz

Ve al directorio maldetect e instala ejecutando el script install.sh como root:

cd maldetect-1.5  
./install.sh

Crea un enlace simbólico al comando maldet en /bin/ para facilitar su uso:

ln -s /usr/local/maldetect/maldet /bin/maldet  
hash -r

Instalación de Linux Malware Detect

ALT: Pantalla mostrando la instalación y contenido del directorio maldetect

Paso 3 - Configurar Linux Malware Detect (LMD)

LMD se instaló en ‘/usr/local/maldetect/‘. Edita el archivo de configuración conf.maldet con tu editor preferido:

cd /usr/local/maldetect/  
vim conf.maldet

Recomendaciones de configuración clave (líneas referenciales según versión):

  • Habilitar alertas por correo (cambia a “1”):
email_alert="1"
  • Especifica la dirección de correo donde recibirás los informes (reemplaza con tu correo):
email_addr="[email protected]"
  • Usar ClamAV como motor predeterminado para escaneos (alto rendimiento en grandes conjuntos de archivos):
scan_clamscan="1"
  • Habilitar cuarentena automática durante el escaneo:
quarantine_hits="1"
  • Habilitar limpieza basada en inyecciones detectadas (si procede):
quarantine_clean="1"

Guarda y cierra el archivo.

Important: revisa otras opciones del archivo como excluded_paths, scan_clamscan_flags y alert_smtp si necesitas usar autenticación SMTP o puertos diferentes.

Paso 4 - Instalar ClamAV

Instala ClamAV (disponible en EPEL) y las librerías de desarrollo si piensas compilar integraciones:

yum -y install clamav clamav-devel

Actualiza las bases de firmas de ClamAV con freshclam:

freshclam

Actualización de la base de ClamAV con freshclam

ALT: Salida del comando freshclam actualizando las definiciones de virus de ClamAV

Si freshclam falla, revisa conectividad DNS y que el demonio o timer tenga permisos para escribir en /var/lib/clamav.

Paso 5 - Probar LMD y ClamAV

Haremos un escaneo manual con maldet sobre el directorio web ‘/var/www/html/‘ y usaremos muestras de prueba EICAR para validar la detección.

Descarga las muestras EICAR (ejemplo de prueba, no maliciosas):

cd /var/www/html  
wget http://www.eicar.org/download/eicar.com.txt  
wget http://www.eicar.org/download/eicar_com.zip  
wget http://www.eicar.org/download/eicarcom2.zip

Escanea el directorio web con maldet:

maldet -a /var/www/html

Escanear un directorio con Maldet

ALT: Ejecución del comando maldet mostrando progresos del escaneo

En la salida verás que LMD utiliza ClamAV como motor y, si hay detecciones, que se han movido a cuarentena.

Consulta el informe del escaneo (reemplaza SCANID por el mostrado en tu salida):

maldet --report 161008-0524.9466

SCANID = 161008-0524.9466 aparece en la salida de Maldet.

Informe de escaneo de LMD

ALT: Informe detallado del escaneo mostrando archivos detectados y acciones de cuarentena

Revisa el correo con el informe enviado por LMD:

tail -f /var/mail/root

Correo con informe de LMD

ALT: Mensaje de correo entregado al usuario root con el informe del escaneo LMD

Deberías ver el cuerpo del mensaje con el resumen del escaneo y la lista de hits.

Paso 6 - Comandos útiles de LMD

  • Escanear extensiones específicas (ej. .php):
maldet -a /var/www/html/*.php
  • Listar todos los informes:
maldet -e list
  • Escanear archivos creados o modificados en los últimos X días:
maldet -r /var/www/html/ 5

5 = últimos 5 días.

  • Restaurar archivos desde cuarentena (usa el SCANID correspondiente):
maldet -s SCANID

Restaurar archivo desde la cuarentena

ALT: Comando maldet para restaurar archivos desde el directorio de cuarentena

  • Activar monitorización de un directorio (inotify):
maldet -m /var/www/html/
  • Consultar el log del monitor:
tail -f /usr/local/maldetect/logs/inotify_log

Monitorizar un directorio con Maldet

ALT: Registro en tiempo real de inotify usado por maldet para monitorizar cambios

¿Cuándo falla esta solución? (Limitaciones y contraejemplos)

  • Malware ofuscado en tiempo de ejecución o cargado por procesos legítimos puede no detectarse por firmas.
  • Webshells muy personalizados sin patrones conocidos pueden eludir detección por firmas.
  • Si ClamAV o sus firmas no están actualizadas, la tasa de detección disminuye.
  • En sistemas con muchos archivos pequeños, el rendimiento puede afectar IO; prueba en entornos de staging antes de producción.

Enfoques alternativos

  • Añadir escaneo heurístico con herramientas como YARA para reglas personalizadas.
  • Usar soluciones comerciales que incluyen sandboxing para análisis dinámico (cuando el presupuesto lo permite).
  • Integrar escaneos en pipelines CI/CD para detectar artefactos maliciosos antes del despliegue.

Mini-metodología de despliegue (rápida)

  1. Instalar en un servidor de pruebas y validar detecciones con EICAR.
  2. Afinar conf.maldet: exclusiones, alertas y motor.
  3. Planificar ventanas de escaneo y monitorización continua.
  4. Implementar copias de seguridad antes de activar cuarentena automática.
  5. Revisar alertas y ajustar reglas/firmas.

Checklist por rol

  • Administrador de sistemas:

    • Verificar actualizaciones automáticas de freshclam.
    • Configurar alertas por correo y/o integración con SIEM.
    • Supervisar uso de CPU/IO durante escaneos.
  • Proveedor de hosting:

    • Definir políticas de cuarentena y restauración.
    • Establecer exclusiones para backups y contenidos estáticos.
    • Probar restauraciones periódicas.
  • Desarrollador web:

    • Evitar subir archivos ejecutables desde paneles de usuario.
    • Validar entradas y controlar permisos de archivos.

Criterios de aceptación

  • Freshclam actualiza firmas sin errores.
  • maldet -a /ruta/ realiza un escaneo y genera un SCANID.
  • Los archivos detectados se mueven a /usr/local/maldetect/quarantine/ (o ruta configurada).
  • Se recibe un correo con el resumen del escaneo en la dirección configurada.

Buenas prácticas y seguridad

  • No dependas solo de firmas; combina detección por firmas y heurística.
  • Mantén actualizados ClamAV y las definiciones (freshclam en cron o systemd timer).
  • Limita permisos de escritura en directorios web y aplica SELinux si está disponible.
  • Prueba restauraciones antes de necesitarlas en un incidente.

Flujo de decisión rápido (Mermaid)

flowchart TD
  A[¿Se detectó malware?] -->|No| B[Registrar evento y continuar]
  A -->|Sí| C[¿Es falso positivo?]
  C -->|Sí| D[Marcar y excluir regla]
  C -->|No| E[¿Se puede restaurar automáticamente?]
  E -->|Sí| F[Mover a cuarentena y restaurar si procede]
  E -->|No| G[Notificar equipo de respuesta y aislar]

Notas de compatibilidad y migración

  • CentOS 7 es la plataforma usada en este tutorial; en CentOS 8/RHEL 8+ consulta módulos y nombres de paquetes (dnf y paths pueden variar).
  • Si migras a un sistema con systemd, considera crear un servicio/systemd timer para freshclam y scripts de mantenimiento.

Resumen final

LMD junto con ClamAV ofrece una solución práctica para detectar y poner en cuarentena malware en servidores Linux, especialmente en entornos de hosting compartido. Configura alertas, actualiza firmas y complementa con reglas adicionales (YARA/heurística) para mejorar la cobertura.

Referencia

Autor
Edición

Materiales similares

Mostrar extensiones de archivo en Windows 10
Windows

Mostrar extensiones de archivo en Windows 10

Quitar programas de Windows obstinados
Windows

Quitar programas de Windows obstinados

Corregir unidades de red no reconectadas en Windows
Soporte técnico

Corregir unidades de red no reconectadas en Windows

Usar Google Maps con Siri en iPhone
Mapas

Usar Google Maps con Siri en iPhone

Instalar LMD y ClamAV en CentOS 7
Seguridad Linux

Instalar LMD y ClamAV en CentOS 7

Pantalla dividida en Android: guía rápida
Android

Pantalla dividida en Android: guía rápida