🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Hardening de Servidores Linux con CIS Benchmarks y Lynis

Actualizado el 30 de abril de 2026

Introducción: La necesidad del Hardening en 2026

El panorama de amenazas para servidores Linux en 2026 es más agresivo que nunca. Los ataques automatizados, los ransomware dirigidos a infraestructuras críticas y las vulnerabilidades de día cero explotadas en horas hacen que un servidor desnudo (bare-metal) sea un objetivo fácil. La configuración por defecto de cualquier distribución Linux prioriza la usabilidad sobre la seguridad. Aquí es donde entra el hardening Linux, un proceso sistemático para reducir la superficie de ataque, eliminar servicios innecesarios y aplicar configuraciones de seguridad robustas.

Este artículo se sumerge en dos herramientas y marcos de trabajo esenciales para cualquier SysAdmin que busque blindar sus sistemas: los CIS Benchmarks (estándares de referencia) y Lynis (la navaja suiza del auditor). Combinarlos no solo te dará un servidor más seguro, sino que te permitirá auditar, reportar y mantener el cumplimiento normativo de forma continua.


¿Qué son los CIS Benchmarks?

Los CIS Benchmarks (Center for Internet Security) son guías de configuración segura, creadas por consenso de expertos globales. No son simples listas de "cosas que deberías hacer"; son documentos detallados que cubren desde el kernel de Linux hasta aplicaciones como Docker, Kubernetes o bases de datos.

Cada benchmark se divide en controles (recomendaciones) agrupados por niveles:

  • Nivel 1 (L1): Controles básicos y esenciales. Son fáciles de implementar, no afectan significativamente la funcionalidad y proporcionan una mejora de seguridad inmediata. Ejemplo: asegurar permisos de /etc/shadow.
  • Nivel 2 (L2): Controles avanzados. Ofrecen una defensa en profundidad, pero pueden requerir cambios en procesos o afectar al rendimiento. Ejemplo: habilitar auditd para registrar todas las llamadas al sistema relacionadas con autenticación.

[INFO] No implementes ciegamente el Nivel 2 en producción. Evalúa primero el impacto. Un control L2 mal aplicado puede romper una aplicación legacy.


Lynis: El auditor de código abierto

Lynis es una herramienta de auditoría de seguridad para sistemas basados en Unix/Linux. No es un parcheador mágico; es un escáner que recopila información del sistema, la compara contra una base de datos de controles (incluyendo los CIS Benchmarks) y te da una puntuación (Hardening Index) y una lista de acciones a realizar.

Instalación rápida de Lynis

En la mayoría de distribuciones modernas, está disponible en los repositorios oficiales o se puede instalar desde el repositorio de CISOfy (los creadores).

# En Debian/Ubuntu
sudo apt update && sudo apt install lynis -y

# En RHEL/CentOS/Fedora (usando EPEL)
sudo dnf install epel-release -y && sudo dnf install lynis -y

# O instalar la versión más reciente desde GitHub
cd /opt && sudo git clone https://github.com/CISOfy/lynis.git
sudo ./lynis/lynis audit system

La sinergia: CIS Benchmarks + Lynis

Los CIS Benchmarks te dicen qué hacer. Lynis te ayuda a descubrir qué falta y a verificar que se ha hecho correctamente. La combinación es letal para la inseguridad.

Flujo de trabajo ideal:

  1. Identificar el Benchmark: Descarga el CIS Benchmark correspondiente a tu distribución y versión (ej: CIS Ubuntu Linux 22.04 LTS Benchmark v2.0.0).
  2. Auditar con Lynis: Ejecuta un escaneo completo.
  3. Analizar resultados: Lynis te mostrará:
    • Warnings: Problemas críticos que requieren atención inmediata.
    • Suggestions: Recomendaciones de mejora, muchas de ellas mapeadas directamente a controles CIS.
    • Tests: Lista de todas las pruebas realizadas.
  4. Aplicar Hardening Manual: Usa el benchmark CIS como guía detallada para corregir cada punto. Lynis te da la pista; el benchmark te da la configuración exacta.
  5. Re-evaluar: Vuelve a ejecutar Lynis para verificar que el Hardening Index sube y que los warnings desaparecen.

Ejemplo práctico: Seguridad del Kernel

Uno de los primeros apartados en cualquier CIS Benchmark es la seguridad del kernel. Lynis te alertará si ciertos parámetros de sysctl no están configurados.

Lynis output:

[WARNING] Kernel: Hardening of the kernel is considered weak (L1)
- Details  : sysctl net.ipv4.conf.all.accept_redirects (current: 1, expected: 0)

Solución basada en CIS Benchmark (Nivel 1):
Edita o crea el archivo /etc/sysctl.d/99-cis-hardening.conf:

# Deshabilitar redirección de paquetes ICMP (CIS 3.2.2)
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

# Deshabilitar forwarding de IP (a menos que sea router) (CIS 3.1.1)
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0

# Protección contra spoofing (CIS 3.3.1)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

Aplica los cambios:

sudo sysctl --system

Checklist de Hardening basado en CIS (Nivel 1)

Aquí tienes una lista de acciones críticas que todo SysAdmin debería verificar en 2026. Muchas de ellas son detectadas automáticamente por Lynis.

1. Gestión de Usuarios y Grupos

  • Eliminar cuentas innecesarias: Revisa /etc/passwd para cuentas de sistema no usadas (games, lp, uucp...). Comenta o elimina.
  • Contraseñas robustas: Instala libpam-pwquality y configura en /etc/security/pwquality.conf:
    minlen = 14
    dcredit = -1  # Al menos un dígito
    ucredit = -1  # Al menos una mayúscula
    ocredit = -1  # Al menos un carácter especial
    
  • Política de bloqueo de cuenta: Configura pam_tally2 o pam_faillock para bloquear tras 5 intentos fallidos.

2. Servicios y Demonios

  • Principio de mínimo privilegio: No instales servicios que no necesites. Un servidor web no necesita cups (impresión) ni avahi-daemon.
  • Deshabilitar servicios legacy: telnet, rsh, rlogin son inseguros. Usa siempre SSH.
  • Asegurar SSH: Este es el punto más crítico.
    # /etc/ssh/sshd_config
    Port 22  # Cámbialo a un puerto alto (>1024) para reducir ruido
    PermitRootLogin no
    MaxAuthTries 3
    PubkeyAuthentication yes
    PasswordAuthentication no  # ¡Clave pública o nada!
    ClientAliveInterval 300
    ClientAliveCountMax 0
    AllowUsers tu_usuario
    

3. Permisos y Sistema de Archivos

  • Permisos estrictos en archivos críticos:
    sudo chmod 600 /etc/shadow
    sudo chmod 644 /etc/passwd
    sudo chmod 640 /etc/group
    sudo chmod 750 /home/tu_usuario
    
  • Montar particiones con opciones seguras: En /etc/fstab, añade nodev, noexec, nosuid a particiones como /tmp o /var/tmp.
    # Ejemplo para /tmp
    /dev/sdX /tmp ext4 defaults,nodev,nosuid,noexec 0 0
    

4. Actualizaciones y Parches

  • Configurar actualizaciones automáticas de seguridad: Usa unattended-upgrades (Debian/Ubuntu) o dnf-automatic (RHEL).
  • Política de reinicio: Decide si los servidores se reinician automáticamente tras parches críticos o si requieren aprobación manual. En 2026, la automatización es clave.

Automatizando el Hardening con Lynis y scripts

La gracia de este flujo no es hacerlo una vez, sino integrarlo en el ciclo de vida del servidor.

Uso de Lynis en modo "Pentest" o "Forensics"

Lynis permite perfiles de auditoría. Para un hardening continuo, usa el perfil por defecto (audit system). Pero también puedes crear un perfil personalizado que ignore ciertos tests.

# Crear un perfil personalizado
sudo mkdir -p /etc/lynis
sudo lynis audit system --profile /etc/lynis/custom.prf

Integración con Ansible o Puppet

No hay mejor manera de asegurar 100 servidores que con IaC (Infrastructure as Code). Puedes usar el módulo lynis de Ansible o, más comúnmente, ejecutar Lynis y parsear su output en JSON.

# Output en JSON para procesar
sudo lynis audit system --report-file /tmp/lynis-report.json --log-file /dev/null

Luego, con un script en Python o Bash, puedes extraer los warnings y correlacionarlos con tus playbooks de Ansible. Por ejemplo, si Lynis detecta que PermitRootLogin está en yes, tu CI/CD puede disparar un playbook que lo corrija automáticamente.

[TIP] Crea un "Gold Image" de tu servidor. Aplica todo el hardening CIS Nivel 1, ejecuta Lynis hasta que el índice supere 80 (en una escala de 0-100), y luego clona esa imagen para futuros despliegues.


Retos comunes y cómo superarlos

  1. Rendimiento vs. Seguridad: Habilitar auditd con todas las reglas CIS L2 puede generar logs masivos y consumir CPU. Solución: Empieza solo con las reglas de autenticación y cambios de archivos críticos. Aumenta gradualmente.
  2. Aplicaciones Legacy: Un control CIS puede romper una aplicación que espera permisos laxos en /tmp. Solución: Usa contenedores o máquinas virtuales para aislar la aplicación legacy, y aplica hardening total al host.
  3. Falsa sensación de seguridad: Lynis te da un número, pero eso no significa que estés 100% seguro. Solución: El hardening es una capa más. Combínalo con un WAF, un IDS/IPS (como Snort o Suricata) y un SIEM.

Conclusión: El camino hacia un SysAdmin 2026

El hardening Linux ya no es una opción, es una responsabilidad. Los CIS Benchmarks te proporcionan el mapa de carretera, y Lynis es el mecánico que te dice qué piezas están flojas. La combinación de ambos te permite pasar de una postura reactiva ("algo pasó, lo arreglo") a una proactiva ("esto podría pasar, lo prevengo").

En 2026, un SysAdmin que no audita sus servidores periódicamente es un riesgo para su organización. Integra Lynis en tus pipelines de CI/CD, automatiza las correcciones con herramientas de configuración y nunca, bajo ningún concepto, confíes en la configuración por defecto.

[WARNING] No te limites a ejecutar Lynis y copiar/pegar las sugerencias. Lee el benchmark CIS correspondiente. Entiende por qué se recomienda deshabilitar algo. La seguridad no es un checklist; es una disciplina.

Empieza hoy. Ejecuta sudo lynis audit system. Analiza los warnings. Aplica los cambios. Repite. Tu yo del futuro (y tu CISO) te lo agradecerán.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel