¿Qué es ClamAV?
ClamAV es un motor de antivirus de código abierto diseñado principalmente para la detección de malware en sistemas Linux y Unix. Su licencia GPL permite su uso gratuito en entornos personales y empresariales. El proyecto incluye varias herramientas: el demonio clamd para escaneos bajo demanda, la utilidad de línea de comandos clamscan y el actualizador de firmas freshclam. Gracias a su base de firmas actualizada frecuentemente por la comunidad, ClamAV detecta virus, troyanos, gusanos y otras amenazas conocidas. Aunque no sustituye a soluciones comerciales en todos los escenarios, su ligereza y facilidad de integración lo convierten en una opción popular para servidores de correo, gateways y estaciones de trabajo.
Instalación en distribuciones populares
- En Ubuntu y Debian: sudo apt update && sudo apt install clamav clamav-daemon
- En CentOS y RHEL: sudo epel-release install && sudo yum install clamav clamav-update
- En Fedora: sudo dnf install clamav clamav-update
- En Arch Linux: sudo pacman -S clamav
Después de la instalación, es recomendable iniciar el servicio del demonio con sudo systemctl start clamav-freshclam y habilitarlo para que se ejecute en el arranque. En algunas distribuciones el paquete del demonio se denomina clamav-daemon; verifica el nombre exacto con el gestor de paquetes.
Actualización de la base de firmas con freshclam
El componente freshclam se encarga de descargar las últimas firmas de malware desde los servidores oficiales de ClamAV. Puedes ejecutarlo manualmente con sudo freshclam o configurarlo para que se ejecute automáticamente en segundo plano mediante el servicio clamav-freshclam. Es importante revisar el archivo de configuración /etc/clamav/freshclam.conf para ajustar la frecuencia de las actualizaciones, el número de intentos y el proxy si tu red lo requiere. Mantener la base actualizada garantiza una detección eficaz de las amenazas más recientes.
Escaneo manual con clamscan
La herramienta clamscan permite analizar archivos y directorios de forma puntual. Un comando básico es sudo clamscan -r /home/usuario, donde la opción -r activa el recorrido recursivo de subdirectorios. Para obtener un informe más detallado, puedes añadir –bell para que emita un sonido al encontrar amenazas y –log=/var/log/clamav/scan.log para guardar los resultados. Si deseas que clamscan elimine automáticamente los archivos infectados, usa la opción –remove, aunque se recomienda primero revisar el registro para evitar borrados accidentales.
Uso del daemon clamd para escaneo bajo demanda
El demonio clamd mantiene cargada en memoria la base de firmas, lo que acelera los escaneos posteriores al primer inicio. Para utilizarlo, asegúrate de que el servicio clamd esté activo con sudo systemctl start clamav-daemon y sudo systemctl enable clamav-daemon. Luego puedes lanzar escaneos mediante el cliente clamdscan, por ejemplo: sudo clamdscan /srv/www. Esta aproximación reduce la carga de CPU y es ideal en entornos donde se realizan escaneos frecuentes, como servidores de archivos o buzones de correo.
Programación de escaneos automáticos con cron
Para mantener el sistema libre de malware sin intervención manual, es común crear una tarea cron que ejecute clamscan o clamdscan de forma periódica. Edita el crontab del root con sudo crontab -e y añade una línea como: 0 2 * * * /usr/bin/clamscan -r / –exclude-dir=/sys –exclude-dir=/proc –exclude-dir=/dev >> /var/log/clamav/cron_scan.log 2>&1. Esta tarea se ejecutará cada día a las 02:00 horas, escaneando el sistema completo excluyendo sistemas de archivos virtuales y guardando el resultado en un registro. Revisa periódicamente el log para detectar posibles infecciones.
Integración con servidores de correo
Uno de los usos más habituales de ClamAV es como filtro de antivirus en gateways de correo electrónico. Soluciones como Amavis-new, MailScanner o directamente el milter de Postfix pueden invocar a clamdscan para analizar los adjuntos de los mensajes entrantes y salientes. La configuración típica implica indicar la ruta al socket de clamd (usually /var/run/clamav/clamd.ctl) y definir acciones como rechazar, cuarentenear o notificar al administrador cuando se detecta un archivo infectado. Esta capa adicional protege tanto a los usuarios finales como a la infraestructura de correo de propagar malware.
Buenas prácticas y optimización de rendimiento
- Programa las actualizaciones de firmas en horarios de baja carga para evitar picos de ancho de banda.
- Limita los escaneos a directorios críticos (por ejemplo, /home, /var/www, /srv) y excluye sistemas de archivos temporales.
- Utiliza la opción –max-filesize y –max-scansize para evitar que archivos excesivamente grandes consuman recursos.
- Monitorea el uso de CPU y memoria del daemon clamd con herramientas como top o htop y ajusta el número de hilos si tu versión lo permite.
- Mantén el sistema operativo y los paquetes de ClamAV actualizados para beneficiarte de mejoras de seguridad y rendimiento.
Recursos, documentación y comunidad
La documentación oficial de ClamAV se encuentra en el sitio web


