Guide d'utilisation de Wazuh

Pour débutant — SIEM, XDR et supervision de sécurité open source

SOGESTI est un intégrateur informatique expert dans la mise en place des mesures de sécurité.

Sommaire

  1. Introduction
  2. Architecture de Wazuh
  3. Premiers pas dans le tableau de bord
  4. Ajouter un ordinateur ou serveur (déployer un agent)
  5. Comprendre les alertes
  6. Fonctionnalités clés à connaître
  7. Règles et décodeurs
  8. Corriger les problèmes détectés dans Wazuh
  9. Configurations niveau avancé
  10. Bonnes pratiques pour débuter
  11. Ressources utiles

1. Introduction

Qu'est-ce que Wazuh ?

Wazuh est une plateforme open source de sécurité qui combine plusieurs fonctions en un seul outil :

Pourquoi utiliser Wazuh ?

2. Architecture de Wazuh

Wazuh repose sur trois composants principaux :

ComposantRôle
Wazuh Server (Manager)Reçoit les données des agents, les analyse et déclenche les alertes
Wazuh IndexerStocke et indexe les données (basé sur OpenSearch)
Wazuh DashboardInterface web pour visualiser les alertes et gérer la plateforme
Wazuh AgentPetit logiciel installé sur chaque machine à surveiller, qui collecte les événements et les envoie au Manager

Schéma simplifié :

[Agent 1] ---\ [Agent 2] ----> [Wazuh Manager] ---> [Wazuh Indexer] ---> [Wazuh Dashboard] [Agent 3] ---/

3. Premiers pas dans le tableau de bord

  1. Ouvrez un navigateur et accédez à https://<IP_DU_SERVEUR>
  2. Connectez-vous avec admin et le mot de passe généré
  3. Vous arrivez sur la page d'accueil, qui affiche un résumé des agents connectés et des alertes récentes

Menu principal (icône ☰ en haut à gauche)

4. Ajouter un ordinateur ou serveur (déployer un agent)

Pour surveiller une machine (serveur ou poste de travail), il faut y installer un agent Wazuh. Cet agent envoie en continu les informations de sécurité de la machine vers le Manager. Voici la marche à suivre complète.

Étape 1 — Lancer l'assistant de déploiement

  1. Connectez-vous au tableau de bord Wazuh
  2. Dans le menu ☰, allez dans Agents management > Summary (ou Agents selon la version)
  3. Cliquez sur le bouton Deploy new agent (Ajouter un agent)

Étape 2 — Renseigner les paramètres de la machine à ajouter

L'assistant vous demande de préciser :

Étape 3 — Copier et exécuter la commande générée

Le tableau de bord génère automatiquement la commande d'installation correspondant à vos choix. Copiez-la et exécutez-la sur la machine à surveiller (avec les droits administrateur).

Exemple pour Linux (Debian/Ubuntu) :

wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.x.x-1_amd64.deb
sudo WAZUH_MANAGER='<IP_DU_MANAGER>' WAZUH_AGENT_GROUP='<groupe>' dpkg -i ./wazuh-agent_4.x.x-1_amd64.deb
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

Exemple pour Windows (PowerShell, en administrateur) :

Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.x.x-1.msi -OutFile $env:tmp\wazuh-agent.msi
msiexec.exe /i $env:tmp\wazuh-agent.msi /q WAZUH_MANAGER='<IP_DU_MANAGER>'
NET START WazuhSvc

Exemple pour macOS :

curl -so wazuh-agent.pkg https://packages.wazuh.com/4.x/macos/wazuh-agent-4.x.x-1.pkg
sudo installer -pkg ./wazuh-agent.pkg -target /
sudo /Library/Ossec/bin/wazuh-control start

Étape 4 — Vérifier que l'agent est bien connecté

  1. Retournez dans Agents sur le tableau de bord
  2. La nouvelle machine doit apparaître avec le statut Active (pastille verte)
  3. Cliquez sur son nom pour voir ses informations : IP, OS, dernière synchronisation, modules actifs (FIM, SCA, vulnérabilités...)
Si le statut reste "Disconnected" ou "Never connected" :

Déploiement en masse (plusieurs machines)

Pour ajouter beaucoup de machines rapidement, il est possible d'automatiser l'installation via :

5. Comprendre les alertes

Chaque alerte Wazuh comporte plusieurs éléments clés :

Niveaux de sévérité courants

NiveauSignification
0-3Informationnel, faible priorité
4-7Avertissement, à surveiller
8-11Erreur ou tentative suspecte
12-15Critique (compromission probable, action immédiate requise)

6. Fonctionnalités clés à connaître

a) File Integrity Monitoring (FIM)

Surveille les modifications de fichiers/dossiers sensibles (ex : /etc/passwd sous Linux, clés de registre sous Windows). Se configure dans ossec.conf sur chaque agent, section <syscheck>.

b) Détection de logs (Log Data Analysis)

Wazuh analyse en continu les journaux système, applicatifs et réseau pour repérer des anomalies (échecs de connexion répétés, commandes suspectes, etc.).

c) Évaluation de conformité (SCA - Security Configuration Assessment)

Vérifie que les machines respectent des standards de sécurité (CIS Benchmarks) et propose des recommandations de durcissement.

d) Détection de vulnérabilités

Compare les logiciels installés à des bases de données de vulnérabilités connues (CVE) et alerte si une mise à jour de sécurité est nécessaire.

e) Réponse active (Active Response)

Permet de déclencher automatiquement une action (ex : bloquer une IP via le pare-feu) en réponse à une alerte critique.

7. Règles et décodeurs (notions de base)

Les règles personnalisées se créent dans Server management > Rules, sans toucher aux règles par défaut (bonne pratique pour éviter de casser les mises à jour).

8. Corriger les problèmes détectés dans Wazuh

Détecter une alerte n'est que la première étape : il faut ensuite l'analyser et la corriger. Voici la démarche selon le type de problème détecté.

a) Méthode générale d'investigation

  1. Ouvrez l'alerte dans Threat intelligence > Security events
  2. Lisez la description et le niveau de sévérité pour évaluer l'urgence
  3. Identifiez l'agent source et le fichier de log à l'origine de l'alerte
  4. Cliquez sur l'alerte pour voir le détail complet (JSON) : IP source, utilisateur, commande exécutée, règle déclenchée
  5. Corrigez la cause sur la machine concernée, puis vérifiez que l'alerte ne se reproduit plus

b) Vulnérabilités détectées (logiciels obsolètes)

Wazuh liste les failles CVE trouvées dans Threat intelligence > Vulnerability detection.

c) Échecs de conformité (SCA / CIS Benchmarks)

Dans Endpoint security > Configuration assessment, chaque règle échouée est accompagnée d'une recommandation de remédiation (ex : désactiver un protocole non sécurisé, renforcer une politique de mot de passe).

  1. Ouvrez la règle en échec pour lire la remédiation proposée
  2. Appliquez le changement de configuration recommandé sur la machine
  3. Relancez le scan de conformité pour vérifier la correction (le module SCA se relance automatiquement à intervalle régulier, ou manuellement via l'API)

d) Alertes d'intégrité de fichiers (FIM)

Une alerte FIM signale qu'un fichier surveillé a été modifié, créé ou supprimé.

e) Alertes critiques (niveau 12-15) : intrusion probable

  1. Ne paniquez pas mais agissez rapidement
  2. Isolez la machine concernée du réseau si une compromission est confirmée
  3. Consultez la chronologie des événements sur cet agent pour comprendre l'origine de l'attaque
  4. Changez les identifiants potentiellement compromis
  5. Si configurée, la réponse active (Active Response) peut bloquer automatiquement l'IP source
  6. Une fois l'incident traité, ajustez les règles ou la configuration pour éviter une répétition

f) Réduire le bruit (faux positifs)

Si une alerte se répète alors qu'elle correspond à un comportement normal et légitime :

Bon réflexe : après toute correction, revenez sur le tableau de bord pour confirmer que l'alerte ne réapparaît plus lors du prochain cycle de scan. Cela valide que le problème est réellement résolu, pas seulement masqué.

9. Configurations niveau avancé

Une fois les bases maîtrisées, voici les configurations avancées les plus utiles pour exploiter pleinement Wazuh dans un environnement professionnel.

a) Architecture en cluster (haute disponibilité)

Pour un environnement de production avec beaucoup d'agents, un seul Manager peut devenir un goulot d'étranglement. Wazuh permet de répartir la charge sur plusieurs nœuds Manager (cluster).

Configuration dans /var/ossec/etc/ossec.conf sur chaque nœud :

<cluster>
  <name>wazuh-cluster</name>
  <node_name>node01</node_name>
  <node_type>master</node_type>
  <key></key>
  <port>1516</port>
  <bind_addr>0.0.0.0</bind_addr>
  <nodes>
    <node>10.0.0.10</node>
  </nodes>
  <hidden>no</hidden>
  <disabled>no</disabled>
</cluster>

Un nœud est désigné master (gère la synchronisation des règles/décodeurs) et les autres sont des worker (répartissent la charge des agents connectés).

b) Intégrations avec des outils externes

Wazuh peut transmettre automatiquement ses alertes vers des outils tiers via le bloc <integration> dans ossec.conf.

Exemple — envoi vers Slack :

<integration>
  <name>slack</name>
  <hook_url>https://hooks.slack.com/services/XXX/YYY/ZZZ</hook_url>
  <level>10</level>
  <alert_format>json</alert_format>
</integration>

Exemple — vérification automatique de fichiers via VirusTotal :

<integration>
  <name>virustotal</name>
  <api_key>VOTRE_CLE_API</api_key>
  <rule_id>550,554</rule_id>
  <alert_format>json</alert_format>
</integration>

D'autres intégrations natives existent pour PagerDuty, Shuffle (SOAR), Amazon SNS/SQS, ou un webhook générique.

c) Réponse active personnalisée (scripts)

Au-delà des scripts fournis par défaut (blocage IP via iptables ou firewall-drop), il est possible d'écrire un script de réponse active sur mesure, placé dans /var/ossec/active-response/bin/ sur l'agent, puis déclaré dans ossec.conf du Manager :

<command>
  <name>desactiver-compte</name>
  <executable>desactiver-compte.sh</executable>
  <timeout_allowed>yes</timeout_allowed>
</command>

<active-response>
  <command>desactiver-compte</command>
  <location>local</location>
  <rules_id>5712</rules_id>
  <timeout>600</timeout>
</active-response>

Ici, la règle 5712 (tentatives de connexion SSH multiples échouées) déclenche automatiquement un script personnalisé, avec réversion automatique après 600 secondes.

d) Surveillance de fichiers en temps réel avec whodata

Le mode whodata du module FIM permet d'identifier précisément qui a modifié un fichier (utilisateur, processus), et pas seulement quoi a changé :

<syscheck>
  <directories check_all="yes" realtime="yes" whodata="yes">/etc,/var/www</directories>
  <directories check_all="yes" whodata="yes">C:\Users\Administrateur\Documents</directories>
</syscheck>

Sous Linux, whodata nécessite l'activation d'audit (auditd). Sous Windows, il s'appuie sur les journaux d'audit du système de fichiers (SACL).

e) Listes CDB pour un filtrage avancé

Les listes CDB permettent de comparer un champ (IP, utilisateur, hash) à une liste externe pour affiner une règle, par exemple une liste noire d'IP :

# Création de la liste
echo "203.0.113.5:blackip" > /var/ossec/etc/lists/ip-blacklist
/var/ossec/bin/wazuh-cdb-list -u /var/ossec/etc/lists/ip-blacklist

Puis référencée dans une règle personnalisée :

<rule id="100100" level="12">
  <if_sid>5716</if_sid>
  <list field="srcip" lookup="address_match_key">etc/lists/ip-blacklist</list>
  <description>Connexion depuis une IP blacklistée</description>
</rule>

f) Optimisation des performances et rétention des données

g) Automatisation via l'API Wazuh

L'API REST (port 55000) permet d'automatiser des tâches : ajout d'agents en masse, extraction d'alertes, gestion des règles, intégration dans des scripts ou des outils tiers (SOAR, ticketing).

# Authentification
curl -u wazuh-wui:motdepasse -k -X POST "https://<IP_MANAGER>:55000/security/user/authenticate"

# Exemple : lister les agents déconnectés
curl -k -X GET "https://<IP_MANAGER>:55000/agents?status=disconnected" \
  -H "Authorization: Bearer <TOKEN>"
Attention : les configurations avancées (cluster, whodata, scripts de réponse active) doivent être testées d'abord sur un environnement de pré-production avant d'être déployées sur des systèmes critiques comme une plateforme e-banking.

10. Bonnes pratiques pour débuter

  1. Commencez par surveiller un petit nombre de machines critiques (ex : serveurs de production) avant de généraliser
  2. Ajustez le niveau de sévérité qui déclenche des notifications (évitez la surcharge d'alertes)
  3. Créez des tableaux de bord personnalisés selon vos priorités (par client, par type de menace)
  4. Sauvegardez régulièrement la configuration (/var/ossec/etc/ossec.conf)
  5. Mettez à jour Wazuh régulièrement (Manager, Indexer, Dashboard et agents doivent rester sur la même version majeure)
  6. Documentez les règles personnalisées créées, pour faciliter la maintenance en équipe

11. Ressources utiles