درباره این اپیزود
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