Tutorial: Auditoría de Seguridad con Lynis en Ubuntu Server 24.04
Lynis es una herramienta de auditoría de seguridad de código abierto para sistemas basados en Unix y Linux. Realiza un escaneo exhaustivo del sistema para encontrar información de seguridad, problemas de configuración, errores de software, posibles vulnerabilidades y más. Su objetivo es ayudar a endurecer los sistemas y cumplir con los estándares de cumplimiento.
1. Instalación de Lynis
Lynis está disponible en los repositorios de Ubuntu. Puedes instalarlo usando apt:
sudo apt update
sudo apt install lynis
También puedes descargar la última versión directamente desde el sitio web oficial y ejecutarla sin instalación:
cd /opt
sudo git clone https://github.com/CISOfy/lynis
cd lynis
2. Ejecución de una Auditoría con Lynis
Para ejecutar una auditoría básica con Lynis, utiliza el siguiente comando. Es recomendable ejecutarlo con sudo para que Lynis tenga acceso a todos los archivos de configuración y logs del sistema, lo que le permitirá realizar un escaneo más completo.
sudo lynis audit system
Si instalaste Lynis clonando el repositorio, el comando sería:
sudo /opt/lynis/lynis audit system
Nota: La auditoría puede tardar varios minutos, dependiendo de la velocidad de tu sistema y la cantidad de software instalado.
3. Interpretación de los Resultados
Una vez finalizada la auditoría, Lynis mostrará un resumen de los resultados. Este resumen incluye:
- Hardening Score: Una puntuación general que indica el nivel de seguridad de tu sistema. Cuanto mayor sea la puntuación, mejor.
- Warnings: Advertencias sobre posibles problemas de seguridad o configuraciones subóptimas.
- Suggestions: Sugerencias para mejorar la seguridad del sistema. Estas son recomendaciones que no son críticas pero que pueden fortalecer aún más tu sistema.
- Details: Información detallada sobre cada prueba realizada, incluyendo el estado (OK, WARNING, FOUND, NOT FOUND, etc.) y, en muchos casos, una referencia a la documentación o un enlace para obtener más información.
Ejemplo de Salida (fragmento):
--------------------------------------------------------------------------------
Lynis 3.0.8
--------------------------------------------------------------------------------
Version : 3.0.8
Auditor : [Automated]
Profile : default.prf
Location : /usr/share/lynis
Auditing system : yes
Auditing techniques: aggressive
Plugins : enabled
--------------------------------------------------------------------------------
-- General
--------------------------------------------------------------------------------
Operating system : Linux
Distribution : Ubuntu
Version : 24.04
Kernel version : 6.8.0-31-generic
Hardware platform : x86_64
Hostname : your-server
--------------------------------------------------------------------------------
-- Security Hardening
--------------------------------------------------------------------------------
Hardening score : 75 (out of 100)
--------------------------------------------------------------------------------
-- Suggestions (details: https://cisofy.com/lynis/controls/)
--------------------------------------------------------------------------------
* Disable USB storage [KRNL-5820]
* Set a password for GRUB boot loader [BOOT-5122]
* Check for expired accounts [AUTH-9286]
--------------------------------------------------------------------------------
-- Warnings (details: https://cisofy.com/lynis/controls/)
--------------------------------------------------------------------------------
* No firewall detected [FIRE-4512]
--------------------------------------------------------------------------------
-- End of report
--------------------------------------------------------------------------------
4. Acciones Recomendadas
- Revisar las Sugerencias y Advertencias: Presta especial atención a las advertencias (
Warnings) ya que suelen indicar problemas de seguridad más críticos. Las sugerencias (Suggestions) son para mejoras adicionales. - Investigar cada punto: Lynis proporciona un ID de control (por ejemplo,
KRNL-5820). Puedes buscar este ID en la documentación oficial de Lynis (https://cisofy.com/lynis/controls/) para obtener más detalles sobre el problema y cómo solucionarlo. - Implementar las soluciones: Aplica los cambios recomendados en tu sistema. Por ejemplo, si Lynis sugiere deshabilitar el almacenamiento USB, puedes investigar cómo hacerlo en Ubuntu 24.04.
- Re-auditar: Después de aplicar los cambios, vuelve a ejecutar Lynis para verificar que los problemas se hayan resuelto y que la puntuación de hardening haya mejorado.
5. Automatización de Auditorías
Para mantener la seguridad de tu sistema de forma continua, puedes programar auditorías periódicas con Lynis utilizando cron.
Configuración de Cron para Auditorías Automáticas
1. Abrir el crontab para editar:
sudo crontab -e
2. Añadir una línea para ejecutar Lynis semanalmente (por ejemplo, los domingos a las 3 AM):
0 3 * * 0 /usr/sbin/lynis audit system --quick 2>&1 | mail -s "Lynis Report" your_email@example.com
Asegúrate de reemplazar your_email@example.com con tu dirección de correo electrónico. También necesitarás tener un agente de correo configurado en tu servidor (como postfix o sendmail) para que los correos se envíen correctamente.
Si instalaste Lynis clonando el repositorio, la ruta sería /opt/lynis/lynis.
La opción --quick realiza un escaneo más rápido, ideal para auditorías programadas. Puedes omitirla si prefieres un escaneo completo.
6. Configuración de Firewall nftables (Recomendación de Lynis)
Una de las advertencias más comunes de Lynis es la ausencia de un firewall. Aquí te mostramos cómo configurar nftables en Ubuntu Server 24.04:
Instalación y configuración básica de nftables
# Instalar nftables
sudo apt update
sudo apt install nftables
# Habilitar el servicio
sudo systemctl enable nftables
sudo systemctl start nftables
# Configuración básica de firewall
sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 ; policy drop ; }
sudo nft add chain inet filter forward { type filter hook forward priority 0 ; policy drop ; }
sudo nft add chain inet filter output { type filter hook output priority 0 ; policy accept ; }
# Permitir tráfico loopback
sudo nft add rule inet filter input iif lo accept
# Permitir conexiones establecidas y relacionadas
sudo nft add rule inet filter input ct state established,related accept
# Permitir SSH (puerto 1422 según configuración)
sudo nft add rule inet filter input tcp dport 1422 accept
# Guardar configuración
sudo nft list ruleset > /etc/nftables.conf
7. Configuración de fail2ban (Protección adicional)
Para complementar la auditoría de Lynis, es recomendable instalar fail2ban para proteger contra ataques de fuerza bruta:
# Instalar fail2ban
sudo apt install fail2ban
# Crear configuración personalizada
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Editar configuración para SSH en puerto 1422
sudo nano /etc/fail2ban/jail.local
Configuración recomendada para SSH en puerto 1422:
[sshd]
enabled = true
port = 1422
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
8. Mejores Prácticas de Seguridad
Basándose en las recomendaciones típicas de Lynis, aquí tienes algunas mejores prácticas adicionales:
- Actualizar regularmente el sistema:
sudo apt update && sudo apt upgrade - Configurar contraseñas seguras: Usar políticas de contraseñas robustas
- Deshabilitar servicios innecesarios: Revisar servicios activos con
systemctl list-units --type=service - Configurar logs de auditoría: Habilitar
auditdpara monitoreo avanzado - Implementar autenticación de dos factores: Para accesos SSH críticos
- Configurar respaldos automáticos: Proteger datos importantes
Conclusión
Este tutorial te proporciona los pasos básicos para instalar, ejecutar e interpretar una auditoría de seguridad con Lynis, así como para automatizarla y implementar las mejoras de seguridad más comunes recomendadas por la herramienta.
Recuerda que la seguridad es un proceso continuo. Ejecuta auditorías regulares con Lynis y mantén tu sistema actualizado para garantizar la máxima protección de tu servidor Ubuntu 24.04.
