Wazuh 4.14 : déployer un SIEM/XDR open source sur Debian/Ubuntu

20 juillet 2026 — par admin_libra

La sécurité des infrastructures Linux ne se limite plus à un pare-feu et à quelques règles Fail2ban. Face à la sophistication croissante des cybermenaces en 2025-2026, les équipes système ont besoin d’une visibilité unifiée sur l’ensemble de leurs serveurs : détection d’intrusion en temps réel, surveillance de l’intégrité des fichiers, corrélation d’événements et conformité réglementaire. C’est précisément ce que propose Wazuh, une plateforme open source qui combine SIEM (Security Information and Event Management) et XDR (Extended Detection and Response) dans un seul outil.

Wazuh est le successeur direct d’OSSEC, refondé pour répondre aux exigences modernes. Avec plus de 15 millions d’endpoints protégés et 30 millions de téléchargements annuels, il s’impose comme la référence open source face aux solutions commerciales onéreuses comme Splunk ou IBM QRadar. La version 4.14, disponible en 2025-2026, apporte des améliorations significatives sur la détection des vulnérabilités, la sécurité des conteneurs Docker, et les tableaux de bord de conformité (PCI DSS, GDPR, HIPAA).

Dans ce guide, nous allons déployer un serveur Wazuh complet en mode all-in-one sur Debian 12 ou Ubuntu 24.04 LTS, puis installer des agents sur les serveurs à surveiller. Nous verrons ensuite comment configurer la surveillance de l’intégrité des fichiers (FIM), les réponses actives automatisées, et les tableaux de bord de conformité réglementaire.

Architecture de Wazuh

Wazuh s’articule autour de quatre composants qui travaillent ensemble pour collecter, analyser, stocker et visualiser les événements de sécurité :

  • Wazuh Agent : déployé sur chaque endpoint à surveiller (Linux, Windows, macOS). Il collecte les logs système, surveille les fichiers et exécute les réponses actives.
  • Wazuh Server (Manager) : le cerveau de la plateforme. Il reçoit les données des agents, les décode, les analyse et applique les règles de détection. Toutes les communications agent → serveur sont chiffrées en AES-256.
  • Wazuh Indexer : moteur de stockage et d’indexation basé sur OpenSearch. Il stocke les alertes et permet les recherches rapides sur de grands volumes de données.
  • Wazuh Dashboard : interface web accessible sur le port 443 (HTTPS), permettant de visualiser les alertes, les métriques de conformité et les tableaux de bord personnalisables.

Le flux de données est linéaire : Agent → Server → Indexer → Dashboard. Les ports réseau à ouvrir sur le pare-feu du serveur sont : 1514/TCP (communication agents), 1515/TCP (enregistrement agents), 55000/TCP (API REST), 9200/TCP (Indexer) et 443/TCP (Dashboard).

Prérequis matériels et logiciels

Pour un déploiement couvrant jusqu’à 100 agents, Wazuh recommande :

  • 8 vCPU, 8 Go de RAM minimum
  • 50 à 200 Go de stockage (selon la durée de rétention souhaitée)
  • Debian 12 (Bookworm) ou Ubuntu 22.04/24.04 LTS, en 64 bits obligatoirement
  • Accès root ou sudo, et une connexion Internet pour récupérer les paquets

Installation du serveur Wazuh (all-in-one)

Wazuh fournit un script d’installation automatisé qui déploie les quatre composants sur un seul serveur. C’est la méthode recommandée pour commencer.

Téléchargement et exécution du script

# Télécharger le script d'installation
curl -sO https://packages.wazuh.com/4.14/wazuh-install.sh

# Lancer l'installation all-in-one
# L'option -a installe Server + Indexer + Dashboard sur le même hôte
sudo bash ./wazuh-install.sh -a

L’installation dure entre 10 et 20 minutes selon les performances du serveur. À la fin, le script affiche les identifiants générés automatiquement pour accéder au dashboard :

INFO: --- Summary ---
INFO: You can access the web interface https://<WAZUH_DASHBOARD_IP>
    User: admin
    Password: <GENERATED_PASSWORD>
INFO: Installation finished.

Notez impérativement ce mot de passe. Connectez-vous ensuite à https://IP_DU_SERVEUR pour accéder au tableau de bord.

Vérifier l’état des services

# Vérifier que les trois services sont actifs
sudo systemctl status wazuh-manager
sudo systemctl status wazuh-indexer
sudo systemctl status wazuh-dashboard

# Vérifier les ports en écoute
sudo ss -tlnp | grep -E '1514|1515|9200|443|55000'

Déploiement des agents sur Debian/Ubuntu

Chaque serveur à surveiller doit recevoir l’agent Wazuh. Les commandes suivantes sont à exécuter sur les machines clientes (non sur le serveur Wazuh).

Ajout du dépôt Wazuh

# Installer les dépendances nécessaires
sudo apt-get install -y gnupg apt-transport-https curl

# Importer la clé GPG officielle
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH 
  | gpg --no-default-keyring 
        --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg 
        --import
sudo chmod 644 /usr/share/keyrings/wazuh.gpg

# Ajouter le dépôt stable
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] 
  https://packages.wazuh.com/4.x/apt/ stable main" 
  | sudo tee /etc/apt/sources.list.d/wazuh.list

sudo apt-get update

Installation et enregistrement de l’agent

# Remplacer 192.168.1.10 par l'adresse IP de votre serveur Wazuh
sudo WAZUH_MANAGER="192.168.1.10" apt-get install -y wazuh-agent

# Activer et démarrer l'agent
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

# Vérifier la connexion au manager
sudo systemctl status wazuh-agent

Dans le dashboard Wazuh, l’agent apparaît sous quelques secondes dans la section Agents avec le statut Active.

Configuration de la surveillance de l’intégrité des fichiers (FIM)

Le module FIM (File Integrity Monitoring) est l’une des fonctionnalités les plus puissantes de Wazuh. Il calcule des checksums cryptographiques des fichiers surveillés et déclenche une alerte dès qu’une modification, création ou suppression est détectée — une exigence explicite des standards PCI DSS 11.5.2 et GDPR.

La configuration se fait dans /var/ossec/etc/ossec.conf sur chaque agent :

# Éditer la configuration de l'agent
sudo nano /var/ossec/etc/ossec.conf

Dans le bloc <syscheck>, ajoutez les répertoires critiques à surveiller :

<syscheck>
  <!-- Activer la surveillance en temps réel -->
  <directories realtime="yes">/etc,/usr/bin,/usr/sbin</directories>
  <directories realtime="yes" report_changes="yes">/var/www</directories>
  <directories check_all="yes">/boot</directories>

  <!-- Exclure les fichiers temporaires bruyants -->
  <ignore>/etc/mtab</ignore>
  <ignore>/etc/hosts.deny</ignore>
  <ignore type="sregex">.log$|.tmp$</ignore>
</syscheck>
# Redémarrer l'agent pour appliquer la configuration
sudo systemctl restart wazuh-agent

Réponse active automatisée

La réponse active permet à Wazuh de réagir automatiquement aux menaces détectées, par exemple en bloquant une adresse IP après plusieurs tentatives d’authentification échouées. Cette intégration avec nftables ou iptables est configurée côté serveur dans /var/ossec/etc/ossec.conf du manager :

<active-response>
  <!-- Bloquer automatiquement les IP en brute force SSH -->
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>5763</rules_id>  <!-- Règle : échecs SSH répétés -->
  <timeout>600</timeout>     <!-- Blocage pendant 10 minutes -->
</active-response>
# Appliquer sur le serveur Wazuh
sudo systemctl restart wazuh-manager

# Vérifier les logs de réponse active
sudo tail -f /var/ossec/logs/active-responses.log

Conformité réglementaire : GDPR, PCI DSS, HIPAA

Wazuh intègre nativement des tableaux de bord de conformité accessibles directement depuis le dashboard. Chaque alerte est automatiquement tagguée avec les références réglementaires correspondantes (ex. : GDPR IV 35.7.d, PCI DSS 10.2.1). Pour activer ces modules dans le dashboard, accédez à Wazuh → Modules → Regulatory Compliance.

Pour générer un rapport de conformité depuis la ligne de commande :

# Lister les alertes liées à PCI DSS via l'API REST
curl -k -u admin:<MOT_DE_PASSE> 
  "https://localhost:55000/security/reports?pretty=true" 
  -H "Authorization: Bearer $(curl -sk -u admin:<MOT_DE_PASSE> 
  https://localhost:55000/security/user/authenticate?raw=true)"

Surveillance des conteneurs Docker

Wazuh surveille nativement les événements Docker via son module d’écoute du socket Docker. Activez-le dans la configuration de l’agent :

<wodle name="docker-listener">
  <interval>10m</interval>
  <attempts>5</attempts>
  <run_on_start>yes</run_on_start>
  <disabled>no</disabled>
</wodle>

Cette configuration déclenche des alertes lors de la création ou suppression de conteneurs, de modifications d’images, ou d’exécution de commandes privilégiées (docker exec).

Bonnes pratiques de production

  • Rotation des logs : configurez logrotate pour /var/ossec/logs/ afin d’éviter la saturation du disque.
  • Cloisonnement réseau : placez le serveur Wazuh sur un VLAN dédié, inaccessible directement depuis Internet. Exposez uniquement le port 443 via un reverse proxy.
  • Haute disponibilité : pour les environnements critiques, déployez un cluster multi-nœuds avec plusieurs instances d’indexer en réplication.
  • Mises à jour régulières : exécutez apt-get upgrade wazuh-agent wazuh-manager wazuh-indexer wazuh-dashboard lors de chaque nouvelle version pour bénéficier des dernières règles de détection.
  • Sauvegardes : sauvegardez régulièrement /var/ossec/etc/ (configuration) et le répertoire de l’indexer.

À lire également

Références

Index complet

Tous les articles (58)

Date Article Tags
20/07/2026 SSL : Certificat Let's Encrypt avec Certbot sur Debian/Ubuntu (sans Snap) apache certbot certificat 20/07/2026 MariaDB : Tuning mariadb server sous debian / ubuntu et operation de maintenance sauvegarde/restauration debian innodb maintenance 20/07/2026 MariaDB : Mise en place d'une réplication Master → Slave base-de-données binlog debian 20/07/2026 OpenSVC : piloter des conteneurs LXC sur datasets ZFS avec snapshots et réplication sous Debian/Ubuntu conteneurs debian haute-disponibilité 20/07/2026 SCREEN : utilisation et cas d'usage des screens sous Linux administration bash debian 20/07/2026 EtherPAD : installation et configuration d'Etherpad collaboration debian editeur-collaboratif 20/07/2026 Wazuh 4.14 : déployer un SIEM/XDR open source sur Debian/Ubuntu compliance debian fim 20/07/2026 Incus 7.x : gérer conteneurs système et VMs sur Debian/Ubuntu — le successeur communautaire de LXD conteneurs debian incus 20/07/2026 Restic : sauvegardes incrémentielles chiffrées sur Debian et Ubuntu backup chiffrement debian 20/07/2026 Restic : sauvegardes chiffrées et dédupliquées sur Debian/Ubuntu automatisation backup chiffrement 30/06/2026 PHP : gérer plusieurs versions PHP-FPM avec les dépôts Sury sur Debian/Ubuntu administration apache debian 22/06/2026 OS : Cycle de vie LTS et mise à jour des distributions — apt dist-upgrade et do-release-upgrade sous Debian / Ubuntu apt cycle-de-vie debian 17/06/2026 APT : Guide complet de la gestion des paquets sous Debian et Ubuntu administration apt debian 17/06/2026 SHELL : Guide des commandes les plus usuelles et commandes couteau suisse awk bash commandes 17/06/2026 SUDO : implémentation et sécurisation des accès sur Debian/Ubuntu administration audit authentification 17/06/2026 ProFTPd : authentification MySQL centralisée, FTPs (SSL) et SFTP sur Debian/Ubuntu authentification debian ftp 09/06/2026 Fail2ban — configuration avancée et filtres personnalisés bruteforce debian fail2ban 07/06/2026 Docker : comment récupérer de l'espace disque cache conteneurs debian 07/06/2026 Graylog 7 — Centralisation et analyse de logs : l'alternative à ELK sur Debian/Ubuntu centralisation debian elk 07/06/2026 OpenZFS : tiering avec L2ARC et SLOG pour les workloads mixtes cache l2arc nvme 07/06/2026 Scripting Bash avancé — pièges, bonnes pratiques et optimisation automatisation bash bonnes-pratiques 07/06/2026 AppArmor sur Debian/Ubuntu : profils, modes et confinement applicatif apparmor audit confinement 07/06/2026 Durcissement SSH — au-delà des clés publiques 2fa authentification cryptographie 27/05/2026 LXD 6.x : orchestration de conteneurs Linux avec profils et clustering administration clustering conteneurs 27/05/2026 Keepalived — VIP flottante et load balancing sans matériel dédié debian failover haute-disponibilité 27/05/2026 Btrfs sur Linux — snapshots, sous-volumes et compression en pratique administration btrfs compression 21/05/2026 CVE-2026-42945 (NGINX Rift) : analyse et remédiation sur Debian/Ubuntu cve debian heap-overflow 21/05/2026 Tuning kernel Linux — paramètres sysctl essentiels pour la production debian kernel mémoire 21/05/2026 DRBD : réplication de blocs entre deux serveurs en temps réel cluster debian drbd 15/05/2026 CVE-2026-23918 — vulnérabilité Apache 2.4.66 : analyse et correctifs sur Debian/Ubuntu (hors Debian 11) apache cve debian 15/05/2026 CVE-2026-31431 (Copy Fail) — Analyse et remédiation sur Debian/Ubuntu algif_aead copy-fail cve 12/05/2026 Pacemaker et Corosync — cluster haute disponibilité Linux cluster corosync debian 12/05/2026 WireGuard : monter un VPN mesh entre plusieurs serveurs Linux chiffrement linux mesh 12/05/2026 Netdata — monitoring temps réel sans configuration complexe alertes dashboard linux 12/05/2026 nftables en pratique — remplacer iptables sur Debian/Ubuntu debian firewall iptables 12/05/2026 Podman : alternative rootless à Docker — installation et migration conteneurs docker kubernetes 02/05/2026 Prometheus et Grafana sur Debian — installation, configuration et dashboards pratiques alertmanager dashboard debian 02/05/2026 Ansible : automatiser la gestion de serveurs Linux avec des playbooks administration ansible automation 28/04/2026 ZFS sur Linux : snapshots, clones et RAID-Z en pratique administration compression filesystem 28/04/2026 eBPF sur Linux : observabilité et traçage kernel avec bpftrace et BCC bcc bpftrace diagnostic 23/04/2026 Analyse de la mémoire sur Linux — vmstat, free, smem diagnostic mémoire monitoring 23/04/2026 Sécurité Linux — Firewall iptables et nftables firewall iptables nftables 23/04/2026 ZFS sur Linux — Installation et gestion avancée administration filesystem stockage 23/04/2026 Gestion des services avec systemd sur Debian et Ubuntu administration debian services 23/04/2026 Gestion des ressources cgroups v1/v2 avec LXC cgroups conteneurs lxc 23/04/2026 Centralisation logs avec ELK Stack — Elasticsearch, Kibana, Filebeat elasticsearch elk filebeat 23/04/2026 Supervision avec Zabbix 7.0 LTS sur Debian/Ubuntu debian monitoring supervision 23/04/2026 Plusieurs versions PHP-FPM sur Apache Debian/Ubuntu apache debian php-fpm 23/04/2026 Sécurisation avancée PHP-FPM — Multi-VirtualHosts Apache/Nginx apache nginx php-fpm 23/04/2026 Optimisation PHP-FPM — Guide de tuning d'un pool optimisation performance php-fpm 29/07/2025 Docker sur Debian/Ubuntu : Installation, Configuration et Utilisation conteneurs debian docker 03/07/2025 Serveur VPN WireGuard sous linux réseau sécurité vpn 03/07/2025 Authentification par clé publique sur un serveur SSH authentification cryptographie sécurité 27/06/2025 Surveillance et diagnostic d’un serveur Linux avec vmstat, iotop et htop diagnostic htop monitoring 27/06/2025 Mémoire : Utilisation des Huge Pages et implémentation hugepages mémoire noyau 27/06/2025 Mémoire Swap et paramétrage swappiness mémoire noyau performance 18/06/2025 Installation et Configuration des Conteneurs LXC sur Linux administration conteneurs lxc 18/06/2025 Gestion des journaux avec syslog et journalctl administration journalctl logs