Auditar gnu/linux con lynis

Auditar con lynis es una práctica maravillosa, sobre todo por la naturaleza automágica de esta herramienta, que nos ayudará con un problema muy común en nuestros días como “Junior”.

Cuando somos primerizos en el manejo de servidores Gnu/Linux una de las tareas más complicadas es mantener la seguridad y estabilidad de nuestro o nuestros servidores en producción, estos tienen información sensible de nosotros o nuestros clientes, con un peso tan grande ¿cómo no preocuparnos cada segundo por un ataque que podría venir en cualquier momento o dirección?

Sobre todo cuando tomamos en cuenta la gran cantidad de distribuciones de Gnu/Linux disponibles, cada una con sus configuraciones propias, versiones de paquetes diferentes y servicios ejecutándose en el fondo.

Pues bien, en lugar de bombardear nuestro cerebro con preguntas relacionadas con apache, la bios, secure boot, permisos, directorios, etc. Podemos acudir a la anteriormente mencionada, herramienta de auditoría y seguridad llamada “lynis“.

¿Qué es Lynis?

Lynis es una herramienta de auditoría de sistemas tipo Unix (Linux, *BSD, MacOS, Solaris, etc) especializada en la detección de problemas o advertencias de seguridad más comunes que un sistema podría tener.

El objetivo de marcar dichos errores o advertencias es mostrarnos las prácticas inseguras dentro de nuestro servidor y remediarlas, con el objetivo de mejorar por mucho la seguridad de nuestro servidor.

Lynis ha sabido hacerse fama como una herramienta eficaz y potente en producción, llevando premios desde el 2013 al 2016 otorgados por los “Best Of Open Source Awards”.

Lynis puede ser utilizado en varios escenarios, puede ser utilizado a diario por sysadmins para descubrir nuevos errores o vulnerabilidades en su sistema en caso de un cambio importante en el servidor.

Incluso puede ser utilizado por pentesters al momento de reportar vulnerabilidades a los clientes.

Como instalar lynis

Lynis funciona en casi cualquier sistema tipo UNIX como Linux, MacOS, FreeBSD, etc. Por lo tanto su método de instalación podría variar de plataforma en plataforma.

Nosotros recomendamos que instales la versión del programa que venga dentro de los repositorios de tu distribución.

Esto lo decimos por que es muy probable que el mantenedor ó los mantenedores de la herramienta hayan decidido incluir tests (o pruebas) personalizadas dentro del mismo.

Esto con el objetivo de asegurar que no existan agujeros de seguridad en las herramientas propias de cada distribución.

Puedes instalar la última versión de Lynis desde su repositorio en GitHub.

Como instalar lynis en Debian / Ubuntu

Para instalar lynis en Debian o en Ubuntu podemos ejecutar la siguiente instrucción (requiere permisos de superusuario):

sudo apt install lynis

Como instalar lynis en Fedora / CentOS / RHEL

Para instalar lynis en Fedora, CentOS o Red Hat podemos ejecutar la siguiente instrucción (requiere permisos de superusuario):

sudo dnf install lynis

Ejecutando lynis

Una vez instalado lynis, podemos llamarlo desde nuestra terminal con permisos de superusuario, si no proveemos a lynis de argumentos solo nos mostrará la pantalla de ayuda:

Captura de pantalla mostrando el programa lynis con
Captura de Lynis en un servidor con Debian 11

En esta misma pantalla lynis nos mostrará una variedad de opciones, siendo la primera la auditoría de nuestro sistema local, una opción para auditar sistemas de forma remota y una opción para auditar dockerfiles.

Esta última es especialmente útil si hemos escrito o desplegado una aplicación con Docker y deseamos conocer su nivel de seguridad en general, eso puede logarse al auditar con lynis nuestro dockerfile.

Asimismo, lynis incluye un par de opciones interesantes que nos permitirán ejecutar tareas forenses en un sistema o mostrar “puntos” de interés relacionados con pentesting.

Existen otro tipo de opciones que podemos ejecutar con lynis, algunas de ellas no son reelevantes para este blog, así que dejaremos que las descubras por ti mismo.

Auditar con lynis instalado

Para ejecutar una auditoría de sistema con lynis es necesario ejecutar con permisos de superusuario la siguiente orden:

sudo lynis audit system

Esto ejecutará una serie de instrucciones integradas en lynis que revisarán múltiples áreas dentro de nuestro sistema, además, si instalamos la versión de nuestra distribución, el mantenedor probablemente añadió plugins especiales para detectar otro tipo de problemas con nuestro sistema.

Estos problemas propios de la distribución pueden ser de númerosas áreas, por ejemplo mejoras en el gestor de paquetes o en el arranque o incluso en servicios propios de systemd.

Algunas áreas que cubre lynis cuando es ejecutado en un sistema son:

  • Detección de sistema operativo, kernel, arquitectura, etc.
  • Escaneo de herramientas del sistema.
  • Chequeo de binarios comunes de Linux.
  • Carga y ejecución de plugins.
  • Revisión de arranque y servicios.
  • Configuraciones del kernel Linux.
  • Revisión de memoria y procesos.
  • Auditoría de usuarios, grupos y autenticación
  • Seguridad en las shells
  • Chequeo de sistemas de archivos
  • Auditoría de dispositivos USB
  • …y muchas cosas más.

Resultados de la auditoría

En la siguiente imágen podemos ver los resultados que lynis nos arrojó al ser ejecutado en modo auditoría dentro de un servidor con Debian 11.

Imágen mostrando una pantalla de consola con texto en colores revelando múltiples errores de seguridad.
Resultados en un servidor de Debian 11 recién instalado

Como podemos observar una instalación por defecto de Debian 11 tiene varias observaciones de buenas a primeras.

Lo primero que podemos ver es que en el apartado de “Kernel Hardening” el programa de auditoría compara los valores de algunas variables que existen en el archivo localizado en /etc/sysctl.conf.

De igual forma, podemos observar como en el apartado “Hardening” contamos con dos observaciones más ya que Debian 11 necesita permisos especiales para los compiladores posterior a su instalación y no viene con un escáner de malware por defecto.

Al finalizar la ejecución, el programa nos arrojará una lista de resultados donde separará advertencias y sugerencias que podríamos comenzar a implementar para mejorar la seguridad de nuestro sistema.

Resultados y correcciones sugeridas al finalizar la auditoría.

Además de este sumario de advertencias recibiremos una puntuación y un resumen de nuestra auditoria.

Resumen de auditoría y puntuación del sistema.

Explicación de problemas, warnings y otras observaciones

Cada advertencia o sugerencia que sea reportada vendrá acompañada de una solución o de una sugerencia para la misma. Además de incluir un enlace al sitio central de cisofy para obtener más a detalles de estas.

Ejemplo de sugerencias.

Podemos ver dos sugerencias cuya solución ya es mostrada en la misma descripción, para mitigarlas dentro de un sistema Debian podemos ejecutar la siguiente orden:

sudo apt install libpam-tmpdir apt-listbugs -y

Cuando volvamos a ejecutar la herramienta estas advertencias ya no aparecerán en nuestro reporte final y nuestra puntuación del sistema subirá.

Conclusión

Esperamos que este blog te haya logrado mostrar con claridad lo importante que puede llegar a ser una herramienta como lynis. Te invitamos a probarla en tu instalación local de Gnu/Linux o a llevar las buenas prácticas a tus servidores. Tus futuros clientes lo agradecerán mucho.

Si te gustó este blog presiona el botón “Me gusta” en la parte inferior del mismo. Compártelo con tus amigos si piensas que ellos también deberían mejorar su seguridad. La caja de comentarios está abierta para todo tipo de temas.

¡Nos leemos después!

Otras entradas interesantes

¡Comparte en tus redes sociales!

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *