Linux

ClamAV en Linux: instalación, configuración y uso

noviembre 2, 2026 Qué es mejor? 9 min read
ClamAV en Linux: instalación, configuración y uso

Los datos están comprobados en octubre de 2026.

La respuesta corta: ClamAV para la mayoría, ClamAV 1.4.6 LTS para producción y ClamAV 1.5.4 paraCHF?

Si vas a instalar ClamAV en un equipo Linux de escritorio o en un servidor pequeño, conviene la versión disponible en el repositorio de tu distribución, acompañada de FreshClam y análisis programados. Para un servidor que necesita una rama estable, ClamAV 1.4.6 LTS es la opción indicada. ClamAV 1.5.4 aporta funciones más recientes y tiene sentido para cascadas controlled, entornos de prueba o quien quiera seguir la rama con menosReceiver.

ClamAV es un antivirus de código abierto para Linux. Funciona en Ubuntu, Debian, Rocky Linux, AlmaLinux y RHEL mediante sus paquetes y herramientas de línea de comandos. Su página oficial ofrece los ejecutables, la documentación y las bases de datos de firmas.

La recomendación depende del trabajo que quieras realizar:

  • Para uso general, usa la versión de tu repositorio porque recebe actualizaciones junto con el sistema.
  • Para producción estable, elige ClamAV 1.4.6 LTS y programabac backups de la configuración.
  • Para cascadas controladas, prueba ClamAV 1.5.4 antes de moverla a producción.

ClamAV detecta firmas maliciosas y patrones conocidos; no sustituye los parches del sistema, un WAF, copias de seguridad ni un EDR. Tampoco conviene instalarlo como única defensa de un equipo con acceso a datos críticos.

Qué necesitas antes de instalar

Comprueba primero la distribución y el modelo de permisos:

  • Ubuntu 22.04 o 24.04, o Debian 12: instala desde los repositorios oficiales de la distribución.
  • Rocky Linux 9, AlmaLinux 9 o RHEL 9: usa EPEL si tu repositorio no ofrece ClamAV.
  • Root o acceso a sudo para instalar paquetes y configurar servicios.
  • Al menos 2 vCPU, 2 GB de RAM y 5 GB libres como mínimo orientativo para una instalación pequeña; el consumo real depende del número de archivos, la concurrencia y el tamaño de las bases de datos.
  • Acceso HTTPS por el puerto 443 para descargar las firmas.

Comprueba el espacio y la memoria con df -h, free -h y nproc. Después verifica la conectividad:

curl -I https://database.clamav.net/

Si el servidor tiene proxy, configura http_proxy y https_proxy para el proceso queDESCARGUE las firmas. No introduzcas credenciales en comandos compartidos ni en un repositorio.

Conviene decidir desde qué rutas se ejecutará el análisis. /home, /var/www y /tmp pueden tener permisos y crecimiento distintos; /var/lib/clamav requiere que el usuario del servicio pueda escribir y leer la base de datos. En un equipo de escritorio, no analices montajes de red durante cada tarea programada si pueden tardar horas o desconectarse.

La documentación de ClamAV explica las opciones de configuración y los límites de cada modo. Si tu distribución ofrece una versión distinta, usa clamav --version y freshclam --version para comprobar qué estás instalando realmente.

Instalar ClamAV según la distribución

En Debian y Ubuntu, instala clamav, clamav-daemon y clamav-milter desde el gestor de paquetes. En RHEL, Rocky y Alma, habilita EPEL cuando sea necesario e instala clamav, clamav-update, clamd y clamav-milter. No mezcles comandos de ambas familias.

Debian y Ubuntu

  1. Actualiza el índice de paquetes con apt update.
  2. Ejecuta sudo apt install clamav clamav-daemon clamav-milter.
  3. Comprueba clamscan --version, freshclam --version y clamd --version.
  4. Activa el servicio solo si vas a usar clamd o clamav-milter; no es necesario para un análisis puntual con clamscan.

RHEL, Rocky y Alma

  1. Habilita EPEL con el procedimiento de tu distribución, si el paquete no aparece.
  2. Ejecuta sudo dnf install clamav clamav-update clamd clamav-milter.
  3. Comprueba clamscan --version, freshclam --version y clamd --version.
  4. Activa clamd y clamav-milter únicamente si tu arquitectura los necesita.

Si clamd no arranca, revisa journalctl -u clamav-daemon o el registro del servicio que gestione tu distribución. En Ubuntu y Debian, el nombre habitual del servicio es clamav-daemon; en RHEL suele ser clamav-freshclam para las firmas y clamd para el demonio, pero confirma con systemctl list-unit-files | grep -i clam.

Después de instalar, no lances varias instancias de FreshClam: un proceso sostenido puede mantener el bloqueo de la base y provocar el error de base ocupada.

Actualizar firmas y elegir versión

La tabla compara las dos ramas de ClamAV que indica el material de referencia. Los datos de esta tabla no sustituyen la comprobación de disponibilidad de tu repositorio.

Opción Rama Perfil Cambio principal
ClamAV 1.4.6 LTS Producción estable Rama de mantenimiento
ClamAV 1.5.4 Actual Cascadas y funciones nuevas Rama con versiones más recientes

Comprueba la versión instalada:

clamav --version
freshclam --version

Actualiza las firmas mediante FreshClam. Las bases descargadas son main.cvd, daily.cvd y bytecode.cvd; no las nombres como sustituto de una verificación de integridad. Ejecuta:

sudo freshclam

Configura una sola instancia mediante systemd o cron. Para una comprobación rápida:

sudo systemctl enable --now clamav-freshclam

En Ubuntu y Debian, el nombre de la unidad puede variar según la versión instalada; confirma el nombre con systemctl list-unit-files. En RHEL, usa la unidad correspondiente al paquete de actualización disponible.

Para comparar una instalación de producción con una cascada controlada, registra clamav --version, freshclam --version, el tamaño de las bases y el resultado de un archivo de prueba. No cambies de rama solo por la cifra de versión: primero comprueba compatibilidad, espacio y registros.

Analizar archivos y directorios

Usa clamscan para una comprobación puntual. Usa clamdscan cuando el servicio clamd esté activo y quieras analizar muchos archivos sin iniciar el daemon para cada ejecución.

Comprobación puntual

  1. Analiza un archivo con clamscan /ruta/al/archivo.
  2. Analiza un directorio con clamscan -r /ruta/al/directorio.
  3. Guarda la salida y el código de salida: clamscan -r /ruta > informe.txt.

El código de salida permite decidir si la tarea debe Treating la salida como un simple texto. Consulta la documentación de tu versión para interpretar sus códigos exactos.

Archivos repetidos y aislamiento

Con clamd, ejecuta clamdscan --fdpass /ruta. La forma exacta de pasar permisos y excluirse rutas depende de la configuración de clamd; prueba primero sobre una carpeta de prueba y revisa los registros.

Para aislar un archivo sospechoso, mueve una copia a una ruta restringida y bloquea su ejecución. No lo borres automáticamente si necesitas investigarlo. Conserva ruta, propietario, permisos, fecha y hash SHA-256; el hash sirve para comparar, pero no demuestra por sí solo que el archivo sea malicioso.

Valida la instalación con un archivo EICAR de prueba, que no es malware real pero debe ser detectado por un antivirus compatible. Descárgalo únicamente desde la fuente oficial EICAR y analízalo con clamscan. Después elimina la copia de prueba y registra que fue una prueba.

Para análisis programados, no confundas una detección con una cuarentena automática. Primero registra qué rutas se excluyen y quién puede leer los informes.

Automatizar y vigilar accesos

Opción Uso principal Ventaja comprobable Inconveniente
Análisis programado Archivos y directorios Funciona sin interacción del usuario Revisa los mismos datos solo según el calendario
clamdscan Servidor de archivos Reutiliza el daemon Requiere configurar permisos y servicio
ClamOnAcc Integración basada en eventos Permite reaccionar al acceso Requiere configurar el componente que detecta el evento
Docker Contenedores Separa el entorno de ClamAV Añade gestión de contenedores y rutas montadas
clamav-milter Flujo de correo Filtra mensajes antes de entregarlos Necesita integración con Postfix y políticas de correo

Configurar una tarea

  1. Elige las rutas que se analizarán.
  2. Define la frecuencia: por ejemplo, una ejecución diaria mediante cron.
  3. Ejecuta una prueba manual con clamscan -r y comprueba el informe.
  4. Guarda el resultado en un archivo con fecha calculada por el sistema, no con una fecha escrita a mano.

Un ejemplo de entrada cron para el usuario root es:

0 2 * * * /usr/bin/clamscan -r /var/www --log=/var/log/clamav-scan.log

La ruta de clamscan puede ser /usr/local/bin/clamscan si compilaste ClamAV. Verifícala con command -v clamscan. Evita que dos tareas se solapen; usa flock o una unidad systemd con la opción adecuada.

Para vigilar accesos, instala clamav-milter y conéctalo a Postfix mediante socket UNIX. La configuración exacta cambia con la distribución y con la política de correo; no inventes una ruta de socket. Revisa el registro de Postfix y el de clamav-milter para confirmar que los mensajes se analizan.

Docker exige montar el volumen que quieras proteger dentro del contenedor. ClamOnAcc debe probarse con el sistema de archivos o servicio que lo activa. Las rutas excluidas reduce falsos positivos, pero también pueden dejar archivos sin revisar; documenta cada exclusión.

Ajustes de producción y fallos frecuentes

Ajuste o fallo Qué comprobar Acción
LocalSocket Ruta y propietario Verifica que clamd y el cliente puedan acceder al socket
FixStaleSocket Socket antiguo Actívalo solo si la configuración de tu versión lo documenta
User clamav Usuario del servicio Conserva permisos de lectura y escritura necesarios
MaxThreads Threads activos Reduce concurrencia si la CPU o la RAM alcanzan su límite
StreamMaxLength Tamaño máximo de transmisión Ajusta el límite a archivos y tráfico reales
Base de firmas bloqueada Instancias duplicadas de FreshClam Deja una sola actualización activa
Logs ausentes Ruta y permisos Corrige el destino y comprueba el servicio con journalctl

En producción, usa rutas de log con espacio controlado y revisa su rotación. MaxThreads debe relacionarse con tus 2 vCPU y 2 GB de RAM mínimos; una configuración copiada sin medir puede provocar saturación. StreamMaxLength limita la memoria o el tamaño de un flujo según la versión y el modo; no lo eleve sin revisar la documentación de ClamAV.

Para diagnosticar clamd, ejecuta clamdscan --version, comprueba el estado del servicio y lee journalctl. Para diagnosticar FreshClam, ejecuta freshclam --version y revisa el log de actualización. No uses kill -9 como primera solución: primero identifica el proceso que mantiene el bloqueo.

Prueba también los permisos con sudo -u clamav test -r /ruta y sudo -u clamav test -w /ruta. El resultado depende de la ruta concreta, pero evita cambiar todo el directorio a permisos abiertos.

En producción, la prioridad es una única actualización de firmas, permisos verificables y registros revisables; instalar ClamAV no elimina la necesidad de parches ni de copias de seguridad.

Preguntas frecuentes

¿ClamAV 1.4.6 LTS o 1.5.4?

Elige 1.4.6 LTS para un servidor que prioriza estabilidad y mantenimiento. Evalúa 1.5.4 en una máquina o cascada de pruebas si necesitas funciones recientes. Confirma primero que tu distribución y tus componentes son compatibles.

¿Basta con instalar ClamAV?

No para proteger un sistema completo. Combínalo con actualizaciones, control de acceso, copias de seguridad y, cuando corresponda, protección de correo o detección de diarios promedio por en endpoints.

¿Qué herramienta uso para un análisis rápido?

Usa clamscan -r /ruta para una comprobación puntual. Usa clamdscan solo si clamd está configurado y probado.

¿Cómo separo la configuración de producción?

Mantén una copia de clamd.conf, freshclam.conf y las reglas de cron o systemd. Aplica cambios primero en un entorno de pruebas y registra la versión instalada.

Fuentes

  1. ArchlinuxClamAV – ArchWikiconsultado el 22/10/2026
  2. Kaliclamav | Kali Linux Toolsconsultado el 22/10/2026
  3. LinuxsecurityFedora 44 ClamAV Denial of Service Update 2026-ecf6fe868fconsultado el 22/10/2026
  4. GithubReleases · Cisco-Talos/clamav – GitHubconsultado el 22/10/2026
  5. LumhexBest Antivirus for Linux in 2026: A Privacy-First Guide – LumHex AVconsultado el 22/10/2026