Instala el antivirus ClamAV en tu servidor Fedora

No es ninguna novedad que Linux es un sistema potente y seguro, que podemos configurar el cortafuegos y que, además, en Fedora, CentOS, etc, se integra SELinux, un sistema de protección de ficheros, pero eso no quiere decir que haya riesgos o que, en caso de hacer de servidor, equipos cliente puedan albergar algún virus en nuestro equipo.

Mayormente, el equipo servidor utiliza un antivirus para protegerse y también a los clientes, sobre todo equipos linux, y en esta entrada explicaré la instalación y configuración de ClamAV, un antivirus gratuito, abierto y multi-sistema.

En nuestro servidor Fedora ya existe el instalador dentro de repositorios, así que, abrimos un terminal y, antes de nada, actualizamos repositorios y actualizamos el equipo:

sudo dnf update

Instala ClamAV y su interfaz de línea de comandos (ClamAV Clamscan) ejecutando el siguiente comando:

sudo dnf install clamav clamav-update clamav-filesystem clamav-server-systemd clamav-scanner-systemd

Actualiza las definiciones de virus de ClamAV ejecutando el siguiente comando:

sudo freshclam

Crea un usuario clamscan y un grupo clamscan para ejecutar el escaneo de virus

sudo groupadd clamscan
sudo useradd -g clamscan -s /bin/false -d /var/run/clamav clamscan

Configura ClamAV editando el archivo de configuración /etc/clamd.d/scan.conf con un editor de texto, como nano:

sudo nano /etc/clamd.d/scan.conf

Asegúrate de que las siguientes líneas estén presentes y sin comentarios en el archivo de configuración:

User clamscan
LocalSocket /var/run/clamd.scan/clamd.sock
MaxScanSize 50M
ScanMail false
ScanArchive false

Estas tres últimas líneas nos mejoran el rendimiento del equipo en las tareas que se ejecutan en trasfondo.

Guarda y cierra el archivo de configuración.

Inicia el servicio ClamAV y haz que se inicie automáticamente en el arranque ejecutando los siguientes comandos:

sudo systemctl start clamd@scan
sudo systemctl enable clamd@scan

Verifica que ClamAV esté funcionando correctamente ejecutando el siguiente comando:

sudo systemctl status clamd@scan

Escanea tu sistema en busca de virus ejecutando el siguiente comando ( importante, la «/» indica la raiz del sistema ):

sudo clamscan -r --bell /

Este comando escaneará todo el sistema y te notificará si encuentra algún virus.

También podemos escanear con este ejemplo:

sudo clamscan -r --move=/srv/Papelera --max-scansize=2 --log=/var/log/clamscan.log -i /

Este comando escaneará todo el sistema de archivos de tu servidor en busca de virus y moverá cualquier archivo infectado a la papelera de reciclaje en «/srv/Papelera». La opción «-i» asegura que solo se escanearán archivos nuevos o modificados desde el último escaneo. La opción «–max-scansize» limitará el número de hilos utilizados durante el escaneo a 2 para evitar que ClamAV consuma demasiados recursos del procesador. La opción «–log» especifica la ubicación del archivo de registro del escaneo. El argumento «/» especifica que se debe comenzar el escaneo desde el directorio raíz del sistema de archivos.

Por lo que se refiere a las tareas automáticas, ten en cuenta que si has configurado ClamAV como un servicio de escaneo en tiempo real (usando el demonio «clamd»), no necesitas ejecutar la tarea de escaneo programado, ya que «clamd» escaneará los archivos en tiempo real. En este caso, la tarea de escaneo programado puede ser innecesaria y puedes desactivarla o modificarla según tus necesidades.

Todos estos servicios se pueden ejecutar con systemctl.