Aunque los sistemas basados en Linux suelen considerarse impenetrables, aún existen riesgos que deben tomarse en serio.
Rootkits, virus, ransomware y muchos otros programas dañinos pueden atacar a menudo y causar problemas a los servidores Linux.
Independientemente del sistema operativo, tomar medidas de seguridad es imprescindible para los servidores. Las grandes marcas y organizaciones han tomado las medidas de seguridad en sus manos y han desarrollado herramientas que no sólo detectan fallos y programas maliciosos, sino que también los corrigen y toman medidas preventivas.
Afortunadamente, existen herramientas disponibles a bajo precio o gratuitas que pueden ayudar en este proceso. Pueden detectar fallos en diferentes secciones de un servidor basado en Linux.
Lynis
Lynis es una herramienta de seguridad de renombre y la opción preferida de los expertos en Linux. También funciona en sistemas basados en Unix y macOS. Es una aplicación de software de código abierto que se utiliza desde 2007 bajo licencia GPL.
Lynis es capaz de detectar agujeros de seguridad y fallos de configuración. Pero va más allá: en lugar de limitarse a exponer las vulnerabilidades, sugiere acciones correctivas. Por eso, para obtener informes de auditoría detallados, es necesario ejecutarlo en el sistema anfitrión.
No es necesario instalarlo para utilizar Lynis. Puede extraerlo de un paquete descargado o de un tarball y ejecutarlo. También puede obtenerlo de un clon Git para tener acceso a la documentación completa y al código fuente.
Lynis fue creado por el autor original de Rkhunter, Michael Boelen. Dispone de dos tipos de servicios basados en particulares y empresas. En cualquiera de los casos, tiene un rendimiento sobresaliente.
Chkrootkit
Como ya habrá adivinado, el chkrootkit es una herramienta para comprobar la existencia de rootkits. Los rootkits son un tipo de software malicioso que puede dar acceso al servidor a un usuario no autorizado. Si está ejecutando un servidor basado en Linux, los rootkits pueden ser un problema.
chkrootkit es uno de los programas basados en Unix más utilizados para detectar rootkits. Utiliza ‘strings’ y ‘grep’ (comandos de herramientas de Linux) para detectar problemas.
Puede utilizarse desde un directorio alternativo o desde un disco de rescate, en caso de que desee que verifique un sistema ya comprometido. Los distintos componentes de Chkrootkit se encargan de buscar entradas borradas en los archivos «wtmp» y «lastlog», encontrar registros de sniffer o archivos de configuración de rootkits, y comprobar si hay entradas ocultas en «/proc» o llamadas al programa «readdir».
Para utilizar chkrootkit, debe obtener la última versión de un servidor, extraer los archivos fuente, compilarlos y ya está listo.
Rkhunter
El desarrollador Micheal Boelen fue la persona detrás de la creación de Rkhunter (Rootkit Hunter) en 2003. Es una herramienta adecuada para sistemas POSIX y puede ayudar en la detección de rootkits y otras vulnerabilidades. Rkhunter revisa minuciosamente archivos (ocultos o visibles), directorios por defecto, módulos del kernel y permisos mal configurados.
Tras una comprobación rutinaria, los compara con los registros seguros y adecuados de las bases de datos y busca programas sospechosos. Dado que el programa está escrito en Bash, no sólo puede ejecutarse en máquinas Linux, sino también en prácticamente cualquier versión de Unix.
ClamAV
Escrito en C , ClamAV es un antivirus de código abierto que puede ayudar con la detección de virus, troyanos y muchos otros tipos de malware. Es una herramienta totalmente gratuita; por eso mucha gente la utiliza para escanear su información personal, incluidos los correos electrónicos, en busca de cualquier tipo de archivo malicioso. También sirve significativamente como escáner del lado del servidor.
La herramienta fue inicialmente desarrollada especialmente para Unix. Aún así, cuenta con versiones de terceros que pueden utilizarse en Linux, BSD, AIX, macOS, OSF, OpenVMS y Solaris. Clam AV realiza una actualización automática y periódica de su base de datos para poder detectar incluso las amenazas más recientes. Permite el escaneado desde la línea de comandos y dispone de un demonio escalable multihilo para mejorar su velocidad de escaneado.
Puede examinar distintos tipos de archivos para detectar vulnerabilidades. Es compatible con todo tipo de archivos comprimidos, incluidos RAR, Zip, Gzip, Tar, Cabinet, OLE2, CHM, formato SIS, BinHex y casi cualquier tipo de sistema de correo electrónico.
LMD
Linux Malware Detect –o LMD, para abreviar– es otro reputado antivirus para sistemas Linux, diseñado específicamente en torno a las amenazas que suelen encontrarse en entornos alojados. Al igual que muchas otras herramientas capaces de detectar malware y rootkits, LMD utiliza una base de datos de firmas para encontrar cualquier código malicioso en ejecución y eliminarlo rápidamente.
LMD no se limita a su propia base de datos de firmas. Puede aprovechar las bases de datos de ClamAV y Team Cymru para encontrar aún más virus. Para poblar su base de datos, LMD captura los datos sobre amenazas de los sistemas de detección de intrusiones en el borde de la red. De este modo, es capaz de generar nuevas firmas para el malware que se está utilizando activamente en los ataques.
LMD puede utilizarse a través de la línea de comandos «maldet». La herramienta está hecha especialmente para plataformas Linux y puede buscar fácilmente en servidores Linux.
Radare2
Radare2 (R2) es un marco para analizar binarios y realizar ingeniería inversa con excelentes capacidades de detección. Puede detectar binarios malformados, proporcionando al usuario las herramientas para gestionarlos y neutralizando posibles amenazas. Utiliza sdb, que es una base de datos NoSQL. Los investigadores de seguridad y los desarrolladores de software prefieren esta herramienta por su excelente capacidad de presentación de datos.
Una de las características destacadas de Radare2 es que el usuario no se ve obligado a utilizar la línea de comandos para realizar tareas como el análisis estático/dinámico y la explotación de software. Se recomienda para cualquier tipo de investigación sobre datos binarios.
OpenVAS
Open Vulnerability Assessment System, u OpenVAS, es un sistema alojado para escanear vulnerabilidades y gestionarlas. Está diseñado para empresas de todos los tamaños, ayudándolas a detectar problemas de seguridad ocultos en sus infraestructuras. Inicialmente, el producto se conocía como GNessUs, hasta que su actual propietario, Greenbone Networks, cambió su nombre por el de OpenVAS.
Desde la versión 4.0, OpenVAS permite la actualización continua –normalmente en periodos inferiores a 24 horas– de su base de pruebas de vulnerabilidad de la red (NVT). En junio de 2016, contaba con más de 47.000 NVT.
Los expertos en seguridad utilizan OpenVAS por su capacidad para escanear con rapidez. También presenta una excelente capacidad de configuración. Los programas de OpenVAS pueden utilizarse desde una máquina virtual autónoma para realizar investigaciones seguras de malware.
Su código fuente está disponible bajo licencia GNU GPL. Muchas otras herramientas de detección de vulnerabilidades dependen de OpenVAS, por lo que se considera un programa esencial en las plataformas basadas en Linux.
REMnux
REMnux utiliza métodos de ingeniería inversa para analizar el malware. Puede detectar muchos problemas basados en el navegador, ocultos en fragmentos de código JavaScript ofuscado y applets Flash. También es capaz de escanear archivos PDF y realizar análisis forenses de memoria. La herramienta ayuda con la detección de programas maliciosos dentro de carpetas y archivos que no se pueden escanear fácilmente con otros programas de detección de virus.
Es eficaz gracias a sus capacidades de descodificación y de ingeniería inversa. Puede determinar las propiedades de los programas sospechosos y, por ser ligero, es muy indetectable por los programas maliciosos inteligentes. Puede utilizarse tanto en Linux como en Windows, y su funcionalidad puede mejorarse con la ayuda de otras herramientas de escaneado.
Tigre
En 1992, la Universidad de Texas A&M empezó a trabajar en Tiger para aumentar la seguridad de los ordenadores de su campus. Ahora, es un programa popular para plataformas tipo Unix. Algo único de la herramienta es que no es sólo una herramienta de auditoría de seguridad, sino también un sistema de detección de intrusiones.
La herramienta es de uso gratuito bajo licencia GPL. Depende de las herramientas POSIX, y juntas pueden crear un marco perfecto que puede aumentar la seguridad de su servidor de forma significativa. Tiger está enteramente escrito en lenguaje shell -esa es una de las razones de su eficacia. Es adecuado para comprobar el estado y la configuración del sistema, y su uso polivalente lo hace muy popular entre las personas que utilizan herramientas POSIX.
Maltrail
Maltrail es un sistema de detección de tráfico capaz de mantener limpio el tráfico de su servidor y ayudarle a evitar cualquier tipo de amenaza maliciosa. Realiza esa tarea comparando las fuentes de tráfico con los sitios de la lista negra publicados en línea.
Además de comprobar los sitios incluidos en la lista negra, también utiliza mecanismos heurísticos avanzados para detectar distintos tipos de amenazas. Aunque se trata de una función opcional, resulta muy útil cuando cree que su servidor ya ha sido atacado.
Dispone de un sensor capaz de detectar el tráfico que recibe un servidor y enviar la información al servidor Maltrail. El sistema de detección verifica si el tráfico es lo suficientemente bueno como para intercambiar datos entre un servidor y la fuente.
YARA
Hecho para Linux, Windows y macOS, YARA (Yet Another Ridiculous Acronym) es una de las herramientas más esenciales utilizadas para la investigación y detección de programas maliciosos. Utiliza patrones textuales o binarios para simplificar y acelerar el proceso de detección, lo que resulta en una tarea rápida y sencilla.
YARA tiene algunas funciones adicionales, pero necesita la biblioteca OpenSSL para utilizarlas. Incluso si no dispone de esa biblioteca, puede utilizar YARA para la investigación básica de malware a través de un motor basado en reglas. También se puede utilizar en el Cuckoo Sandbox, un sandbox basado en Python ideal para realizar investigaciones seguras de software malicioso.
Vuls
Vuls es un avanzado escáner de vulnerabilidades de código abierto diseñado específicamente para sistemas Linux y FreeBSD. Es un escáner sin agente, lo que significa que no requiere la instalación de ningún software en las máquinas objetivo. Puede desplegarse en plataformas en la nube, sistemas on-premise y también en contenedores Docker.
Vuls utiliza múltiples bases de datos de vulnerabilidades como NVD, OVAL, FreeBSD-SA y Changelog para realizar escaneos de alta calidad. Lo mejor es que incluso puede detectar vulnerabilidades para las que aún no se han publicado parches por parte de los distribuidores.
Soporta los modos de escaneo remoto y local. En el modo de escaneo remoto – usted establece un servidor central Vuls que se conecta a los servidores de destino a través de SSH. Sin embargo, si prefiere no establecer conexiones SSH desde el servidor central, entonces puede utilizar Vuls en modo de escaneo local.
Vuls también puede detectar vulnerabilidades en paquetes que no son del sistema operativo. Esto incluye paquetes que haya compilado usted mismo, bibliotecas de lenguajes, frameworks, etc., siempre que se hayan registrado en la Enumeración de Plataformas Comunes (CPE).
Dispone de un tutorial que puede ayudarle a iniciarse en el uso de la herramienta y también admite notificaciones por correo electrónico y Slack, para que pueda recibir alertas sobre los resultados del escaneado u otra información.
¿Cómo elegir la mejor herramienta?
Todas las herramientas que hemos mencionado anteriormente funcionan muy bien, y cuando una herramienta es popular en entornos Linux, puede estar bastante seguro de que miles de usuarios experimentados la están utilizando. Una cosa que los administradores de sistemas deben recordar es que cada aplicación suele depender de otros programas. Por ejemplo, ese es el caso de ClamaV y OpenVAS.
Debe comprender qué necesita su sistema y en qué áreas puede tener vulnerabilidades. En primer lugar, utilice una herramienta ligera para investigar qué sección necesita atención. A continuación, utilice la herramienta adecuada para resolver el problema.