Lorsqu'un journal arrive à Wazuh, il passe par quatre phases : pré-décodeur (extrait la date et le programme), décodeur (extrait les champs avec des regex), règles (vérifie si l'événement est pertinent) et génération d'alertes (si la règle correspond, Wazuh notifie par e-mail, Discord ou Slack).
Comment les journaux circulent-ils dans Wazuh, de l'entrée à l'alerte ?
Lorsqu'un journal entre dans Wazuh, il passe par plusieurs phases de traitement jusqu'à devenir une alerte visible dans le dashboard ou envoyée par e-mail/Discord/Slack. Comprendre ce flux est essentiel pour créer des règles personnalisées et configurer des alertes efficaces.
À quoi ressemble le flux de traitement des journaux ?
Que fait le pré-décodeur (phase 1) ?
La première phase de traitement. Le pré-décodeur extrait les champs de base du journal :
- Timestamp : date et heure de l'événement
- Hostname : nom de la machine qui génère le journal
- Programme : application qui génère le journal (sshd, apache, etc.)
Il normalise le format afin que le décodeur puisse travailler avec un journal structuré.
Qu'extrait le décodeur (phase 2) ?
Il analyse le contenu du journal et extrait des variables spécifiques à l'aide d'expressions régulières. Par exemple, à partir d'un journal SSH :
Feb 14 12:30:45 server sshd[1234]: Failed password for admin from 192.168.1.100 port 22 ssh2 Le décodeur extrait :
- Utilisateur : admin
- IP source : 192.168.1.100
- Port : 22
- Résultat : Failed (tentative échouée)
Comment les règles évaluent-elles l'événement (phase 3) ?
Les règles évaluent les champs extraits par le décodeur. Si le journal correspond à une règle, un événement est généré avec un niveau de gravité (0-15).
- Niveau 0-3 : informatif, généralement non indexé
- Niveau 4-7 : événements intéressants, indexés
- Niveau 8-11 : alertes importantes
- Niveau 12-15 : critique, nécessite une action immédiate
Les règles peuvent hériter d'autres règles parentes avec if_sid, ce qui permet de construire des hiérarchies de détection.
Quand les événements sont-ils indexés (phase 4) ?
Les événements qui dépassent le seuil de niveau configuré sont indexés dans la base de données (Elasticsearch/OpenSearch) et apparaissent dans le dashboard Wazuh.
Comment les alertes sont-elles générées et envoyées (phase 5) ?
Selon la configuration, les événements peuvent déclencher des alertes via différents canaux :
- E-mail : SMTP configuré dans ossec.conf
- Discord : intégration webhook
- Slack : intégration webhook
- TheHive : créer des cas automatiquement
- PagerDuty : escalade des incidents
La configuration des alertes se fait dans l'ossec.conf du manager, à l'aide du bloc <integration>.
À quoi ressemble le flux complet en un coup d'œil ?
| Phase | Fonction | Emplacement |
| Pré-décodeur | Extrait les champs de base | /var/ossec/etc/decoders/ |
| Décodeur | Extrait des variables spécifiques | /var/ossec/etc/decoders/ |
| Règles | Évalue et attribue un niveau | /var/ossec/etc/rules/ |
| Alertes | Notifie via un canal | /var/ossec/etc/ossec.conf |
Questions fréquentes
Quelles sont les phases par lesquelles passe un journal dans Wazuh ?
Un journal passe par le pré-décodeur (extrait le timestamp, le hostname et le programme), le décodeur (extrait des champs spécifiques comme l'utilisateur, l'IP et le port avec des regex), les règles (évalue l'événement et attribue un niveau de gravité de 0 à 15), l'indexation (le stocke s'il dépasse le seuil) et la génération d'alertes (notifie par e-mail, Discord, Slack et d'autres canaux).
Quelle est la différence entre le pré-décodeur et le décodeur ?
Le pré-décodeur normalise le journal et extrait les champs de base communs à presque toute entrée : timestamp, hostname et nom du programme. Le décodeur analyse ensuite le corps du message avec des expressions régulières pour extraire des variables spécifiques comme l'utilisateur, l'IP source, le port ou l'action.
Que signifient les niveaux de gravité des règles Wazuh ?
Wazuh attribue à chaque événement correspondant un niveau de 0 à 15. Les niveaux 0-3 sont informatifs et généralement non indexés, 4-7 sont des événements intéressants qui sont indexés, 8-11 sont des alertes importantes, et 12-15 sont des événements critiques nécessitant une action immédiate.
Où sont stockés les décodeurs, les règles et les réglages d'alertes ?
Les décodeurs se trouvent dans /var/ossec/etc/decoders/, les règles dans /var/ossec/etc/rules/, et les intégrations d'alertes se configurent dans le /var/ossec/etc/ossec.conf du manager à l'aide du bloc <integration>.
Vers quels canaux Wazuh peut-il envoyer des alertes ?
Wazuh peut notifier par e-mail (SMTP configuré dans ossec.conf), Discord et Slack via des intégrations webhook, TheHive pour créer des cas automatiquement, et PagerDuty pour l'escalade des incidents.
Étapes suivantes
Notre équipe peut vous aider à créer des décodeurs et des règles personnalisés, et à mettre en place des intégrations avec Discord et Slack dans le cadre d'un déploiement professionnel de Wazuh. Découvrez l'implémentation professionnelle.