24 octubre 2015

Seguridad: Antivirus. Clamav desde Terminal

La polémica sobre los virus en Linux es conocida y antigua. Estamos ante un sistema muy seguro y difícilmente un virus puede dañar nuestro sistema. Es más podríamos tener un virus en nuestro disco o en un pendrive que simplemente lo que haría es ocupar espacio. Poco, ya que este software malicioso no suele ser de gran tamaño. Pero en definitiva, el software malicioso existe y debemos potegernos.

Por otra parte, un usuario normal de las distribuciones Linux Mint y Ubuntu descarga sus paquetes de los repositorios oficiales, cuestión que beneficia la seguridady estabilidad del sistema. Pero no quita que, la curiosidad mató al gato, un buen día descarguemos no de qué de no se donde.

Además en nuestro ordenador se mueven (entran y salen) archivos, documentos de nuestro trabajo, estudios, correos que nos envían con adjuntos, archivos que bajamos de la red: pdf, avi etcétera. Con este trasiego es muy probable que se nos cuele software malicioso. El problema es corregirlo y nuestra responsabilidad es no convertirnos en transmisores de software maligno. A otros usuarios, esta falta de cuidado, puede causarles daños y no debemos ser nosotros los causantes, ni siquiera sin querer.

ClamAV es el antivirus más conocido en los entornos Linux, (algo tendrá el agua cuando la bendicen), y es el propuesto en esta entrada.
Como siempre, no me canso, hay más antivirus, algunos de pago, con mejores gráficas y con funciones más automatizadas. Cada uno es libre en su elección, ClamAV es software libre y gratuito, reconoce (así lo dice en su guía), más de un millón de software malicioso: virus, gusanos, troyanos y otras joyas. Su uso es fácil, lo veremos, y su eficacia probada.
Sin embargo es un virus que el usuario debe ejecutar ya que no se inicia con el sistema y queda residente en nuestra memoria. Así que debemos de adoptar cierto método de trabajo con este programa. Mi recomendación es:
  • Analizar los pendrives y SDD antes de realizar alguna acción.
  • Analizar archivos y ficheros descargadoss de Internet.
  • Al menos, una vez a la semana realizar un analisis de /home/usuario
  • Si instalamos paquetes fuera del Centro de Software o Gestor de Paquetes, realizar un análisis
Insisto sobre todo en adquirir la costumbre de realizar el análisis cuando realicemos una descarga de Internet y la revisión semanal.

Instalación

ClamAV se encuentra en nuestros repositorios. Podemos utilizar nuestro Gestor de Software (Linux Mint), o el Centro de Software (Ubuntu), para descargarlo.

Antes de descargarlo os recomiendo, por su interés, visitéis:
La página está escrita en inglés, pero os recomiendo una visita a las sección Contac, que pude resultar interesante. Si encontramos algún virus o software malicioso podemos enviarlo a las direcciones que en esta sección aparecen para que lo analicen y nos den una mayor información.

Existe también una página en español, se llama ClamWin, va dedicada a los usuarios de Windows. Para los que tenéis los dos sitemas instalados en vuestro ordenador puede ser de interés.

De nuevo en nuestro Gestor de Software vemos:


Las valoraciones son excelentes, salvo en Clamtk, la interfaz gráfica de Clamav, que como veis tan sólo tiene tres estrellas. Esta valoración no es del todo injusta ya que está referida a la antigua interfaz, ahora disponemos de una nueva. En principio no instalar Clamtk, en la entrada sobre el entorno gráfico veremos como descargamos la nueva interfaz.
Como siempre, ya que clamav se encuentra en nuestros repositorios, podemos abrir terminal y teclear:

sudo apt-get install clamv

Una vez descargado os recomiendo que abráis un carpeta en el escritorio que se llame, por ejemplo, Cuarentena. Podéis abrirla, si lo queréis, en modo oculto, para ello sólo tenéis que escribir el signo "." delante del nombre: .Cuarentena. Recordad que si la creamos como oculta, debemos de referirnos siempre a ella con el puntito delante. En mis ejemplos la carpeta será normal, visible.

 Además le he puesto un emblema que transmite cierta preocupación (si tiene algún contenido no es para menos).

Es recomendable que si Clamav encuentra software sospechoso lo deje en esta carpeta. Debemos ver que archivos están infectados, quienes son nuestros intrusos, su nombre y tipo de archivo. Esto nos puede ayudar a saber de donde proviene este software. Quizás de un archivo pdf que hemos descargado, de un archivo que nos han enviado por correo o de un documento que nos ha pasado un amigo.
Visto el problema podemos tomar decisiones como poner en aviso a otros ciudadanos confiados, decirle a nuestro amigo que tenga cuidado con su equipo o dejar de visitar y realizar descargas de determinadas páginas además, una vez seguros de ello, ponerlas a parir en todos los sitios que podáis.

Funcionamiento
En esta primera parte trabajaremos con el Terminal, sin miedo. 
La primera tarea será actualizar la base de datos. Como regla general, al realizar la instalación de clamav, se instala como dependencia el paquete clmav-freshclam. Si no se instala, volvemos al gestor de software para instalarlo.

Antes de nada debemos actualizar la base de datos de firmas de virus. Abrimos Terminal y escribimos:
sudo freshclam

La base de datos se actualiza bastante rápido, dejándonos los siguientes mensajes:


Los archivos que se actualizan son main.cvd y daily.cld, ambos se encuentran en /var/lib/clamav.

Una vez actualizada la base de datos, el siguiente paso va a ser descargarnos un virus. Bueno, esto no es del todo cierto, vamos a crear un archivo, totalmente inofensivo, para probar el antivirus.

Esta prueba se llama EICAR Standard Anti-Virus Test File y ha sido creada por el European Institute for Computer Antivirus Research  (Insituto Europeo para la investigación de los antivirus para  ordenadores). Esto nos permite a nosotros, usuarios, p
rogramadores, desarrolladores y empresas probar sus antivirus sin enfrentarse a virus reales que infecten nuestros equipos.

Aquí tenéis un enlace que os recomiendo leer y donde se encuentra una línea de texto que debemos copiar a un archivo de texto.

Dirección de la página:


Texto a copiar:

 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Para ello abrimos un editor de texto, yo voy a abrir Gedit, copio la línea anterior y guardo el archivo con el nombre de testvir.com, (podemos utilizar otra extensión, por ejemplo odt, txt, bin, etcétera), en la carpeta Documentos. Aquí tenemos el archivo dentro de mi carpeta Documentos:


Además de crear el archivo con otra extensión, podemos coger tres o cuatro archivos y comrimirlos junto con testvir.com, para ver el comportamiento del análisis en archivos empaquetados.

ESCANEAR SOFTWARE MALIGNO
Escanear un archivo.
Bueno ya que estamos dentro de la carpeta documentos, podemos probar ClamAV. Vamos a abrir Terminal en esta ventana (/home/usuario/Documentos) y escribimos:
clamscan testvir.com

Este es el modo más sencillo de uso: clamscan nombre_archivo. Actúa sólo sobre ese archivo. y  arroja el siguiente resultado:


Veamos el resultado:
  • El archivo escaneado era efectivamente testvir.com, pero Clamav nos da el tipo de virus de que se trata: Eicar_Test-Signature FOUND. Sabemos que se trata de una prueba y el archivo es inofensivo. Esto es algo muy frecuente, los cyberdelincuentes cambian o envuelven el virus en otros archivos y otros nombres, pero nosotros tendremos el nombre real del virus pudiendo comprobar en las bases de datos que existen en Internet (la página de ClamAV dispone de una), de que bichejo se trata.
  • Directorios escaneados: 0. Es evidente ya que no le habíamos dado esa orden.
  • Archivos escaneados:1
  • Archivos infectados: 1
  • Datos escaneados 0.00 Mb. El archivo era tan pequeño que no se refleja su tamaño.
  • Datos leídos: 0. Lo mismo que en el caso anterior, un tamaño tan pequeño no es relevante.
  • El tiempo que tardó en realiza el escaneo: 0 m 49 s.
Este tipo de escaneo, para uno o dos archivos es muy conveniente cuando descargamos algo de Internet o de nuestro correo (inisto).
Rápido y sencillo, de esta forma tenemos más claro de los lugares de donde descargamos estos ficheros.
Vamos a cerrar nuestro gestor de archivos y volvemos a Terminal.

Escaneo de directorios

Suele ser frecuente que dentro de un directorio/carpeta tengamos archivos pero también otras carpetas/directorios, etcétera. En otras entradas hemos visto esta estructura de árbol jerarquizado.
En la ventana anterior, donde aparece el contenido de mi carpeta Documentos vemos, además del archivo testvir.com otras carpetas.
Si queremos escanear todo el contenido de Documentos, la sintaxis sería:
clamscan -r /home/usuario/Directorio
El parámetro -r indica que el análisis ha de ser recursivo, debe bucear en todos los subdirectorios que se encuentren dentro del directorio escaneado. En el caso de este ejemplo se revisarán todas las carpetas que se encuentren dentro de Documentos.
En mi caso, dado que soy el usuario jose y el directorio que quiero revisar es Documentos, escribiría:
clamscan -r /home/usuario/Documentos 
La pantalla de nuestro terminal irá visualizando los directorios y archivos que se van analizando. Algo como esto:

Aquí el volumen de la información es más relevante, lo comprobamos por la información que arroja Data scanned y Data read.

Poner en cuarentena

A la vista de esta forma de proceder, parece que lo más conveniente es que esta información que se visualiza en el terminal nos quede en un fichero para que podamos examinarla más detenidamente. Pero esto se puede convertir en una tarea muy tediosa. En esta carpeta se analizaron 8 directorios y 45 archivos, pero si analizamos /home, donde también se analizan los ficheros ocultos nos darían ganas de no pasar el antivirus más.

Por eso hemos creado la carpeta Cuarentena. Lo más razonable es que en este tipos de análisis, los archivos infectados se movieran a la carpeta Cuarentena. Seguramente no serán muchos y los podemos examinar con detenimiento, incluso pasar de nuevo el escaneado a la carpeta Cuarentena.

La sintaxis para realizar esta acción sería

clamscan --move=[path de cuarentena] \ -r [paht de directorio a escanear]

Siguiendo con nuestro ejemplo volvemos a escanear Documentos, para que si existe algún archivo infectado lo mueva a Cuarentena.

clamscan --move=/home/jose/Cuarentena  -r /home/jose/Documentos

El archivo testvir.com, que será tratado como virus se moverá a la carpeta Cuarentena (espero que sólo sea ese archivo). Una vez en esa carpeta podeís abrir el terminal y volver a escanear para comprobar el nombre de los archivos virales. Recordad que testvir.com en realidad era Eicar-Test-Signature.

Ayuda e información sobre archivos infectados

Cuando un archivo entre en nuestra carpeta de Cuarenta, por favor no ponerse nerviosos ni perder los papeles. Anotad claro esos nombre y las descripciones que nos de ClamAV. Podéis sacar alguna foto, algunos comentan que es más fácil ver al monstruo del Lago Ness que a un virus en Linux.
Con los nombre podéis hacer una búsqueda en Internet y conseguir más información. Tomad nota de ella, esa información os valdrá ara el futuro.
Si en vuestra búsqueda no os parece que aclare mucho, nos vamos buscar en Google: clamav.net, en el listado de Google aparece:

 Ahí tenemos la entrada Virus Database, hacéis clic, y os encontraréis con un página para rellenar vuestros datos, nombre del virus y otra información relevante. Enviad el correo, tendréis respuesta y rápida.

Eliminar archivos infectados

Como ya hemos tomado nota de toda la información relevante, la hemos guardado en nuestra libreta-tesoro y hemos puesto el correo a los señores de ClamAV, podemos borrar los archivos.

Para ello vamos a utilizar el atributo --remove. Como todos los bichos los tenemos en Cuarentena, la sintaxis general sería:

clamscan --remove=yes -r /home/usuario/Cuarentena 

Siguiendo con el ejemplo:

clamscan --remove=yes -r /home/jose/Cuarentena

El Terminal nos devolverá algo como esto:


Vuestros virus han desaparecido de Cuarentena y vuestro ordenador está limpio. He puesto de nuevo la opción -r para que la eliminación sea recursiva.

Análisis de un pendrive u otra partición.
Una vez conectado nuestro pendrive, o decidido que nos interesa una determinada partición vamos a identificar nuestros volúmenes de almacenamiento. Abrimos Terminal y ejecutamos:

sudo lsblk -fm

Se nos muestra la siguiente información:


Ahi tenemos a nuestraMemoria USB. La ruta donde clamscan debe ir a analizar es: /media/jose/. Utilizaremos la opción -r, para que el análisis sea recursivo y, si aparecen archivos potencialmente peligrosos los enviará a nuestra carpeta Cuarentena. Vamos a escribirlo:

clamscan --move=/home/jose/Cuarentena -r /media/jose

Mi carpeta Cuarentena, afortunadamente, esta limpia.

Clamav-daemon /recomendado para servidores)

Hasta ahora clamav se ha ejecutado a instancia nuestra. Diré que existe la posibilidad de instalarlo como un servicio. Esta opción es recomendable para un servidor, el cual ha de dar acceso a una serie de equipos que utilizan sus recursos. Si un ordenador de la red graba un archivo en el servidor, este servicio se ejecutará sin la intervencion de nadie.
Evidentemente tiene su consumo de memoria y, dado que los usarios de PC's no tenemos este problema (que otros usuarios accedan), me limito a comentar su existencia. En la página web de ClamAV se dispone de bastante información sobre este aspecto.

Otras opciones

Estas opciones las explicaré cuando tratemos su entorno gráfico. Para la mayoría de nosotros es más fácil su uso y aplicación.
En unos días estará lista dicha entrada.
Mientras tanto os aconsejo que hagáis pruebas desde Terminal, es un ejercicio muy recomendable ya que nos vamos acostumbrado a leer la información suministrada de otra manera, más ténica, pero que nos ayudará a ir comprendido mejor nuestro sistema.

Como siempre gracias por vuestra atención.


No hay comentarios:

Publicar un comentario