Nadie esta libre de virus o RootKits, tampoco Linux, pero para protegernos disponemos diferentes herramientas ClamAV(es el tema que nos ocupa hoy) y otras como RKhunter para detectar rootkit traseras y otras que hablaremos en otros POST.
ClamAV nos permite localizar malware (virus, troyanos, gusanos, macros malignos de documentos) pues no solo el malware de Linux nos afecta ya que a veces ejecutamos aplicaciones Windows en nuestro Linux. Ya sea escaneando la entrada de mails que era el objetivo principal para el que se creo esta herramienta, como el escaneo desde linea de comando e interfaz gráficos y es es multiplataforma ya que también esta disponible en Windows, MacOS, etc. y todo esto OpenSource.
Instalación
Lo primero explicaremos lo sencillo que es instalarlo que veremos que es muy fácil en un sistema como Debian:
sudo apt install clamav clamav-daemon libclamunrar9 daemon
//Actualizamos la BBDD
sudo freshclam
//Reiniciamos el servicio
sudo /etc/init.d/clamav-daemon start
sudo /etc/init.d/clamav-freshclam start
sudo /etc/init.d/clamav-milter start // Proteger de SPAM nuestro servidor de correos.
En caso de no tener Debian o cualquier otra distribución ( RHEL/CentOS, Fedora, openSUSE, OSX, etc.) con los paquetes del antivirus, podríamos bajarnos el fuente y compilarlo.
Uso
Después de instalarlo vamos a ver como se utiliza, para después ver como configurarlo para tener una protección en tiempo real y que nos avise en caso de encontrar algún problema.
Lo primero, aunque se vio en la instalación es el saber como tener siempre actualizada la base de datos de firmas. Para esto utilizaremos el comando «freshclam» pero antes de esto deberemos parar el servicio de actualización del mismo nombre.
sudo /etc/init.d/clamav-freshclam stop
sudo freshclam
sudo /etc/init.d/clamav-freshclam start
Para poder realizar un escaneo desde linea de comando usaremos el comando «clamscan» que dispone de muchas opciones que podremos ver con «man clamscan» y que comentaremos con ejemplos las más utilizadas:
Simplemente ejecutando «clamscan» y el directorio o fichero a examinar, nos permite analizar el fichero o directorio indicado. Pero también podremos realizar un análisis recursivo del directorio.
clamscan -r <directorio>
Si queremos que la salida se vuelque a un fichero para poder luego ver fácilmente los ficheros que han dado positivo. También se puede usar la opción «-i» para que nos muestre solo los ficheros infectados.
clamscan -r --log=<fichero de Salda> <Directorio>
Se pueden definir acciones cuando se encuentre con un fichero infectado, para que no solo se quede en un aviso, como es moverlo a un directorio o borrarlo.
- –remove Borrara el fichero infectado.
- –move=<directrio cuarentena> Para que mueva el fichero infectado a un directorio de cuarentena, y así asegurarnos que no es un falso positivo.
- –copy=<directorio cuarentena> En este caso no lo mueve sino que solo lo copia de forma que nos lo copia en un directorio para realizarse un análisis más profundo y mientras continuamos con el en su lugar de ejecución.
También podremos indicar que tipo de ficheros nos escanea o no «–scan-<tipo>=yes|no» unos se escanean por defecto, aunque podremos anularlos, y otros deberemos especificar que se escaneen.
- –scan-pe Ficheros Windows .EXE, .DLL, .SYS
- –scan-ole2 COntenedores de archivos OLE
- –scan-elf Ficheros ejecutables Unix
- –scan-pdf Ficheros PDF
- –scan-hwp3 Procesador de texto de Hewlett-Packard
- –scan-swf Ficheros Flash
Los escaner de ficheros que debemos indicar que si queremos revisarlos, pues por defecto están a no son:
- –alert-broken Alerta de ejecutables WIndows y Unix (PE, ELF) rotos.
- –alert-encrypted Alerta de archivos y documento que esten cifrados.
- –alert-encrypted-archive y –alert-encrypted-doc Alerta pero solo de archivos o solo doc.
- –alert-macros Alerta de ficheros que contienen macros VBA.
Podremos profundicar mucho más con «clamsca –help» ya que podemos limitar el tamaños de los ficheros a escanear.
Configuración
Ahora hablaremos de la configuración, especialmente para tener una protección activa, que nos permitirá definir cualidades por defecto y tomar medidas al abrir un fichero infectado ya sea solo un aviso o un bloqueo de uso.
Los ficheros de configuración se encuentran en «/etc/clamv» donde podremos encontrar:
- clamd.conf que explicaremos para poder realizar un análisis en tiempo real.
- freshclam.conf para las actualizaciones
- clamav-milter.conf para configurar el antivirus en nuestro servicio de correo (sendmail por ejemplo) que en no trataremos en este articulo.