Introducción
Cuando un log entra en Wazuh, pasa por varias fases de procesamiento hasta convertirse en una alerta visible en el dashboard o enviada por correo/Discord/Slack. Entender este flujo es fundamental para crear reglas personalizadas y configurar alertas efectivas.
Video: Decoders, Reglas y Alertas
15 minutos - Flujo completo de procesamiento
Ver en el Curso WazuhAccede al video completo con el curso de Wazuh
Flujo de procesamiento de logs
1. Pre-decoder
La primera fase de procesamiento. El pre-decoder extrae los campos básicos del log:
- Timestamp: Fecha y hora del evento
- Hostname: Nombre del equipo que genera el log
- Programa: Aplicación que genera el log (sshd, apache, etc.)
Normaliza el formato para que el decoder pueda trabajar con un log estructurado.
2. Decoder
Analiza el contenido del log y extrae variables específicas usando expresiones regulares. Por ejemplo, de un log de SSH:
Feb 14 12:30:45 server sshd[1234]: Failed password for admin from 192.168.1.100 port 22 ssh2 El decoder extrae:
- Usuario: admin
- IP origen: 192.168.1.100
- Puerto: 22
- Resultado: Failed (intento fallido)
3. Reglas (Rules)
Las reglas evalúan los campos extraídos por el decoder. Si el log coincide con una regla, se genera un evento con un nivel de severidad (0-15).
- Nivel 0-3: Informativo, normalmente no se indexa
- Nivel 4-7: Eventos de interés, se indexan
- Nivel 8-11: Alertas importantes
- Nivel 12-15: Crítico, requiere acción inmediata
Las reglas pueden heredar de otras reglas padre usando if_sid, permitiendo crear jerarquías de detección.
4. Indexación
Los eventos que superan el umbral de nivel configurado se indexan en la base de datos (Elasticsearch/OpenSearch) y aparecen en el dashboard de Wazuh.
5. Alertas
Según la configuración, los eventos pueden disparar alertas por diferentes canales:
- Correo electrónico: SMTP configurado en ossec.conf
- Discord: Webhook integration
- Slack: Webhook integration
- TheHive: Crear casos automáticamente
- PagerDuty: Escalado de incidentes
La configuración de alertas se hace en ossec.conf del manager, usando el bloque <integration>.
Resumen del flujo
| Fase | Función | Ubicación |
| Pre-decoder | Extrae campos básicos | /var/ossec/etc/decoders/ |
| Decoder | Extrae variables específicas | /var/ossec/etc/decoders/ |
| Reglas | Evalúa y asigna nivel | /var/ossec/etc/rules/ |
| Alertas | Notifica según canal | /var/ossec/etc/ossec.conf |
Próximos pasos
En las siguientes lecciones del curso veremos cómo crear decoders y reglas personalizadas, y cómo configurar integraciones con Discord y Slack. Accede al curso completo.