Ghost AcademySecLearn// Seguridad Informática
🔍 Auditoría de seguridad · Unix/Linux · Hardening
Lynis
// audit system · Hardening Index · Warnings · Suggestions · custom.prf

Herramienta de auditoría de seguridad para sistemas Unix/Linux. Analiza el estado interno del SO de manera automatizada, detecta configuraciones incorrectas, malas prácticas y servicios inseguros, y genera un informe con puntuación de seguridad.

lynis audit system · Hardening Index Warnings · Dangers críticos Suggestions · sysctl hardening custom.prf · skip-test kernel · usuarios · firewall
🔍
¿Qué es Lynis?
Auditoría de seguridad automatizada para Unix y Linux

Lynis es una herramienta de auditoría de seguridad ampliamente utilizada en entornos Unix y Linux, diseñada para evaluar el estado de seguridad del sistema de forma automatizada. A diferencia de otros escáneres que se centran en redes o aplicaciones web, Lynis analiza el sistema operativo desde dentro.

Especialmente útil para administradores de sistemas, auditores de seguridad y profesionales de ciberseguridad que buscan una manera rápida y detallada de evaluar el nivel de protección de un servidor. Es de código abierto y no requiere agentes externos.

Gracias a su enfoque modular, Lynis permite ejecutar auditorías completas o centrarse en categorías específicas como autenticación, redes o detección de malware — ideal tanto para auditorías rutinarias como para investigaciones tras un incidente de seguridad.

🗂️
Áreas Evaluadas
8 categorías principales del análisis profundo del sistema
⚙️
Sistema y Kernel
kernel, archivos de configuración, logs del sistema
👤
Usuarios y Auth
gestión de usuarios, autenticación, contraseñas
🌐
Servicios de red
protocolos inseguros, puertos abiertos, firewall
📦
Actualizaciones
parches pendientes, paquetes vulnerables
🔑
Políticas y permisos
contraseñas, permisos de archivos, sudoers
🛡️
IDS/IPS
herramientas de detección de intrusos
📁
Sistemas de archivos
montajes, permisos, auditoría de logs
🔎
Software y backdoors
software instalado, posibles puertas traseras
📊
Resultados del Análisis
Tres tipos de hallazgos al finalizar la auditoría
⚠️
Warnings
Problemas detectados que requieren atención inmediata. Prioridad máxima.
💡
Suggestions
Recomendaciones para fortalecer la seguridad. Aplicar según el contexto.
📈
Hardening Index
Puntuación del nivel de seguridad del sistema sobre un máximo de 100.
⚖️
Beneficios y Limitaciones
Qué puede y qué no puede hacer Lynis
✅ Beneficios
Automatización — auditorías sin intervención manual
Rapidez — análisis completo en pocos minutos
Sin agentes externos — no requiere componentes adicionales
Personalizable — enfocable en áreas específicas
Amplia compatibilidad — mayoría de distros Linux y Unix
❌ Limitaciones
No detecta vulnerabilidades en aplicaciones web (SQLi, XSS)
No sustituye un escáner de red externo — solo analiza el sistema local
Las recomendaciones son genéricas; el auditor debe interpretarlas según el contexto
📦
Instalación y Ejecución
apt install · lynis audit system
bash
# Actualizar la lista de paquetes
sudo apt update

# Instalar Lynis
sudo apt install lynis -y

# Ejecutar la auditoría completa
sudo lynis audit system
✅ Al finalizar, Lynis mostrará una puntuación Hardening Index y listará todas las advertencias y sugerencias para mejorar la seguridad del sistema.
💻
Comandos Útiles
Referencia de opciones y modos de ejecución
ComandoDescripción
sudo lynis audit system Auditoría integral del sistema — evalúa todas las áreas disponibles: autenticación, servicios, logs, kernel, permisos y más.
sudo lynis audit system --quick Modo no interactivo — auditoría automática y silenciosa sin solicitar confirmaciones. Ideal para scripts y tareas programadas (cron).
sudo lynis show tests Muestra la lista completa de pruebas disponibles para identificar áreas específicas que se pueden auditar.
sudo lynis show groups Muestra todos los grupos temáticos de pruebas disponibles para facilitar auditorías parciales.
sudo lynis audit system --tests-from-group "authentication" Ejecuta solo el grupo especificado. Grupos disponibles: authentication, filesystems, malware, networking, entre otros.
sudo lynis update info Actualizar Lynis — importante para asegurar que las auditorías consideren las amenazas más recientes.
📄
Archivos de Log
Los resultados se almacenan automáticamente en dos archivos
rutas de log
# Log detallado de la auditoría
/var/log/lynis.log

# Reporte estructurado con datos parseables
/var/log/lynis-report.dat
🚨
Peligros Críticos — Warnings
Hallazgos que requieren atención inmediata
TipoMóduloDescripciónAcción recomendada
PELIGRO Usuarios Permisos incorrectos en /etc/sudoers.d — podrían permitir escalada de privilegios. Debe ser root:root con permisos 0755 o más restrictivos (0750). Verifica con ls -la /etc/sudoers.d.
PELIGRO Paquetes Paquetes vulnerables encontrados (PKGS-7392) — versiones desactualizadas con CVEs conocidos. Ejecuta sudo apt update && sudo apt upgrade para aplicar todas las actualizaciones de seguridad disponibles.
PELIGRO Correo Divulgación de información en el banner SMTP (MAIL-8818) — el servidor expone versión y SO. Configura Postfix para ocultar la versión: modifica smtpd_banner en /etc/postfix/main.cf.
PELIGRO Firewall Módulos iptables cargados pero sin reglas activas (FIRE-4512) — firewall sin configuración. Configura y activa ufw o reglas iptables para restringir conexiones entrantes. sudo ufw enable.
PELIGRO Impresoras Permisos inseguros en el archivo de configuración CUPS — permite modificaciones no autorizadas. Revisar y restringir permisos en /etc/cups/cupsd.conf para evitar modificaciones sin autorización.
PELIGRO Logging Archivos eliminados en uso — procesos usando archivos borrados del disco. Las correcciones de seguridad pueden no haberse aplicado. Reiniciar los servicios afectados o el sistema completo. Frecuente después de actualizaciones de paquetes.
💡
Sugerencias de Seguridad
Áreas clave para mejorar el hardening del sistema
01 Sistema Base y Kernel 3 items ›
Kernel Hardening (sysctl): Múltiples parámetros difieren de los valores recomendados. Revisar: kernel.kptr_restrict (visibilidad de direcciones del kernel), net.ipv4.conf.all.accept_redirects y send_redirects (prevenir ataques MITM), fs.suid_dumpable (control de core dumps en binarios SUID).
GRUB2 sin contraseña: Se encontró GRUB2 sin protección de contraseña. Configurar una contraseña en GRUB previene que usuarios no autorizados modifiquen parámetros de arranque.
02 Usuarios y Autenticación 3 items ›
Cuentas sin fecha de caducidad: Establecer fecha de expiración es especialmente importante para cuentas temporales.
Algoritmo de hash de contraseñas: Verificar que se usa un algoritmo fuerte como yescrypt, argon2 o sha512, con suficientes rondas de hash habilitadas.
UMASK: Establecer un valor umask más restrictivo en /etc/login.defs para nuevos archivos y directorios.
03 Sistema de Ficheros 2 items ›
Puntos de montaje separados para /home, /tmp y /var — permite aplicar opciones restrictivas como nodev, noexec y nosuid para limitar vectores de ataque.
Montar /proc con hidepid: Oculta los procesos de otros usuarios, una mejora de seguridad importante para sistemas multiusuario.
04 Software y Entorno 2 items ›
Plugins Debian recomendados: Instalar libpam-tmpdir, apt-listbugs, apt-listchanges y needrestart (para saber qué servicios reiniciar tras una actualización).
Firewall avanzado: Considerar instalar y configurar fail2ban para proteger servicios expuestos como Apache o SSH.
🚀
Resumen de Acciones Inmediatas
Pasos prioritarios para mejorar el nivel de seguridad
1
Actualizar el sistema
Ejecuta sudo apt update && sudo apt upgrade para abordar la vulnerabilidad de paquetes (PKGS-7392).
2
Corregir permisos de sudoers
Revisar y corregir /etc/sudoers.d — debe ser root:root con permisos 0755 o 0750.
3
Configurar el Firewall
Activar ufw con reglas apropiadas: permitir solo los puertos necesarios (80/443 para Apache) y bloquear el resto por defecto.
4
Asegurar GRUB
Establecer una contraseña para GRUB2 para prevenir modificaciones no autorizadas de los parámetros de arranque.
5
Reiniciar si es necesario
Si el sistema lleva mucho tiempo encendido tras actualizaciones importantes, un reinicio elimina los "archivos eliminados en uso".
6
Ocultar el banner de Postfix
Modificar /etc/postfix/main.cf para cambiar smtpd_banner y ocultar la versión y el SO del servidor de correo.
bash — acciones rápidas
# 1. Actualizar sistema
sudo apt update && sudo apt upgrade -y

# 2. Revisar permisos sudoers
ls -la /etc/sudoers.d
sudo chmod 0750 /etc/sudoers.d

# 3. Activar firewall UFW
sudo ufw enable
sudo ufw default deny incoming
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 6. Ocultar banner Postfix
sudo nano /etc/postfix/main.cf
# smtpd_banner = $myhostname ESMTP
Buenas prácticas: Priorizar siempre los Warnings antes que las Suggestions. Integrar los hallazgos en una estrategia de hardening y monitoreo continuo, con auditorías periódicas para seguimiento de mejoras.
⚗️
custom.prf — Personalizar Lynis
Archivo de configuración personalizado que no se sobreescribe con actualizaciones
TIP de Lynis: "Enhance Lynis audits by adding your settings to custom.prf (see /etc/lynis/default.prf for all settings)" — en lugar de modificar default.prf (que puede ser sobreescrito por actualizaciones), usa custom.prf.
¿Para qué sirve custom.prf?
🔇
Ignorar pruebas irrelevantes: Si una prueba no aplica a tu entorno (ej. una configuración que no tiene sentido en una VM), desactívala para que no aparezca en cada auditoría.
➕
Añadir pruebas personalizadas: Incluir scripts o controles de seguridad propios de tu organización o servidor específico.
🗂️
Mantener la limpieza: Separar tus personalizaciones de la configuración por defecto — tus cambios sobreviven a actualizaciones de Lynis.
⏭️
Implementar skip-test en custom.prf
Pasos para ignorar pruebas no relevantes en tu entorno
bash — paso 1: crear el archivo custom.prf
# Crear el archivo si no existe
sudo touch /etc/lynis/custom.prf

# Consultar todas las opciones disponibles
cat /etc/lynis/default.prf
custom.prf — ejemplo: ignorar aviso de versión antigua
# Ignorar el aviso de que la versión de Lynis es antigua
# (se actualizará más adelante)
skip-test = LYNIS
ℹ️ La próxima vez que ejecutes sudo lynis audit system, el test LYNIS (aviso de versión antigua) ya no aparecerá en el informe. El ID del test a ignorar se encuentra al final de cada línea de advertencia en el output de Lynis, entre corchetes.