Saltar a contenido

Escaneo con ClamAV

En este artículo

En este artículo - Instalación - Actualización de firmas - Requisitos de recursos - Ejemplos de escaneo - Consejos útiles ClamAV es un antivirus gratuito, multiplataforma y de código abierto diseñado para detectar troyanos, virus, malware y otras amenazas. Se utiliza principalmente en servidores y puertas de enlace de correo.

Instalación

Ubuntu / Debian

sudo apt update && sudo apt install -y clamav clamav-daemon

Nota

A partir de Ubuntu 22.04 y Debian 11+, se recomienda instalar el paquete clamav-daemon (que incluye clamd) por separado si se planea realizar escaneos en segundo plano o integrarlo con otros servicios.

CentOS / RHEL / Fedora

Para RHEL/CentOS 7 / 8 / 9 (debe estar habilitado EPEL)

sudo yum install -y epel-release
sudo yum install -y clamav clamav-update
Para Fedora / RHEL 9+ (usando dnf)

sudo dnf install -y clamav clamav-update

Nota

En sistemas con systemd (todas las distribuciones modernas), el servicio clamav-freshclam gestiona las actualizaciones automáticas de la base de datos.

Actualización de firmas

Antes del primer uso, asegúrese de actualizar las bases de datos de firmas de virus.

Método estándar (cuando freshclam está en ejecución)

sudo freshclam

Si encuentra el error ERROR: Can't open /var/lib/clamav/main.cvd: Permission denied o ERROR: Database lock file exists, es posible que el servicio clamav-freshclam ya esté en ejecución y bloqueando la actualización. En ese caso, utilice:

sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam

Requisitos de recursos

  • RAM: Para escaneos completos, se recomienda al menos 1–1,5 GB de RAM libre.
  • Swap: Si no existe una partición o archivo de swap, configúrelo, especialmente en VPS con memoria limitada:
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    

Ejemplos de escaneo

Tarea Comando
Escanear un solo archivo clamscan /ruta/al/archivo
Escaneo recursivo de carpeta (solo infectados) clamscan -r -i /carpeta
Mover archivos infectados clamscan -r --move=/cuarentena /carpeta
Eliminar automáticamente archivos infectados clamscan -r --remove /carpeta
Guardar informe en un archivo clamscan -r -i /carpeta > informe_escaneo.txt
Usar el demonio clamd (más rápido, menos RAM en repeticiones) clamdscan -r /carpeta

Nota

La opción --remove elimina permanentemente los archivos. Úselo solo después de realizar pruebas y con una copia de seguridad.

Para acelerar los escaneos repetidos, se recomienda usar clamdscan (se ejecuta a través del demonio clamd), después de iniciar el servicio:

sudo systemctl start clamav-daemon
sudo clamdscan -r /carpeta

Consejos útiles

  • Para verificar si clamd está en ejecución:
    sudo systemctl status clamav-daemon
    
  • Los registros de escaneo (por defecto) se encuentran en /var/log/clamav/.
  • Para programar escaneos regulares, configure cron:
    # Comprobación diaria a las 3:30 a. m.
    30 3 * * * /usr/bin/clamscan -r --exclude-dir="^/sys\|^/proc\|^/dev" /home --log=/var/log/clamav/daily_scan.log
    
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×