33 – Lynis

Te doy la bienvenida al episodio 33 de deployandome, el podcast de tecnología para sysadmins y devops. Soy Rodolfo Pilas y estoy grabando el 11 de octubre de 2018.

¿algunas vez te ha pasado de tener un servidor que está "raro"?

Me refiero a un servidor que a veces tiene altos tráficos de datos que no puedes determinar a que se deben, o que tiene abierto puertos que no sabes qué escuchan, o que en la lista de procesos hay algunos procesos que no reconoces y a veces la CPU y la memoria se consumen pero cuando ingresas empieza a volver a niveles normales.

A ver, estos problemas, si tu has armado el servidor y tienes un control completo desde su nacimiento, es decir, que lo instalaste y administras tu, puedes trazar y localizar el problema con relativa facilidad.

Pero hay veces que el servidor no es tuyo y te llega, digamos, "enfermito" y te piden que explores y hagas un diagnóstico. Otras veces te llaman en medio del incendio, cuando el servidor ha sido comprometido y está dedicado a mandar spam o minar criptomonedas.

Por eso hoy te voy a contar de LYNIS, una herramienta de auditoría que hace un análisis del servidor y te ayuda a identificar el problema para que puedas hacer un diagnóstico, sin necesidad de tener altos conocimientos del sistema instalado.


Estamos hablando de LYNIS, una herramienta de software libre que permite hacer una auditoría de tu servidor para evaluar la seguridad y tener alguna indicación de qué defensas se deben implementar.

Lynis es un script de bash que en su versión actual 2.6.9 tiene 1100 líneas, que está acompañado por algunas carpetas con más bash script y archivos de texto de configuración y datos. Por esto es muy fácil de instalar, o te viene como paquete en las principales distribuciones, o lo podés clonar a partir de su repositorio git o descargar el release como tgz.

Una vez que lo tienes instalado lo ejecutas como lynis autit system y va comenzar por una fase de inicialización para determinar el sistema operativo y el entorno en el que está corriendo, pues lynis corre en AIX, FreeBSD, GNU/Linux, macOS, NetBSD, OpenBSD, HP-UX y Solaris.

De ahí lo que te decía, si conoces bien tus cajas GNU/Linux, pero ahora estás frente a un AIX o un GNU/Linux que no es tuyo, lynis te va a hacer ese primer análisis sin que tengas que ponerte a bucear en el listado de procesos que están corriendo.

Luego que lynis se ubica dentro de qué sistema está corriendo, está en máquina virtual o en contenedor, va a revisar qué utilidades y herramientas hay instaladas en el sistema, para saber qué puede utilizar para hacer sus análisis. Por ejemplo, buscará herramientas como demidecode, lscpu, sysctl o lshw. También investigará si el sistema corre init o systemd para analizar la configuración de arranque.

Con esos datos hará primeramente una revisión de si mismo, para conocer su integridad y si está actualizado. Esto siempre y cuando el equipo donde lo estás corriendo tenga conectividad a Internet.

Y ahora comenzará con cientos de test individuales, primero test en base a plugins y luego test de seguridad por categorías.

En estos test analizará la protección que tiene el sistema y verificará que no sufre de los problemas más comunes en permisos, configuraciones, desórdenes de seguridad, cuentas sin clave, permisos indebidos y auditará el firewall entre otras cosas.

El análisis de lynis es oportunista, es decir que ante la presencia de un servicio (por ejemplo, apache) verificará su configuración; en caso que apache no esté instalado, ignorará todos los test sobre él.

Para sus análisis LYNIS se basa en las mejores prácticas, en las sugerencias del Center of Internet Security (CIS), del National Institute of Standards and Technology (NIST) y de la National Security Agency (NSA), también en los datos de OpenSCAP y las recomendaciones de seguridad de los proveedores de las distribuciones como Debian, Gentoo o RedHat.

A medida que va corriendo, lynis emite un completo reporte de los resultados, pero al finalizar te dará un resumen de las cosas que considera debes dedicar inmediata atención con las sugerencias para solucionar los problemas.


Lynis es una herramienta de software libre, licenciada con GPLv3 y pensada para administradores, profesionales en seguridad y auditores y, obviamente, puede ser utilizada en pentesting para descubrir vulnerabilidades o encontrar fallas para explotar.

Actualmente cuenta con más de 50 desarrolladores activos y su código tiene más de 5000 estrellitas en GitHub.

Michael Boelen, su principal desarrollador lo comenzó como una forma de evaluar la defensas de sistemas GNU/Linux allá en 2007, hace más de 10 años por lo que tiene un interesante grado de madurez.

En 2013 Michael se convirtió en desarrollador full-time, fundó la compañía llamada CISOFY que ofrece soporte comercial y también lanzó una versión Enterpise que permite gestionar información de lynis corriendo en múltiples servidores.


Este tipo de herramientas emiten informes que deben ser ponderados de acuerdo a los entornos, las aplicaciones y el negocio en general, por este motivo ellas mismas no modifican ni cierran los agujeros que puedan encontrar. Su función se limita a darte sugerencias que deberás analizar y, si lo consideras, ejecutarlas.

En mi experiencia y el uso que le he dado a LYNIS es el que te comentaba en un principio, tener un fácil y rápido diagnostico de un servidor GNU/Linux, generalmente cuando no lo he instalado o no lo administro.

Si el tema te interesa, también te sugiero los episodios 16 y 17 de deployandome donde vimos las recomendaciones más recibidas de como fortalecer tu servidor GNU/Linux.


Soy Rodolfo Pilas, en twitter me puedes seguir por @pilasguru y te dejo un saludo. Confío que este podcast te haya aportado para mejorar y, como siempre, espero tus inquietudes y sugerencias comentando en deployando.me

Hasta la próxima edición.

Referencias