TPTito Pinardo Gutiérrez
← Volver al rack
English
1U · WAZUHSIEM · FIM · CVE · CIS En producción

Posición 17 de 25 en el rack · En producción

Unidad 1U · Seguridad

Wazuh · quién hizo qué

2.195 → 1.801 entradas de vulnerabilidad

Un agente en cada máquina manda sus registros, vigila los ficheros que no deberían cambiar y hace inventario de paquetes. Wazuh los cruza con sus reglas, con las vulnerabilidades conocidas y con las comprobaciones CIS, y avisa por gravedad: lo grave, cifrado al móvil.

Cómo está aislado
Contenedor sin privilegios y sin SSH; la API, el indexador y el correo solo escuchan hacia dentro, y el alta de agentes está cerrada: se registran desde el hipervisor.
Qué vigila
Inicios de sesión, cambios en ficheros críticos, paquetes con vulnerabilidades y controles de configuración en los contenedores y en el propio servidor.
Cómo avisa
Agrupando repeticiones en ventanas de 5 minutos y sin mandar nunca registros en crudo. Solo lo de nivel alto llega al móvil.
  • 9.500 → ~100avisos a la semana en Discord
  • 342CVE distintas revisadas una a una
  • 3 hcolgado un upgrade, por el disco
  • 0registros en crudo en los avisos

Su código, en abierto Versión pública del repositorio: sin IPs ni secretos.

La seguridad por dentro

Cada máquina manda sus registros; aquí se decide qué es sospechoso y a quién se avisa. Elige un recorrido.

Hermesde visita en la unidad

Pulsa una pieza o elige un recorrido. Si vienes de una habilidad, ya están encendidas las piezas donde la uso.

      Alguien prueba contraseñas
      1. Registros — Un registro de autenticación muestra fallos repetidos.
      2. Agente de Wazuh — El agente lo manda.
      3. Gestor de Wazuh — El gestor lo recibe.
      4. Reglas — Una regla lo clasifica por nivel.
      5. Reparto por nivel — Si llega a 12, va al móvil.
      6. Agrupar repeticiones — Agrupado: un aviso con el recuento, no uno por intento.
      7. Sala de alertas — A la sala de alertas, cifrado.
      8. Yo — Lo leo y decido.
      Cambia un fichero crítico
      1. Integridad de ficheros — Cambia la configuración de SSH de un contenedor.
      2. Agente de Wazuh — El agente lo detecta.
      3. Gestor de Wazuh — El gestor lo recibe.
      4. Reglas — Una regla lo marca.
      5. Indexador — Se guarda para buscarlo.
      6. Panel — Y aparece en el panel: qué fichero, dónde y cuándo.
      Revisión de vulnerabilidades
      1. Inventario de paquetes — El inventario dice qué versión hay de cada paquete.
      2. Gestor de Wazuh — El gestor lo cruza con las vulnerabilidades conocidas.
      3. Vulnerabilidades — Las reviso una a una contra la distribución: corregidas, pendientes o no afectan.
      4. Parchear — Parcheo solo lo oficial, simulando antes.
      5. Instantánea previa — Con una instantánea previa.
      6. Parchear — Aplico.
      7. Inventario de paquetes — Y el inventario se refresca.
      El resumen de cada mañana
      1. Gestor de Wazuh — El gestor tiene los accesos fallidos del día.
      2. Resumen de accesos fallidos — El vigilante de Hermes los recoge.
      3. Hermes — Hermes los resume.
      4. Sala de alertas — En su sala.
      5. Yo — Y lo leo con el café.
      Un upgrade que se queda colgado
      1. Parchear — Lanzo la actualización de toda la flota.
      2. Hipervisor — El disco del hipervisor está saturado.
      3. Instantánea previa — Y el contenedor de Wazuh arrastra dos instantáneas antiguas.
      4. Hipervisor — El sistema de ficheros del contenedor deja de avanzar: tres horas.
      5. Gestor de Wazuh — Borradas las instantáneas y activada la caché de escritura, el gestor arranca.
      6. Indexador — El indexador necesita más tiempo de arranque: se le da.
      1. Yo

        El que tiene que decidir si algo es un ataque o soy yo.

      2. Discord

        Desde nivel 7: lo que merece una mirada.

      3. Sala de alertas

        Desde nivel 12, cifrado de extremo a extremo.

      4. Hipervisor

        También tiene agente, con auditoría de los ficheros de cuentas, sudo y SSH.

        • Proxmox VE
      5. Hermes

        Su vigilante de accesos fallidos resume lo que ya no llega a Discord.

      6. Agente de Wazuh

        En cada contenedor. Se registra por el hipervisor, no por un puerto abierto.

        • Wazuh
      7. Registros

        Autenticación, sudo, servicios, auditd y Docker.

        • Wazuh
        • Linux (Debian, Alpine, Arch)
      8. Integridad de ficheros

        Avisa si cambian ficheros que no deberían: configuración, cuentas, servicios. Sin guardar el contenido del cambio.

        • Wazuh
      9. Inventario de paquetes

        Qué versión de cada paquete hay en cada máquina, para cruzarlo con las vulnerabilidades.

        • Wazuh
      10. Gestor de Wazuh

        Recibe todo y lo analiza.

        • Wazuh
      11. Reglas

        Las de Wazuh y unas pocas propias para el registro de casa.

        • Wazuh
      12. Indexador

        Guarda las alertas 30 días para buscarlas.

        • Wazuh
      13. Panel

        Solo detrás de la puerta interna con doble factor.

        • Wazuh
      14. Reparto por nivel

        Discord desde 7, correo desde 10, el móvil desde 12.

        • Wazuh
      15. Agrupar repeticiones

        Una integración propia agrupa lo repetido en ventanas de 5 minutos y manda un resumen, nunca el registro.

        • Python
      16. Correo

        Desde nivel 10: unos 15 a la semana.

        • Wazuh
      17. Resumen de accesos fallidos

        Lo que sale de Discord no se pierde: Hermes lo resume en su sala.

      18. Vulnerabilidades

        Cada paquete cruzado con las vulnerabilidades conocidas. Una CVE puede aparecer muchas veces: no son ataques.

        • Wazuh
        • Linux (Debian, Alpine, Arch)
      19. Comprobaciones CIS

        Controles de configuración segura. Las excepciones aceptadas se documentan con su motivo.

        • Wazuh
        • Linux / SSH hardening
      20. Parchear

        Solo correcciones oficiales, simulando antes y rechazando cambios de kernel, driver o servicios críticos.

        • Ansible
        • Linux (Debian, Alpine, Arch)
      21. Instantánea previa

        Antes de parchear, una instantánea del contenedor. Útil… pero no se puede dejar para siempre.

        • Proxmox VE

      Lo que uso de mi árbol

      Pulsa una habilidad: se encienden en el mapa las piezas donde la uso y te cuento para qué.

      Ansible
      Las actualizaciones de la flota, con simulación previa y sin tocar kernel ni drivers.
      Proxmox VE
      El hipervisor tiene su agente y auditd; los agentes se registran a través de él.
      LXC
      Wazuh corre en su propio contenedor sin privilegios.
      Linux (Debian, Alpine, Arch)
      auditd, journald, AppArmor y servicios sobrantes revisados en cada máquina.
      Wazuh
      Gestor, indexador y panel; agentes con registros, integridad de ficheros, inventario y vulnerabilidades; niveles de aviso medidos y ajustados.
      Linux / SSH hardening
      Controles CIS revisados, auditoría de ficheros críticos y avisos sin datos en crudo.
      Python
      La integración que agrupa repeticiones y manda resúmenes a Discord y a Matrix.

      Bitácora de incidencias

      Averías reales. Lee el síntoma, elige la causa que creas y mira cómo se arregló.

      1. #1

        9.517 avisos en una semana

        05-10-2026 · ruido

        Los avisos de seguridad eran «súper pesados»: miles al día en Discord.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Discord recibía desde nivel 3. Dos tercios eran aperturas y cierres de sesión de mis propias automatizaciones, y el resto, SSH correctos y comprobaciones rutinarias.
        Solución
        Medir una semana por regla y por agente, y subir Discord a nivel 7 y el correo a 10. Lo que se deja de enviar sigue en el panel y Hermes resume los accesos fallidos.
        Lección
        Si casi todo lo que llega es rutina, lo importante se pierde entre medias. Se decide con el recuento delante, no a ojo.
      2. #2

        Once cambios «sospechosos» al día en el hipervisor

        08-09-2026 · integridad

        La integridad de ficheros avisaba cada día de cambios en ficheros de configuración del hipervisor, incluidas claves.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Esa carpeta del hipervisor no son ficheros normales: es una vista de su base de datos interna, que se reescribe a cada momento por su funcionamiento normal.
        Solución
        Sacarla de la vigilancia de integridad y dejar las rutas que sí importan: cuentas, sudo, SSH y servicios. Además, auditd vigila esos ficheros en el hipervisor.
        Lección
        Vigilar algo que cambia siempre no protege: entrena a ignorar el aviso. Hay que saber qué es cada ruta antes de vigilarla.
      3. #3

        Tres horas parado en «apt upgrade»

        25-09-2026 · disco

        La actualización de la flota se quedó tres horas en el contenedor de Wazuh. No era Ansible ni una pregunta de apt: los procesos estaban esperando al disco.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Todo el sistema y unos 16 contenedores comparten un espejo de dos discos mecánicos, con la caché de escritura apagada. Y el volumen de Wazuh, casi lleno, arrastraba dos instantáneas que convertían cada escritura en varias.
        Solución
        Borrar las instantáneas, reiniciar el contenedor y terminar la configuración. Activar la caché de escritura de los discos del sistema. Dar al indexador 15 minutos para arrancar.
        Lección
        Una instantánea «por si acaso» tiene un coste en cada escritura mientras exista. Se borra cuando ya no hace falta.

      Cómo se construyó

      1. 06 y 07-09-2026

        Instalación

        • Primer intento fallido por la presión de disco; segundo separando la descarga inicial de vulnerabilidades.
        • Contenedor sin privilegios, sin SSH y con los puertos internos solo hacia dentro.
        • Agentes en toda la flota.
      2. 14-09-2026

        Revisión completa

        • 342 CVE contrastadas con la distribución y parches oficiales aplicados.
        • Controles CIS fallidos revisados uno a uno, con excepciones documentadas.
        • Auditoría de ficheros de cuentas en el hipervisor y servicios sobrantes apagados.
      3. Septiembre y octubre de 2026

        Menos ruido

        • Integridad sin la carpeta que cambia sola.
        • Niveles de aviso ajustados con una semana medida.

      Decisiones (y por qué)

      • Cómo se cuentan las vulnerabilidades

        Contra la distribución, no el número bruto

        Una CVE en una biblioteca compartida aparece en cada máquina. Lo que importa es si la versión instalada ya está corregida, pendiente o no afectada.

      • Qué se manda en un aviso

        Un resumen, nunca el registro

        Un registro puede llevar datos que no deben salir del servidor. El aviso dice qué, dónde y cuántas veces; el detalle está en el panel.

      • Las puntuaciones CIS

        No perseguir el número

        Algunos controles, aplicados a ciegas, romperían el cortafuegos del hipervisor o servicios necesarios. Se aceptan con su motivo escrito.

      Lo que aprendí

      • Un sistema de seguridad que avisa de todo no avisa de nada.
      • Contar bien: una CVE en cien sitios es un parche, no cien ataques.
      • Las instantáneas se borran.

      Lo siguiente

      • Repetir la medición de avisos en unas semanas.
      • Mover el sistema a discos más rápidos para que una actualización no compita con todo el servidor.

      ¿Hablamos?

      Puedo contar cualquiera de estas decisiones en detalle en una entrevista.

      Descargar CV Contactar ← Volver al rack

      Reconstrucción a partir de mi documentación: sin direcciones, agentes, reglas locales ni detalles que sirvan para atacar.