Basado en Linux Debian 10

Como instalar el antivirus clamav

YouTube

 

Proyecto P4Hace unos días un amigo me preguntaba que si se podía instalar un antivirus en un sistema operativo GNU/Linux. Rápidamente le respondí que sí y que su finalidad era la de mantener nuestro disco duro limpio de este tipo de amenazas que no necesariamente tienen la finalidad de infectar nuestro sistema operativo.

Tener un antivirus en un servidor donde tienes clientes alojados es necesario simplemente porque no sabemos si en un momento dado pueden subir a nuestro servidor algún archivo que inconscientemente este infectado con un virus, troyano o malware. Si suben algún fichero malicioso no es que se vaya a infectar nuestro sistema pero pueden colgarlo en una web e infectar a los que la visiten. Este es un efecto negativo para nuestras paginas web ya que pronto Google etiquetará tu sitio como infectado y pronto aparecerá la típica pantalla roja …

Para proteger nuestros ficheros vamos a instalar el antivirus ClamAV. Este es un motor antivirus de código abierto para detectar troyanos, virus, malware y otras amenazas maliciosas.

Comenzamos identificándonos como super usuario root con el comando …

su

Cómo instalar ClamAV

Seguidamente vamos a instalar el antivirus con lo siguiente …

apt install clamav clamav-daemon

Cómo instalar ClamAV en Linux

Cómo actualizar la base de datos de virus conocidos

Una vez instalado vamos actualizar la base de datos para que esté al día de las amenazas existentes …

freshclam

Si todo va bien deberíamos ver que la base de datos ya está actualizada …

freshclam

Es posible que veamos un mensaje de error como este al intentar actualizar la base de datos con freshclam

error freshclam

Para solucionar esto tan solo hay que parar el servicio de freshclam

systemctl stop clamav-freshclam.service

Ahora debería actualizarse sin problemas …

freshclam

Volvemos a iniciar el servicio que habíamos parado y listo …

systemctl start clamav-freshclam.service

Escaneando nuestro disco duro con ClamAV

Continuamos escaneando todo el disco duro a ver qué encontramos. Este escaneo lo vamos a hacer excluyendo directorios como por ejemplo el /sys ya que da problemas de permisos y con las variables -ri para que el escaneo lo haga de forma recursiva y solo nos muestre los archivos infectados y no todo el escaneo …

clamscan -ri --exclude-dir=/sys/ /

escaneo clamav

Cómo podemos ver el sistema nos dice que tenemos 2 archivos infectados. Estos dos archivos forman parte del software Linux Malware Detect que tengo instalado y que lo instalaremos en el próximo artículo. Aunque los ve cómo dos posibles exploits de php en realidad son falsos positivos por lo que tenemos que pasar este aviso por alto.

Para esto añadimos el directorio de maldetect además del sys

clamscan -ri --exclude-dir=/sys/ --exclude-dir=/usr/local/maldetect/ /

scan clamav

Con esta solución ClamAV hace su trabajo correctamente y si tenemos algún fichero sospechoso en nuestro servidor lo veremos rápido.

Automatizando el antivirus ClamAV

Lo que yo quiero es que ClamAV escanee todo el disco duro cada día y si detecta algún fichero malicioso me lo envíe a un directorio de cuarentena.

Para hacer esto creamos un directorio para los archivos en cuarentena

mkdir /home/usuario/cuarentena

Ahora si ejecutamos lo siguiente …

clamscan -ri --move=/home/usuario/cuarentena/ --exclude-dir=/sys/ --exclude-dir=/usr/local/maldetect/ /

Con esta línea ClamAV hace un escaneo recursivo, nos muestra solo los infectados y si los encuentra los mueve a la carpeta de cuarentena excluyendo el directorio sys y el de maldetect que nos da falsos positivos, para mi perfecto.

Ahora vamos a crear una tarea automática con cron

crontab -e

Ahora incluimos la siguiente linea …

30 23 * * * echo 3 > clamscan -ri --move=/home/usuario/cuarentena/ --exclude-dir=/sys/ --exclude-dir=/usr/local/maldetect/ /

Con esta línea cada día a las 23:30 de la noche ClamAV se pondrá a escanear, lo hará de forma recursiva, excluirá los directorios de falsos positivos y si encuentra ficheros maliciosos los guardará en el directorio cuarentena.

Yo prefiero guardarlos en la cuarentena simplemente porque antes de borrar quiero ver qué es lo que se ha infectado, puede ser que el fichero sea de algún cliente alojado y puede servir como prueba para explicar cuál es el problema.

Si por el contrario prefieres que haga su trabajo pero borrando los ficheros infectados y no moverlos a la cuarentena debemos introducir lo siguiente …

30 23 * * * echo 3 > clamscan -ri --remove=yes --exclude-dir=/sys/ --exclude-dir=/usr/local/maldetect/ /

Con este tutorial ya tenemos un completo antivirus gratuito que se encargará de mantener nuestro sistema limpio. En el próximo capitulo instalaremos Linux Malware Detect para que trabaje en conjunto con ClamAV correctamente. ClamAV puede funcionar solo sin problemas pero si además le instalamos LMD tendremos un sistema bastante completo en busca de bichitos indeseables que puedan entrar a nuestro sistema.