SERIES SIEM WAZUH
En la última edición de la serie SIEM, discutimos EFK (Elasticsearch, Fluentd y Kibana), que incluyó una visión general de la pila tecnológica antes de sumergirnos en una práctica práctica. Como recordatorio, esta serie de blogs no está destinada a reemplazar la capacitación del curso, sino a introducir a la audiencia en lo que implica SIEM y explicar cómo funciona a un nivel básico. Además, también quería ayudar a los usuarios a crear entornos de sandbox fáciles donde puedan practicar mientras aprenden.
¿Qué es Wazuh?
Wazuh es una plataforma SIEM (Gestión de Información y Eventos de Seguridad) y XDR (Detección y Respuesta Extendida) de código abierto completa. Fue creada como un fork de Ossec en 2015 y estaba destinada a modernizar y extender las capacidades de este último. Su objetivo es convertirse en una solución unificada de monitoreo de seguridad.
Ha intentado abordar algunas de las complejidades que presenciamos en ELK y facilitar la creación de su propio sistema de monitoreo.
Componentes Principales de Wazuh
Wazuh es una poderosa plataforma de seguridad de código abierto que integra detección de amenazas, monitoreo de integridad, respuesta a incidentes y gestión de cumplimiento. Su arquitectura es modular, compuesta por varios componentes clave:
- Agente Wazuh: Instalado en puntos finales (servidores, VMs, contenedores), el agente recopila datos de seguridad como registros, cambios de integridad de archivos e inventario del sistema. Wazuh también admite monitoreo sin agente a través de Syslog, SSH o APIs para dispositivos como cortafuegos y enrutadores.
- Servidor Wazuh: La unidad central de procesamiento de la plataforma. Recibe datos de agentes o fuentes externas, los decodifica, aplica reglas y genera alertas. También gestiona configuraciones de agentes y orquesta la comunicación a través de la plataforma.
- Motor de Análisis: Un subsistema dentro del Servidor Wazuh que aplica reglas de detección, correlaciona eventos e identifica amenazas. Enriquece los eventos con metadatos como IDs de reglas y niveles de severidad.
- Indexador Wazuh: Construido sobre OpenSearch, este componente almacena e indexa alertas y eventos. Permite búsquedas rápidas, filtrado y análisis a través de grandes conjuntos de datos. Filebeat se utiliza para enviar datos de forma segura desde el servidor al indexador.
- Dashboard Wazuh: Una interfaz basada en la web para visualizar alertas, gestionar agentes e interactuar con la plataforma. Se comunica con el Servidor Wazuh a través de una API RESTful y admite monitoreo en tiempo real, búsqueda de amenazas e informes de cumplimiento.
Wazuh puede ser desplegado como una arquitectura de nodo único o multi-nodo dependiendo de las necesidades de escalabilidad y rendimiento.
Cómo Funciona Wazuh: Una Visión General Paso a Paso
El proceso se puede resumir en los siguientes pasos:
- Wazuh recopila datos de los puntos finales utilizando agentes. Esto incluye registros, actividad del sistema y cambios de archivos. Para sistemas sin agentes, los datos pueden ser recopilados a través de Syslog, SSH o APIs.
- El servidor recibe y decodifica los datos, preparándolos para el análisis.
- El motor de análisis aplica reglas para detectar amenazas o violaciones de políticas. Se generan alertas y se enriquecen con detalles relevantes.
- Las alertas y eventos se envían al indexador, donde se almacenan y se hacen buscables.
- El dashboard permite a los usuarios ver alertas, monitorear sistemas y gestionar configuraciones a través de una interfaz web.
Como cubrimos anteriormente en esta serie, los mensajes de syslog en bruto no son ideales para construir dashboards o activar alertas. Para hacerlos útiles, necesitamos descomponerlos en datos estructurados y legibles. En términos simples, crear pares clave-valor claros es esencial, especialmente al trabajar con herramientas de visualización como Kibana o el Dashboard de Wazuh.
Análisis y Más Análisis
Logstash y Fluentd son motores de procesamiento de registros de propósito general y están diseñados para la flexibilidad. Sin embargo, a menudo la flexibilidad requiere complejidad. Durante nuestro ejemplo de análisis de grok, fue evidente que esta es una habilidad adquirida y requiere tiempo y esfuerzo para ganar experiencia en ella.
Wazuh eligió un camino ligeramente diferente y utiliza dos etapas para procesar los registros. La primera etapa aprovecha los decodificadores, mientras que la segunda utiliza las reglas. Wazuh intenta facilitar el análisis de registros con fines de seguridad aprovechando los decodificadores y regulaciones con analizadores de seguridad integrados.
En resumen, así es como podemos comparar lo que vimos con Logstash/Fluentd con los Decodificadores y Reglas de Wazuh:
| Aspecto | Logstash/Fluentd | Decodificadores y Reglas de Wazuh |
| Propósito | Procesamiento de registros genérico | Análisis de eventos de seguridad |
| Capacidad lista para usar | Pipeline vacío | Más de 3,000 reglas de seguridad listas |
| Contexto de seguridad | Implementación manual | Inteligencia de amenazas integrada |
| Extracción de campos | Patrones grok genéricos | Decodificadores conscientes de la seguridad |
| Correlación | Configuración manual | Correlación automática de eventos |
| Mapeo de cumplimiento | Desarrollo personalizado | Pre-mapeado a marcos |
| Detección de amenazas | Construir desde cero | Detección inmediata de amenazas |
| Tiempo para el valor de seguridad | Semanas/meses | Horas/días |
Tutorial de Sandbox
Al igual que en nuestras publicaciones anteriores en esta serie SIEM, estamos enfocados en el aprendizaje práctico. En este ejercicio, trabajaremos con una máquina virtual Ubuntu para instalar Wazuh directamente en el sistema operativo—sin Docker esta vez. Para nuestra configuración de laboratorio de pruebas, Wazuh ofrece un script de instalación conveniente que hace que el proceso sea rápido y sencillo.
Por favor, utiliza este enlace para la sección del tutorial:
https://documentation.wazuh.com/current/quickstart.html
Instalación de Nodo Único de Wazuh
1. Ejecuta el siguiente script:
curl -sO https://packages.wazuh.com/4.12/wazuh-install.sh && sudo bash ./wazuh-install.sh -acurl -sO https://packages.wazuh.com/4.12/wazuh-install.sh

2. Cuando el script termine, anota la contraseña de administrador.
3. En este punto, deberías poder abrir un navegador y navegar a la dirección IP o nombre DNS de tu VM Wazuh. Si todo está configurado correctamente, el dashboard de Wazuh se cargará, dándote acceso a tu entorno SIEM.
Para referencia, aquí está lo que utilicé: https://wazuh02

4. Inicia sesión usando el nombre de usuario admin y la contraseña que apareció en tu terminal después de completar el script de instalación. Una vez que inicies sesión, Wazuh presentará un dashboard rico lleno de opciones para explorar.

Configurando Decodificadores y Reglas para la Integración de Syslog Ootbi
Hemos creado un repositorio de GitHub con decodificadores y reglas simples adaptadas para el reenvío de syslog de Object First’s Ootbi (Out-of-the-Box Immutability). Puedes descargarlos usando:
https://github.com/object1st/wazuh-examples.git
¿No tienes Ootbi todavía? No hay problema. Simularemos mensajes de syslog para demostrar cómo Wazuh los procesa.
Colocación de Archivos
En lugar de modificar el local_decoder.xml y local_rules.xml predeterminados, recomendamos crear archivos separados para una mejor organización, especialmente si planeas gestionar múltiples tipos de eventos.
Copia los siguientes archivos:
1. Desde la carpeta de decodificadores:
- honeypot_application_decoders.xml
- ootbi_working_decoders.xml archivos
Colócalos en: /var/ossec/etc/decoders/
2. Desde la carpeta de reglas:
- honeypot_application_rules.xml
- ootbi_final_rules.xml archivos
Colócalos en: /var/ossec/etc/rules/
Configurando Wazuh para Recibir Mensajes de Syslog
1. Asegúrate de que Wazuh esté escuchando conexiones de syslog entrantes añadiendo la siguiente sección a
/var/ossec/etc/ossec.conf file under </ossec_config>
<remote>
<connection>syslog</connection>
<port>514</port>
<protocol>udp</protocol>
<allowed-ips>192.168.0.0/24</allowed-ips>
<allowed-ips>127.0.0.1</allowed-ips>
</remote>
2. Actualiza allowed-ips para que coincida con tu subred.
3. Reinicia el servicio del gestor de Wazuh:
systemctl restart wazuh-manager
4. Verifica que el puerto esté escuchando:
Ss -tunlp

Enviando Mensajes de Syslog de Prueba
Puedes enviar mensajes de prueba a Wazuh usando netcat:
echo '<14>Aug 26 19:00:00 ootbisiem OOTBI [ootbi_event@61062 Node="ootbisiem" Source="Disks" EventId="1039"] The RAID array "md0" is missing.' | nc -q0 localhost 514
echo ‘<12>1 0001-01-01T00:00:00.000000+00:00 ootbi-node1 OOTBI - - [ootbi_event@61062 Node="ootbi-node1" NodeId="A410B7E9-FF68-4ADF-B570-A964C6F45D98" DateTime="01/01/0001 00:00:00 UTC" Source="S3" EventId="6207" ProductVersion="1.7.67.10970" EDataVersion="1"] '{}' smart entity is in '{}' unconfirmed state’ | nc -q0 localhost 514
Visualización de Eventos en el Panel de Wazuh
En el panel de Wazuh, abre el menú en la parte superior izquierda y haz clic en “Explorar” y luego en “Descubrir.”

Ahora deberías ver los mensajes de syslog que enviaste.

Importando el Panel Ootbi
1. Ve a la Gestión de Paneles desde el menú en la parte superior izquierda.

2. En “Objetos Guardados,” haz clic en “Importar.”


3. Sube el archivo export.ndjson desde tu escritorio.

4. Una vez importado, haz clic en “Explorar” y luego en “Paneles.”
5. Posteriormente, haz clic en el “Panel Ootbi.” Verás los eventos que enviaste anteriormente mostrados.

Prueba de la Función Honeypot
Dado que Wazuh está funcionando como un SIEM, esta es una gran oportunidad para probar la nueva función Honeypot de Ootbi.
1. Para comenzar, apunta tu reenvío de syslog de Ootbi a la instalación de Wazuh.

2. Luego, envía un mensaje de prueba para confirmar la recepción.

3. Si tu Honeypot está funcionando en una IP estática (la mía, por ejemplo, es 192.168.0.44), escanéalo usando Zenmap.

5. Deberías ver eventos iluminándose en el panel Ootbi y entradas correspondientes en tu panel SIEM de Wazuh.

6. Ahora revisemos nuestro SIEM:

Reflexiones Finales sobre la Configuración e Integración de Wazuh
Este blog sirvió como una introducción práctica a Wazuh, una plataforma SIEM y XDR de código abierto diseñada para simplificar la monitorización de seguridad y la detección de amenazas. Exploramos su arquitectura modular—cubriendo agentes, el servidor, el motor de análisis, el indexador y el panel—y realizamos una instalación de nodo único en Ubuntu utilizando el script de configuración simplificado de Wazuh. A partir de ahí, demostramos cómo configurar decodificadores y reglas para la integración de syslog, simular eventos y visualizarlos en el panel de Wazuh.
También mostramos cómo importar un panel personalizado y probar la función Honeypot de Ootbi, brindando a los lectores una visión práctica de cómo Wazuh puede ser utilizado en escenarios del mundo real. Ya sea que seas nuevo en las herramientas SIEM o busques una alternativa más centrada en la seguridad a los procesadores de registros tradicionales, Wazuh ofrece una solución poderosa y accesible. Para una exploración más profunda, te recomendaría encarecidamente consultar la documentación oficial de Wazuh.



