Connecter Wazuh SIEM
Importer agents et alertes Wazuh dans ThreatClaw via la skill skill-wazuh-connector
Wazuh est un SIEM open source qui surveille vos machines via des agents installés sur chaque poste (Windows, Linux, macOS). Il détecte intrusions, modifications de fichiers critiques, vulnérabilités (CVE), rootkits et non-conformités.
ThreatClaw se connecte à l'API Wazuh Manager pour importer vos agents Wazuh comme assets, puis récupère les alertes de sécurité depuis le Wazuh Indexer (OpenSearch) pour créer des findings dans son pipeline de détection.
Pré-requis côté Wazuh
- Wazuh Manager accessible sur le port API (par défaut
55000) - Un compte API Wazuh (lecture seule suffit, l'utilisateur
wazuhpar défaut fonctionne) - Optionnel mais recommandé : Wazuh Indexer (OpenSearch) accessible sur le
port
9200. Sans lui, seuls les agents seront importés, pas les alertes.
La connexion sort de ThreatClaw vers Wazuh, assurez-vous que la route TCP 55000 (Manager) et 9200 (Indexer) est ouverte depuis l'hôte ThreatClaw vers votre Wazuh.
Configurer dans ThreatClaw
Le connecteur Wazuh est une skill. Toute la configuration se passe dans le panneau Skills, pas dans un menu "Sources" séparé.
- Ouvrir le dashboard ThreatClaw
- Aller dans Skills dans le menu principal
- Chercher Wazuh SIEM dans la liste (skill
skill-wazuh-connector) - Cliquer sur Configurer
- Renseigner les champs ci-dessous, puis Activer la skill
ThreatClaw synchronise ensuite toutes les 5 minutes et garde un curseur pour ne jamais ré-ingérer la même alerte.
Champs du formulaire
Connexion au Wazuh Manager (obligatoire)
| Champ | Type | Défaut | Rôle |
|---|---|---|---|
url | string | , | URL du Wazuh Manager avec port, ex. https://192.168.1.10:55000 |
username | string | wazuh | Utilisateur API. Vous pouvez créer un compte dédié dans Wazuh → Security |
password | password | , | Mot de passe API. Le défaut wazuh est à changer en prod |
no_tls_verify | boolean | true | Active à true si Wazuh utilise un certificat auto-signé (cas usuel). Désactive en prod avec un vrai cert |
Connexion à l'indexer (optionnel, pour les alertes)
| Champ | Type | Défaut | Rôle |
|---|---|---|---|
indexer_url | string | , | URL OpenSearch, ex. https://192.168.1.10:9200. Sans elle, pas d'alertes ingérées |
indexer_username | string | admin | Utilisateur indexer |
indexer_password | password | , | Mot de passe indexer |
Réglage du flux
| Champ | Type | Défaut | Rôle |
|---|---|---|---|
max_alerts | number | 500 | Taille max du batch par cycle de 5 min. Si plus de 500 en 5 min, le curseur reprend au cycle suivant, rien n'est perdu |
min_level | number | 7 | Niveau Wazuh minimum ingéré (0-15). 7 filtre les événements info, garde intrusions/brute force/anomalies. Baisser à 3-5 pour plus de verbosité, monter à 10 pour HIGH+ uniquement |
skip_rule_ids | string | , | IDs de règles Wazuh à ignorer, séparés par virgules, ex. 1234,5678 |
skip_if_log_contains | string (JSON) | , | Skip une règle SI son full_log contient un motif. Format {"rule_id": "motif"}, ex. {"5104": "veth"} |
Filtre de bruit intégré
ThreatClaw silence par défaut trois familles de règles connues pour cracher 40 à 80 événements par minute sur n'importe quel hôte Docker et noyer le vrai signal :
- rule 5104 quand
full_logcontientveth, bruit promiscuous Docker veth - rule 80710 quand
full_logcontientdev=veth, bruit promiscuous auditd veth - toutes les règles 80700-80799, événements d'inventaire Linux audit
Ces filtres ne sont pas configurables, ils s'appliquent automatiquement.
Vous pouvez ajouter vos propres règles de bruit via skip_rule_ids et
skip_if_log_contains.
Vérifier que ça remonte
- Ouvrir Assets dans le dashboard, vos agents Wazuh apparaissent en quelques cycles, taggés avec leur version d'agent et leur OS.
- Ouvrir Findings, les nouvelles alertes Wazuh au-dessus de
min_levelarrivent, mappées sur la matrice MITRE ATT&CK quand la règle Wazuh expose une technique. - Revenir sur Skills → Wazuh SIEM : le panneau Curseur de synchronisation affiche le timestamp du dernier événement ingéré. Si le curseur avance, le flux tourne.
Pièges et limites
Si vous ne renseignez pas indexer_url, ThreatClaw importe les agents comme
assets mais n'ingère aucune alerte. C'est le piège n°1 : la connexion est
"verte" et pourtant aucun finding ne tombe.
Si vous corrigez une corruption indexer ou si vous voulez tester un détecteur, Skills → Wazuh SIEM → Réinitialiser le curseur efface la position de synchronisation et le prochain cycle re-ingère la dernière heure.
min_level=7est un défaut volontairement conservateur. Si vous voulez voir les anomalies douces, descendez à 5, mais préparez-vous à plus de findings à trier.- Le batch
max_alerts=500est un garde-fou mémoire. Si vous le montez et que votre Wazuh crache 5000 alertes en 5 min, ThreatClaw va consommer plus de RAM sur le cycle de sync. - TLS auto-signé :
no_tls_verify=trueest le défaut parce que la grande majorité des Wazuh tournent en self-signed. En prod sérieuse, mettez un vrai cert et passez àfalse.