Latinoamérica
de.novatoanovato@gmail.com

Comando -clamav-

Dedicado al nuevo usuario de software libre

Comando -clamav-

Comando clamav

El comando clamav no es mas que un programa antivirus de código abierto bajo licencia GPL y multiplataforma muy utilizado en sistemas operativos del tipo Unix, tal y como GNU/Linux. Éste comando, es un kit de herramientas que incluyen: Un demonio multiproceso flexible y escalable (clamd), un escáner de línea de comandos (clamscan) y una herramienta para efectuar actualizaciones manuales y/o automáticas de las bases de datos de firmas (freshclam). Tiene soporte incorporado para todos los formatos de archivo de correo estándar, varios formatos de archivo, formatos ejecutables y los formatos de documentos populares. Siendo el núcleo del paquete (clamav) un motor antivirus disponible en forma de biblioteca compartida.

El proyecto ClamAv Antivirus fue fundado en el año 2001 por Tomasz Kojm. En la actualidad es implementado en mas de 500 000 servidores en todo el mundo. Su primer objetivo fue combatir el correo electrónico malware. Como consecuencia de ello, es un software muy usando en un gran número de servidores de e-mail. Gracias a la colaboración de varias compañías, universidades y otras organizaciones ha sido posible para el proyecto ClamAV poseer una red extensa de distribución mirror rápida y fiable en todo el mundo. Desde su Pagina oficial encontraras mucha mas documentación si quieres saber mas acerca de este antivirus de software libre.

Introducción

Para esta entrada me decidí a hacer una breve introducción (opinión personal) sobre el uso de antivirus en sistemas operativos GNU/Linux. Soy de los que piensan que a nivel usuario para protegernos contra malware puede bastarnos con sentido común tanto para: La navegación web, la recepción de correos electrónicos y la instalación de software en equipos domésticos. A esto también podríamos sumarle una buena gestión de permisos y usuarios como también la de un firewall bien configurado y/o iptables. Ésto, sumado a la baja disponibilidad de malware en el mundo del pingüino, pareciera ser no muy necesaria que digamos la instalación de un antivirus.

Pero… También pienso que nunca esta de más tomar precauciones. Si contamos con recursos de hardware suficiente, no considero que esté demás añadir una capa mas de seguridad sacrificando uno pocos puntos porcentuales de recursos. Sobre todo, teniendo en cuenta, que se trata de nuestros datos. Me decidí por implementar el uso de antivirus en mis equipos con GNU/Linux y publicar una entrada sobre el software que voy a ocupar y como usarlo. En este caso hablamos de ClamAv.

Objetivo de éste artículo

El objetivo de este articulo es el de explicar como instalar el paquete ClamAv en GNU/Linux, teniendo en cuenta las diferentes distribuciones. En esta entrada aprenderá: Cómo esta constituido el paquete ClamAV, a actualizar la base de datos de firmas de forma manual y automática, escaneara archivos, directorios y particiones en búsqueda de infecciones y verá cómo eliminarlas. Conocerá sus opciones y expondremos el uso de estas junto a su sintaxis.

Instalación

El paquete ClamAv, se encuentra disponible para su descarga e instalación en los repositorios de la gran mayoría de las distribuciones GNU/Linux. Si bien el paquete clamav es el antivirus, dependiendo de la distribución, algunas dependencias o funciones del paquete pueden venir por separado. Recuerda que antes de hacer una instalación de paquetes, debes actualizar el sistema operativo.

Archlinux

Para instalar ClamAv en Archlinux y derivados ejecutamos:

sudo pacman -S clamav

Debian

Para instalar ClamAv en Debian y derivados ejecutamos:

sudo apt-get install clamav clamav-docs clamav-daemon clamav-freshclam

Fedora

Para instalar ClamAv en Fedora ejecutamos:

sudo dnf install clamav

Paquete clamav

El paquete ClamAv se encuentra compuesto por dos paquetes fundamentales que permiten al antivirus realizar las actualizaciones de la base de dato de firmas y los escaneo de archivos, directorios y particiones, estos son freshclam y clamscan respectivamente. Debido a que operan como comandos individuales, cada uno de ellos cuenta con su respectiva sintaxis y por lo tanto con sus respectivos manuales, sobre los que nos basaremos para el desarrollo de esta entrada.

Base de datos firmas

Opte por por utilizar el termino base de datos de firmas, para explicar un pequeño concepto: Las firmas.

Las clásicas firmas de virus son una secuencia continua de bytes comunes en cierta muestra de malware, lo que significa que se contiene dentro de este o del archivo infectado y no en archivos no afectados.

Hoy en día, las firmas no son suficientes para detectar archivos maliciosos: los creadores de malware usan métodos de ofuscación para cubrir sus huellas. Por ello, los productos de antivirus modernos deben utilizar métodos más avanzados de detección. Las bases de datos todavía contienen dichas firmas (representan más de la mitad de las entradas), pero también incluyen entradas más sofisticadas.

Como costumbre, todavía se puede llamar a esas entradas “firmas”. No hay nada de malo en ello, siempre que recordemos que el término se refiere a una gama de técnicas que conforman un arsenal mucho más robusto.

Idealmente, deberíamos dejar de utilizar el término “firma” para referirnos a cualquier entrada en la base de datos del antivirus, pero se sigue usando porque aún no existe un término más exacto.

Actualización de base de datos de firmas

Luego de realizar una instalación de un antivirus, como al momento previo de efectuar algún tipo escaneo sobre el sistema de archivos con el, una de las primeras acciones que realizas es la de actualizar de la base de datos de firmas. De esta forma dispondrás las ultimas firmas previo a realizar cualquier acción de búsqueda de infecciones.

ClamAv dentro de su kit de herramientas, cuanta con programa CLI que es el encargado de llevar adelante el proceso de actualización de las bases de datos de firma que serán usada por el propio ClamAv en el proceso de escaneo de malware. Estamos hablando de freshclam, quien cuenta para ésta tarea con su propia sintaxis. Antes de desarrollar los métodos de actualización de la base de datos de firmas con los que contamos, veamos un poco sobre los directorios y archivos de los que hace uso freshclam.

La base de datos clamav

Cuando realizamos una actualización sobre las bases de datos de firmas, hablamos de aquellas que se encuentran ubicadas en el directorio /var/lib/clamav. Siendo éste quien contiene los archivos de la base de datos de firmas del antivirus ClamAv. Si quieres visualizar su contenido, bastaría con ejecutar:

ls -l /var/lib/clamav

Archivo de configuración freshclam

A su vez, contamos con el archivo de configuración del motor de actualizaciones de las base de datos de firmas, freshclam. Ubicado en /etc/clamav/freshclam.conf. En este fichero podremos ajustar parámetros sobre el proceso y elementos de actualización, tales cómo: directorios, mirrors, etc.

Podríamos mirar su contenido ejecutando la linea de comando:

cat /etc/clamav/freshclam.conf

De querer cambiar algún parámetro de su configuración, nos basta abrir el archivo con nuestro editor de texto favorito. Invito a leerlo y a hacer modificaciones que requiera con criterio y responsabilidad. En mi caso ejecutare la siguiente linea, donde ocupo nano como editor de texto.

nano /etc/clamav/freshclam.conf

Ya conociendo un poco sobre los directorios que hacen a la actualización de la base de datos de firmas, pasemos a ejecutar su actualización. Para ello nos contamos con dos métodos: actualización de firmas manual o actualización de firmas automática.

Actualización manual de la base de datos de firmas

El antivirus ClamAv nos permite ejecutar de forma manual las actualizaciones de la base de datos de firmas. El comando freshclam es quien realiza esta tarea. Conozcamos su sintaxis y como ejecutarlo.

Sintaxis freshclam

El comando freshclam se corresponde con la siguiente sintaxis:

sudo freshclam [opciones]

Actualizar base de datos de firmas

Para llevar a delante este tipo de tarea debemos ejecutar y con permisos de superusuario, la siguiente linea de comando:

sudo freshclam

Una vez finalizado el proceso de actualización de la base de datos de firmas, si volvemos a comprobar veremos que se nos indica que las bases de datos de firmas ya están actualizadas.

Opciones del comando freshclam

El comando freshclam cuenta en su sintaxis con una serie de opciones. Vemos a continuación alguna de ellas.

–verbose o -v: Muestra todos los detalles del proceso de actualización.
–quiet: Imprime un mensaje solo si ocurrió un error en la ejecucion.
–show-progress: Muestra en punto porcentuales el proceso de descarga de la nuevas firmas.
–user=USER o -u USER: Selecciona un usuario para ejecutarlo.
–help o -h: Imprime en pantalla ayuda sobre el comando.
–version o -V: Muestra la versión de freshclam.

Actualización automática de la base de datos de firmas

En el caso de querer mantener las bases de datos actualizadas de forma automática, solo debemos habilitar e iniciar el servicio de freshclam.

Primero lo habilitamos con la linea de comando:

sudo systemctl enable clamav-freshclam.service

En segundo lugar iniciamos el servicio de actualización automática de freshclam.

sudo systemctl start clamav-freshclam.service

De esta forma el demonio freshclam se encuentra activado y mantendrá la base de datos de firmas de ClamAv actualizada, sin que necesite nuestra intervención.

NOTA: Freshclam, es una dependencia del paquete ClamAv, que usualmente se instala junto con este paquete. Si en tu distribución no es el caso, deberás instalarla por separado.

Escaneo de directorios contra malware

Veremos a continuación como utilizar el antivirus ClamAv para escanear en búsqueda de infecciones sobre directorios, archivos y particiones. Así como para actualizar la base de datos de firmas contamos con una herramienta con su respectiva sintaxis (freshclam), lo mismo sucede para realizar escaneo contra malware. La herramienta clamscan, es la encargada de lleva a cabo esta tarea y cuenta con opciones que facilitan el proceso de búsqueda y eliminación de software malicioso.

Sintaxis

El comando clamscan lleva adelante el proceso de escaneo y eliminación de amenazas bajo la siguiente sintaxis:

clamscan [parámetro] [ruta]

Me gustaría detenerme un segundo antes de seguir con los tipos de escaneo, para mencionar que por defecto como usuario solo tenemos permisos sobre nuestro directorio personal ubicado en el directorio /home, modificar directorios y archivos mas allá de /home de nuestro usuario siempre requerirá permisos.

Escanear /home

Siguiendo la sintaxis ejecutamos…

Donde el parámetro «-r» nos indica que se va a escanear recursivamente el contenido de la ruta «/home», esto quiere decir que se analizaran todos los subdirectorios contenidos en /home. También podemos observar, que como dijimos anteriormente, no es necesario conceder permisos superusuario para el análisis de este directorio.

Bajo esta orden, clamav nos imprimirá en pantalla cada objeto analizado seguido del estado del objeto, por lo que nos sera muy difícil y engorroso de identificar las infecciones en caso de que las haya.
Para ello podemos indicarle a clamav, que nos muestre únicamente las infecciones que surjan en el transcurso del análisis.

El parámetro «-i» indicara a clamav que nos muestre una lista de las infecciones a medida que estas vayan apareciendo, dejando el proceso de escaneo en segundo plano.

También podemos agregar el parámetro «–bell» para que suene un pitido cada vez que detecte una infección.

También podemos solicitar que se nos guarde un reporte completo del análisis en un archivo de texto.

Agregando el parámetro «-l archivo.txt» nos guardara el reporte completo del análisis en el directorio /home/usuario.

Eliminar Infecciones

Una vez que estemos seguros de las detecciones y de que son realmente infecciones procedemos a reescanear el directorio, pero esta vez bajo la orden de suprimirlos.

Agregando el parámetro «–remove» y la forma de escaneo que mas nos guste, eliminara todos las infecciones a medida que estas vayan apareciendo.

Es conveniente, primero hacer un escanero sin este parámetro para estar seguros de las detecciones que vamos a eliminar, vuelvo a recomendar esto.

Análisis completo del sistema

La sintaxis es exactamente la misma, solo cambia los permisos que en este caso tenemos que conceder, y la ruta que va a ser analizada.

En este caso el análisis seria:

Donde «sudo» nos concede los permisos y «/» es la raíz del sistema. Una vez que tengamos los resultados del análisis, se hayan encontrado infecciones y estemos completamente seguros (mas que nunca) de lo que vamos a eliminar, ejecutamos la siguiente orden.

Y como siempre, podemos consultar el manual «clamscan –help» para mas opciones.

Espero que sea de utilidad.
Saludos, Cristian.

 

4 comentarios

  1. Anónimo dice:

    porfa, no entiendo bien, solo sistema operativo LINUX

Deja un comentario

Tu dirección de correo electrónico no será publicada.

cinco × dos =