ClamAV: escáner antivirus para tu servidor Linux
ClamAV es el antivirus open source más usado en servidores Linux. No es el típico antivirus residente para desktops: se enfoca en escanear archivos subidos por usuarios, adjuntos de correo y directorios críticos del servidor. Es gratuito, tiene una base de firmas activa y se integra bien con los servicios de hosting.
Instalación
En Debian / Ubuntu:
sudo apt install clamav clamav-daemon -y
En AlmaLinux / Rocky:
sudo dnf install epel-release -y
sudo dnf install clamav clamav-update clamd -y
Actualizar firmas con freshclam
Las firmas son la base de datos que le dice a ClamAV qué buscar. Detén el servicio antes de la primera actualización manual:
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
El daemon freshclam se encarga después de actualizar las firmas varias veces al día sin que hagas nada.
Escaneo manual
La herramienta de línea de comandos es clamscan. Algunos ejemplos útiles:
# Escanear un directorio de forma recursiva y listar solo infectados
clamscan -r -i /home/usuario/public_html
# Mover automáticamente los archivos infectados a cuarentena
clamscan -r --move=/var/quarantine /var/www
# Escaneo silencioso para cron
clamscan -r -i --log=/var/log/clamscan.log /home
Integración con correo
Si corres Postfix, clamav-milter permite escanear los mensajes entrantes y salientes en tiempo real. Los correos con adjuntos infectados se rechazan antes de tocar el buzón del usuario. Combinado con Amavis y SpamAssassin, tienes una pila de filtrado bastante seria.
Escaneo de uploads
En entornos donde los clientes suben archivos (hostings compartidos, aplicaciones con subida de imágenes), puedes programar un escaneo por cron sobre los directorios de upload:
0 3 * * * /usr/bin/clamscan -r -i --log=/var/log/clamscan-daily.log /home
Revisa el log al día siguiente. Si encuentras algo, aísla el archivo, avisa al cliente y revisa de dónde vino la subida (formulario vulnerable, CMS desactualizado, etc.).
Cosas a tener en cuenta
- ClamAV consume bastante RAM (200-800 MB según firmas). En VPS pequeños conviene programar el escaneo en horarios de baja carga.
- Ninguna solución AV detecta el 100% del malware. Úsalo como capa adicional, no como única defensa.
- Revisa periódicamente que freshclam esté actualizando. Un ClamAV con firmas de hace meses es casi inútil.