Servidores, Soporte

Como escanear tu Servidor Debian en busca de Malware

Como escanear tu Servidor Debian en busca de Malware

Si has notado algún comportamiento raro en tu servidor Linux puede ser resultado de una infección de malware, mientras que otros software maliciosos pueden no alertarte de su presencia. Escanear tu servidor en busca de diferentes tipos de programas no deseados puede ayudarte a reparar incidencias, o al menos, darte la paz mental de tener un servidor limpio.

Hay muchas opciones para conseguir un sistema limpio de malware, en esta guía analizaremos unos cuantos programas que puedes utilizar para comprobar tu sistema.

Tabla de Contenidos

ClamAV

ClamAV es un antivirus open-source bastante popular y disponible en múltiples plataformas incluida la mayoría de distribuciones Linux. Instálalo en tu sistema Debian con el siguiente comando.

sudo apt install clamav clamav-daemon

Con los módulos obligatorios instalados, a continuación, debes actualizar la base de datos de virus para ClamAV.

Primero, detén todos los procesos relacionados para permitir la actualización.

sudo systemctl stop clamav-freshclam

Luego usa el comando de abajo para lanzar el actualizador del antivirus.

sudo freshclam

Cuando acabes de actualizar tus deficiniones de virus, inicia y activa los servicios.

sudo systemctl start clamav-freshclam
sudo systemctl enable clamav-freshclam

Ahora, hagamos un escaneo a tu directorio home solo para asegurarnos de que el comando funcione.

sudo clamscan -r /home

Asegurándote de que tu directorio home no tiene virus ni ningún tipo de malware, el escaneo debe salirnos vacío. Pero, ¿Y como sabemos que funciona? Para esto, puedes descargar un archivo de prueba de anti-virus, que es un pequeño programa totalmente inofensivo que la mayoría de anti-virus lo reportarán como infectado, con un nombre obvio para este fin EICAR-AV-Test.  Usa el siguiente comando para descargar el archivo en tu directorio home.

wget -P ~/ http://www.eicar.org/download/eicar.com

Ahora escanea la carpeta de home de nuevo usando el comando de escaneo que mencionamos anteriormente y debería recibir un aviso de un archivo infectado al final del resumen cuando se complete el escaneo. Cuando confirmes que ClamAV encuentra el archivo de prueba correctamente, use el siguiente comando para escanearlo nuevamente y eliminar el archivo infectado una vez encontrado.

sudo clamscan --infected --remove --recursive /home

Ten cuidado cuando uses el parámetro -remove. Primero haz un escaneo sin el, y luego un escaneo mas localizado eliminando archivos o los eliminas manualmente, así evitamos perder información.

Para realizar un escaneo completo de tu servidor, usa el siguiente comando.

sudo clamscan --infected --recursive --exclude-dir="^/sys" /

El escaneo va a través de cada directorio en tu sistema raíz de manera recursiva, pero salta el directorio /sys para evitar alertas innecesarios, ya que el sistema posee algunos archivos que no pueden ser leídos, los cuales no contienen virus de todas maneras.

Rkhunter

Rkhunter es una opción común utilizada para escanear sistemas de rootkits y vulnerabilidades en general. Puede ser instalado de manera sencilla usando el administrador de paquetes en sistemas Debian.

sudo aptitude install rkhunter

Una vez instalado y antes de escanear, necesitas actualizar la base de datos.

sudo rkhunter --propupd

Esto te permite conocer el estado actual de algunos archivos, evitando así falsos positivos. Después de actualizar, simplemente lanza el escáner.

sudo rkhunter --checkall

El escaneo revisará a través de algunos comandos del sistema, buscando rootkits y malware, a nivel de ajustes de red y local y finalmente nos devolverá el resumen así como guardarlas en un registro.

Ahora puedes mirar el resultado del registro del escáner.

sudo cat /var/log/rkhunter.log | grep -i warning

Revisemos bien este archivo, ya que nos puede dar buenas pistas de como podemos mejorar la seguridad de nuestro sistema.

Chkrootkit

Chkrootkites un escáner de rootkit popular, el cual lanza muchas comprobaciones útiles y puede detectar actos sospechosos. Se puede instalar en la mayoría de distribuciones con el administrador de paquetes, en un servidor Debian usa el siguiente comando.

sudo apt install chkrootkit

Una vez hecho, escanea tu servidor con este comando.

sudo chkrootkit

El escaneo buscará muchos tipos de infecciones e imprimirá en pantalla sus hallazgos. Puede desplazarse por la lista para verificar si hay advertencias.

Chkrootkit no escribe un informe en un archivo, solo lo muestra en pantalla de forma predeterminada, pero si desea automatizar las comprobaciones o echar un vistazo a los resultados más tarde, utilice tee para guardar los resultados en un archivo.

sudo chkrootkit | sudo tee /var/log/chkrootkit/chkrootkit.log

Ahora puedes fácilmente buscar en el registro por alguna alerta.

sudo cat /var/log/chkrootkit/chkrootkit.log | grep -i warning

Si bien la opción se puede usar para ayudar a determinar si una máquina se ha visto comprometida, no debe tomarse como la «última palabra», utilícela junto con otros escáneres para diagnosticar posibles infecciones.