Ejecutar una auditoría con Lynis es la forma más rápida de obtener una imagen honesta de la postura de seguridad de tu servidor Linux. Lynis es una herramienta de auditoría de seguridad de código abierto que realiza más de 300 comprobaciones — cubriendo autenticación, permisos del sistema de archivos, endurecimiento del kernel, servicios de red, vulnerabilidades de software y controles de cumplimiento — y luego produce un índice de hardening entre 0 y 100. En esta guía instalarás Lynis, interpretarás su salida, aplicarás las recomendaciones de hardening más impactantes y automatizarás auditorías recurrentes para el cumplimiento continuo en Linux.

Requisitos Previos

  • Un servidor Linux (Ubuntu 20.04/22.04, Debian 11/12, RHEL/CentOS/AlmaLinux 8/9 o equivalente)
  • Acceso root o sudo
  • Familiaridad básica con la línea de comandos y la lectura de registros
  • Opcional: auditd y aide instalados para cobertura completa de pruebas

Instalación de Lynis

Lynis está disponible en los repositorios de paquetes estándar, pero el repositorio mantenido por CISOfy siempre proporciona la versión más reciente — lo cual importa porque las pruebas de Lynis se actualizan frecuentemente a medida que se publican nuevos CVEs.

Ubuntu / Debian:

sudo apt install -y apt-transport-https gnupg
curl -fsSL https://packages.cisofy.com/keys/cisofy-software-public.key | sudo gpg --dearmor -o /usr/share/keyrings/cisofy.gpg
echo "deb [signed-by=/usr/share/keyrings/cisofy.gpg] https://packages.cisofy.com/community/lynis/deb/ stable main" \
  | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update && sudo apt install lynis

RHEL / CentOS / AlmaLinux:

sudo rpm --import https://packages.cisofy.com/keys/cisofy-software-public.key
cat <<EOF | sudo tee /etc/yum.repos.d/cisofy-lynis.repo
[lynis]
name=CISOfy Software - Lynis package
baseurl=https://packages.cisofy.com/community/lynis/rpm/
enabled=1
gpgcheck=1
gpgkey=https://packages.cisofy.com/keys/cisofy-software-public.key
EOF
sudo yum install lynis

Verifica la instalación:

lynis show version

Ejecutando tu Primera Auditoría con Lynis

Una auditoría completa del sistema tarda entre 2 y 5 minutos y requiere acceso root para probar todos los controles:

sudo lynis audit system

Lynis transmite los resultados al terminal y escribe un registro detallado en /var/log/lynis.log y un informe en /var/log/lynis-report.dat. La salida del terminal utiliza etiquetas con código de colores:

EtiquetaSignificado
[OK]Prueba superada
[WARNING]Debilidad de seguridad — corregir con prioridad
[SUGGESTION]Mejora recomendada — menor urgencia
[FOUND]Elemento detectado (neutro)
[NOT FOUND]Herramienta o archivo no presente

Al final del análisis busca la línea Hardening index:

Hardening index : 62 [############        ]

Un servidor Ubuntu 22.04 recién instalado con configuración predeterminada suele obtener una puntuación de alrededor de 60-65. Tu objetivo es 80+.

Comprensión y Priorización de la Salida de Lynis

Advertencias — corregir primero

Las advertencias indican brechas de seguridad reales. Las advertencias comunes en una instalación predeterminada incluyen:

  • Inicio de sesión root por SSH habilitadoPermitRootLogin yes en /etc/ssh/sshd_config
  • Sin contraseña para GRUB — gestor de arranque desprotegido
  • Herramientas de compilación instaladasgcc en un servidor de producción
  • Sin firewall activo — no se encontraron reglas de ufw, firewalld ni iptables
  • Archivos con permisos de escritura para todos — archivos que cualquiera puede modificar

Para cada advertencia, Lynis imprime un ID de prueba como SSH-7412. Úsalo para consultar la solución exacta:

lynis show details SSH-7412

Sugerencias — endurecer con el tiempo

Las sugerencias son buenas prácticas de seguridad que no son urgentes pero elevan tu puntuación:

  • Instalar auditd para registro de auditoría a nivel de kernel
  • Habilitar contabilidad de procesos (acct)
  • Configurar umask 027 para permisos de creación de archivos más restrictivos
  • Añadir apt-listchanges para monitorear avisos de seguridad en el registro de cambios de paquetes
  • Habilitar AIDE (monitoreo de integridad de archivos)

Acciones Clave de Hardening Tras una Auditoría con Lynis

A continuación se presentan las correcciones de mayor impacto que más mejoran el índice de hardening.

1. Endurecer SSH

sudo nano /etc/ssh/sshd_config

Establece estos valores:

PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowTcpForwarding no

Reinicia SSH: sudo systemctl restart sshd

2. Aplicar hardening del kernel con sysctl

Crea /etc/sysctl.d/99-hardening.conf:

# Deshabilitar enrutamiento de origen IP
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0

# Ignorar redirecciones ICMP
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

# Habilitar protección de cookies SYN
net.ipv4.tcp_syncookies = 1

# Registrar paquetes marcianos
net.ipv4.conf.all.log_martians = 1

# Deshabilitar IPv6 si no es necesario
net.ipv6.conf.all.disable_ipv6 = 1

Aplica: sudo sysctl --system

3. Instalar y configurar auditd

sudo apt install auditd audispd-plugins
sudo systemctl enable auditd --now

Añade reglas para el registro de comandos privilegiados:

sudo auditctl -a always,exit -F arch=b64 -S execve -k exec_commands

4. Habilitar un firewall

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable

Tras aplicar estos cuatro cambios, la puntuación de un servidor típico sube de 62 a 75-80.

Comparativa de Lynis con Herramientas de Auditoría de Seguridad Alternativas

HerramientaTipoAlcanceBenchmarks CISRemediaciónIdeal Para
LynisAgente localLinux/macOSParcialSugerenciasHardening manual por sysadmin
OpenSCAPAgente localLinuxSCAP/XCCDF completoAutomatizadaOrganizaciones orientadas al cumplimiento (DISA STIG)
CIS-CAT LiteAgente localMulti-OSCIS completoSolo informePuntuación de benchmarks CIS
WazuhAgente + servidorMulti-OSAlertasSIEM centralizado + cumplimiento
Nessus EssentialsEscáner de redMulti-OSInformeAnálisis externo de vulnerabilidades
TrivyContenedor/códigoContenedores, IaCParcialInformePipelines de DevSecOps

Lynis sobresale para el hardening de servidores individuales por un sysadmin. Para paneles de cumplimiento a nivel empresarial o seguridad de contenedores, combina Lynis con Wazuh u OpenSCAP.

Escenario del Mundo Real

Tienes un servidor web de producción ejecutando Ubuntu 22.04 con Nginx, MySQL y una aplicación Node.js. Fue desplegado hace seis meses y nunca ha sido auditado. Ahora se requiere una revisión de seguridad antes de la auditoría ISO 27001 de la empresa.

Ejecutas sudo lynis audit system y obtienes una puntuación de 58 con 7 advertencias y 34 sugerencias. Las advertencias críticas son:

  1. Inicio de sesión root por SSH habilitado — los scripts de despliegue todavía usan la cuenta root
  2. Sin reglas de firewall — la instancia depende únicamente del grupo de seguridad de la nube
  3. MySQL escuchando en 0.0.0.0 — expuesto innecesariamente a la red interna
  4. /tmp montado con permisos exec — permite la ejecución de código desde archivos temporales

Trabajas en cada advertencia:

  • Actualiza los scripts de despliegue para usar un usuario dedicado con sudo, luego establece PermitRootLogin no
  • Añade reglas ufw que solo permitan los puertos 22, 80 y 443
  • Vincula MySQL a 127.0.0.1 en /etc/mysql/mysql.conf.d/mysqld.cnf
  • Añade noexec al montaje de /tmp en /etc/fstab y vuelve a montarlo

Al volver a ejecutar Lynis obtienes una puntuación de 79. Abordas cinco sugerencias de alta prioridad más (instalar auditd, establecer umask 027, deshabilitar módulos de kernel no utilizados) y alcanzas 84 — muy por encima del umbral de 80 requerido para la auditoría.

Errores Comunes y Casos Especiales

La puntuación varía según lo que está instalado. Lynis omite pruebas para herramientas que no están presentes (por ejemplo, si postfix no está instalado, se omiten todas las pruebas relacionadas con el correo). Un servidor mínimo puede puntuar más alto simplemente porque se aplican menos pruebas de superficie de ataque — no porque esté más endurecido.

Algunas sugerencias entran en conflicto con los requisitos de la aplicación. Deshabilitar las herramientas de compilación (gcc) suma puntos, pero un servidor que compila software (runner de CI, host de compilación) las necesita legítimamente. Aplica criterio — Lynis es una guía, no un libro de reglas absoluto.

Volver a ejecutar sin cambios aún varía ligeramente. Lynis prueba el estado del sistema en tiempo real. Si un proceso se inicia o detiene entre ejecuciones, las puntuaciones pueden variar 1-2 puntos. Considera esto como ruido normal.

Pruebas solo para root. Ejecutar Lynis como usuario no root omitirá muchas pruebas privilegiadas y producirá una puntuación más baja y menos significativa. Ejecuta siempre con sudo.

Perfiles personalizados. Para entornos con requisitos específicos (PCI-DSS, HIPAA), usa --profile para cargar un perfil Lynis personalizado que habilite o deshabilite grupos de pruebas específicos. Copia /etc/lynis/default.prf y modifícalo para suprimir falsos positivos en tu entorno.

Solución de Problemas

“Warning: lynis executable not found” — el paquete del repositorio CISOfy se instala en /usr/bin/lynis. Si lo instalaste mediante un tarball, asegúrate de que la ruta esté en tu $PATH o llámalo con la ruta completa.

La auditoría sale con errores de permisos — ciertas pruebas comprueban /proc, /sys y /etc/shadow. Estas requieren root. Ejecuta con sudo lynis audit system, no como usuario normal.

El archivo de registro no se escribe/var/log/lynis.log requiere permisos de escritura. En sistemas con SELinux en modo enforcing, comprueba: ausearch -m avc -ts recent para denegaciones relacionadas con lynis. Es posible que necesites añadir una política SELinux personalizada o usar --logdir /tmp como solución alternativa.

La puntuación bajó tras una actualización del SO — las actualizaciones de paquetes pueden instalar nuevo software que Lynis ahora prueba. Revisa las nuevas advertencias y sugerencias introducidas por la actualización; representan una superficie de ataque recién detectada.

La tarea cron no produce salida — ejecuta con --quiet --cronjob y redirige la salida a un archivo: sudo lynis audit system --quiet --cronjob >> /var/log/lynis-cron.log 2>&1. Usa logrotate para gestionar el tamaño del archivo.

Resumen

  • La auditoría de Lynis analiza más de 300 controles de seguridad y produce un índice de hardening de 0 a 100
  • Las instalaciones Linux recientes suelen obtener 55-65; apunta a 80+ para servidores de producción
  • Aborda primero los elementos WARNING (vulnerabilidades reales), luego trabaja los elementos SUGGESTION
  • Las correcciones de mayor impacto son: deshabilitar el inicio de sesión root por SSH, habilitar un firewall, instalar auditd y aplicar hardening del kernel con sysctl
  • Lynis es de solo lectura — nunca modifica tu sistema; todos los cambios se aplican manualmente
  • Usa --profile para suprimir falsos positivos específicos de tu entorno
  • Programa ejecuciones semanales por cron para mantener tu puntuación de hardening a lo largo del tiempo a medida que el sistema cambia
  • Para cumplimiento empresarial (CIS, DISA STIG), combina Lynis con OpenSCAP o Wazuh

Artículos Relacionados