📍 Article principal de la série : Wazuh 2026 : guide pratique.
Manager Wazuh installé, étape suivante : déployer agents sur tous les endpoints. Ce tutoriel détaille le déploiement bulk via Ansible et script bash, validé sur 10-50 VPS chez plusieurs PME ouest-africaines.
Prérequis
- Wazuh Manager en production (voir tutoriel installation).
- SSH key access vers VPS cibles.
- Ansible 2.14+ ou bash + sshpass.
- Niveau attendu : intermédiaire.
- Temps estimé : 30-60 minutes.
Méthode 1 — Script bash simple
Sur le Manager : générer authd password
cat /var/ossec/etc/authd.pass
# Note la passphrase (ou en générer une)
Script deploy.sh
#!/bin/bash
WAZUH_MANAGER="siem.votre-entreprise.com"
WAZUH_AGENT_PASSWORD="passphrase-from-manager"
# Détection OS
if [ -f /etc/debian_version ]; then
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
echo "deb https://packages.wazuh.com/4.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list
apt-get update
apt-get install -y wazuh-agent
fi
# Configurer Manager
sed -i "s/MANAGER_IP/${WAZUH_MANAGER}/g" /var/ossec/etc/ossec.conf
# Enregistrer auto
WAZUH_REGISTRATION_PASSWORD="${WAZUH_AGENT_PASSWORD}" \
/var/ossec/bin/agent-auth -m "${WAZUH_MANAGER}" -P
systemctl daemon-reload
systemctl enable --now wazuh-agent
Boucle SSH sur 10 VPS
for vps in vps1.fqdn vps2.fqdn vps3.fqdn; do
ssh root@$vps 'bash -s' < deploy.sh
done
Méthode 2 — Ansible (recommandé > 5 VPS)
Inventory hosts.ini
[wazuh_agents]
vps1.fqdn ansible_user=root
vps2.fqdn ansible_user=root
vps3.fqdn ansible_user=root
Playbook wazuh-agent.yml
---
- hosts: wazuh_agents
vars:
wazuh_manager: siem.votre-entreprise.com
wazuh_agent_password: "{{ lookup('env','WAZUH_REG_PASSWORD') }}"
tasks:
- name: Add Wazuh repo key
apt_key:
url: https://packages.wazuh.com/key/GPG-KEY-WAZUH
state: present
- name: Add Wazuh repo
apt_repository:
repo: deb https://packages.wazuh.com/4.x/apt/ stable main
state: present
- name: Install Wazuh agent
apt:
name: wazuh-agent
state: latest
update_cache: yes
- name: Configure Manager IP
replace:
path: /var/ossec/etc/ossec.conf
regexp: 'MANAGER_IP'
replace: '{{ wazuh_manager }}'
- name: Register agent
shell: |
WAZUH_REGISTRATION_PASSWORD={{ wazuh_agent_password }} /var/ossec/bin/agent-auth -m {{ wazuh_manager }} -P
args:
creates: /var/ossec/etc/client.keys
- name: Start service
systemd:
name: wazuh-agent
enabled: yes
state: restarted
Run
export WAZUH_REG_PASSWORD="passphrase"
ansible-playbook -i hosts.ini wazuh-agent.yml
Windows Server agent
PowerShell sur chaque Windows :
Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.10.0-1.msi -OutFile \$env:tmp\wazuh-agent.msi
msiexec /i \$env:tmp\wazuh-agent.msi /q WAZUH_MANAGER="siem.votre-entreprise.com" WAZUH_REGISTRATION_PASSWORD="passphrase"
Start-Service WazuhSvc
Vérification post-deploy
# Sur Manager
/var/ossec/bin/agent_control -l
# Liste tous agents avec status
Dashboard → Agents : voir tous, status « Active », OS détecté.
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| « Connection refused » | Port 1514/1515 firewall Manager | UFW allow from agents IPs |
| « Auth password incorrect » | authd.pass mal copié | Régénérer + redéployer |
| Agent « Disconnected » | Manager redémarré | Restart agent côté VPS |
| Hostname duplicate | Plusieurs agents même nom | Force unique hostname |
| Latence agent reports | Bandwidth limité | Réduire frequency send |
Ce que les retours d'expérience locaux ajoutent
Trois précisions. VPS chez plusieurs hébergeurs : Hetzner + OVH + Africa Data Centres. Wazuh agnostique, juste DNS Manager accessible. Tailscale recommandé : agents et Manager sur tailnet, ports privés, pas exposition publique. Auto-renaming : nommer agents par hostname + datacenter (ex : vps-prod-fsn1).
Tutoriels frères
FAQ
Capacité agents par Manager ? 1 000 par Manager standard. Cluster pour plus.
Mises à jour agents ? apt upgrade wazuh-agent automatique.
Container Docker ? Image agent existe pour environnements containerisés.
macOS ? Oui, .pkg installer.
Désinstallation ? apt purge wazuh-agent + remove from Manager.
Pour explorer plus loin
- 🔝 Retour au guide général : guide pratique Wazuh 2026
- Documentation Agents : documentation.wazuh.com/agents
Vous cherchez un hébergement web sérieux et abordable ?
Hostinger offre des serveurs avec installation WordPress en un clic et un panel simple. Notre équipe l'utilise au quotidien.
Lien d affiliation. Si vous achetez via ce lien, le blog reçoit une petite commission sans surcoût pour vous.
Étape 1 : choisir où installer le Wazuh Manager
Le Manager Wazuh est le cerveau qui reçoit les événements de tous les agents. Il doit tourner sur un VPS dédié, pas sur la même machine que vos applications. Pour une PME au Sénégal ou en Côte d'Ivoire qui supervise 5 à 20 VPS, un Hetzner CPX31 (4 vCPU, 8 Go RAM, 160 Go SSD, environ 14 EUR/mois soit 9 180 FCFA) est le bon dimensionnement en 2026 avec Wazuh 4.9.
Évitez les VPS à moins de 4 Go : OpenSearch (le moteur d'indexation embarqué dans Wazuh) consomme beaucoup de RAM et tombera en boucle de redémarrage. Le signal d'un sous-dimensionnement : systemctl status wazuh-indexer affiche des "OutOfMemoryError" dans les logs.
Étape 2 : installer le Manager via le script officiel
Wazuh fournit un script d'installation tout-en-un qui pose le manager, l'indexer (OpenSearch) et le dashboard sur le même hôte. C'est l'option recommandée pour démarrer.
curl -sO https://packages.wazuh.com/4.9/wazuh-install.sh
sudo bash ./wazuh-install.sh -a
Le script télécharge les paquets, génère les certificats internes, et démarre les trois services. Comptez 8 à 12 minutes selon la bande passante du VPS. À la fin, le mot de passe du compte admin est affiché dans le terminal : copiez-le immédiatement dans un gestionnaire de mots de passe, il ne sera plus jamais réaffiché.
Étape 3 : ouvrir le dashboard et vérifier l'état
Le dashboard Wazuh écoute sur le port 443 du VPS Manager. Connectez-vous via https://IP_DU_MANAGER avec l'utilisateur admin et le mot de passe noté à l'étape 2. Le navigateur affichera un avertissement de certificat auto-signé : c'est attendu pour une installation initiale.
Naviguez vers Server Management → Status. Vous devez voir wazuh-manager, wazuh-indexer et wazuh-dashboard tous en "running". Si l'un est "stopped", consultez journalctl -u wazuh-indexer -n 100 pour identifier le problème, le plus souvent un manque de mémoire ou un port déjà utilisé.
Étape 4 : préparer les VPS cibles à recevoir l'agent
Sur chaque VPS à superviser (serveurs web Nginx, bases Postgres, applications Node), installez le paquet wazuh-agent. La commande exacte dépend de la distribution. Pour Ubuntu 24.04 (le plus courant en 2026) :
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
sudo chmod 644 /usr/share/keyrings/wazuh.gpg
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 update
sudo apt install wazuh-agent
L'agent est installé mais pas encore démarré : il manque l'enrôlement auprès du manager.
Étape 5 : enrôler chaque agent avec une clé unique
Sur le manager, générez une clé d'enrôlement par agent. Wazuh propose deux méthodes : enrôlement automatique via authd (port 1515) ou ajout manuel via l'interface. Pour 5 à 20 agents, le manuel reste plus traçable.
# Sur le manager
sudo /var/ossec/bin/manage_agents
# Choisir A (Add), saisir le nom (ex: web-dakar-01), l'IP source
# Choisir E (Extract), copier la clé base64 affichée
# Sur l'agent
sudo /var/ossec/bin/manage_agents
# Choisir I (Import), coller la clé
sudo systemctl enable --now wazuh-agent
Le marqueur de succès : sur le dashboard du manager, dans Agents → Overview, le nouvel agent apparaît en "Active" sous 30 secondes.
Étape 6 : activer les règles utiles pour une PME
Wazuh livre 3 000+ règles par défaut. La plupart ne sont pas pertinentes pour une PME. Activez en priorité : détection de connexions SSH brute-force (règle 5710), modification de fichiers critiques sous /etc (FIM, File Integrity Monitoring), tentatives de privilege escalation (sudo non autorisé), et présence de processus inhabituels (rootcheck).
Désactivez les règles bruyantes inutiles dans votre contexte : audit Windows si vous n'avez que du Linux, règles AWS CloudTrail si vous êtes sur Hetzner, règles Office 365 si vous n'utilisez pas Microsoft 365. Cela réduit le bruit et rend les vraies alertes visibles.
Étape 7 : router les alertes critiques vers WhatsApp Business
Wazuh peut déclencher des "Active Responses" et des "Integrators". Créez un integrator personnalisé qui envoie les alertes de niveau 10+ (intrusion confirmée) vers un webhook. Ce webhook est un petit relais Node.js qui appelle l'API WhatsApp Cloud (Graph API v25.0) pour notifier l'admin réseau sur son téléphone.
# /var/ossec/etc/ossec.conf (extrait)
<integration>
<name>custom-whatsapp</name>
<hook_url>https://relay.mapme.sn/wazuh-to-whatsapp</hook_url>
<level>10</level>
<alert_format>json</alert_format>
</integration>
Pour une équipe IT à Dakar ou à Abidjan qui n'est pas devant un écran 24h/24, recevoir l'alerte sur WhatsApp en moins de 30 secondes change la donne face à une compromission en cours.
Étape 8 : centraliser les logs avec Filebeat (option avancée)
Si vous voulez aussi centraliser les logs Nginx, Postgres ou applicatifs, ajoutez Filebeat sur chaque agent et faites pointer la sortie vers l'OpenSearch du manager. Cela transforme Wazuh en SIEM complet, pas seulement en HIDS. Le coût en RAM côté manager monte rapidement : passez à un Hetzner CPX41 (8 vCPU, 16 Go) au-delà de 10 sources de logs.
Pour démarrer, restez sur la configuration Wazuh seule. Vous ajouterez Filebeat dans 3 à 6 mois quand vous saurez quels logs valent vraiment l'analyse centralisée.
Étape 9 : automatiser les mises à jour mensuelles
Wazuh publie une version mineure toutes les 4 à 6 semaines. Mettez à jour les agents via APT (apt upgrade wazuh-agent) après avoir mis à jour le manager. Ne sautez jamais une version majeure : la rétro-compatibilité agent ↔ manager est garantie sur ±1 version mineure seulement.
Sur un angle proche, consultez notre guide Coolify sur Hetzner et le tutoriel sécurisation d'un VPS Ubuntu. Avec un Manager Wazuh + 10 agents sur des VPS Hetzner, une PME ouest-africaine couvre l'essentiel de la détection d'intrusion pour environ 25 EUR/mois (16 400 FCFA) tout compris, soit le coût d'un déjeuner d'équipe par mois.
Étape 1 : choisir où installer le Wazuh Manager
Le Manager Wazuh est le cerveau qui reçoit les événements de tous les agents. Il doit tourner sur un VPS dédié, pas sur la même machine que vos applications. Pour une PME au Sénégal ou en Côte d'Ivoire qui supervise 5 à 20 VPS, un Hetzner CPX31 (4 vCPU, 8 Go RAM, 160 Go SSD, environ 14 EUR/mois soit 9 180 FCFA) est le bon dimensionnement en 2026 avec Wazuh 4.9.
Évitez les VPS à moins de 4 Go : OpenSearch (le moteur d'indexation embarqué dans Wazuh) consomme beaucoup de RAM et tombera en boucle de redémarrage. Le signal d'un sous-dimensionnement : systemctl status wazuh-indexer affiche des "OutOfMemoryError" dans les logs.
Étape 2 : installer le Manager via le script officiel
Wazuh fournit un script d'installation tout-en-un qui pose le manager, l'indexer (OpenSearch) et le dashboard sur le même hôte. C'est l'option recommandée pour démarrer.
curl -sO https://packages.wazuh.com/4.9/wazuh-install.sh
sudo bash ./wazuh-install.sh -a
Le script télécharge les paquets, génère les certificats internes, et démarre les trois services. Comptez 8 à 12 minutes selon la bande passante du VPS. À la fin, le mot de passe du compte admin est affiché dans le terminal : copiez-le immédiatement dans un gestionnaire de mots de passe, il ne sera plus jamais réaffiché.
Étape 3 : ouvrir le dashboard et vérifier l'état
Le dashboard Wazuh écoute sur le port 443 du VPS Manager. Connectez-vous via https://IP_DU_MANAGER avec l'utilisateur admin et le mot de passe noté à l'étape 2. Le navigateur affichera un avertissement de certificat auto-signé : c'est attendu pour une installation initiale.
Naviguez vers Server Management → Status. Vous devez voir wazuh-manager, wazuh-indexer et wazuh-dashboard tous en "running". Si l'un est "stopped", consultez journalctl -u wazuh-indexer -n 100 pour identifier le problème, le plus souvent un manque de mémoire ou un port déjà utilisé.
Étape 4 : préparer les VPS cibles à recevoir l'agent
Sur chaque VPS à superviser (serveurs web Nginx, bases Postgres, applications Node), installez le paquet wazuh-agent. La commande exacte dépend de la distribution. Pour Ubuntu 24.04 (le plus courant en 2026) :
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
sudo chmod 644 /usr/share/keyrings/wazuh.gpg
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 update
sudo apt install wazuh-agent
L'agent est installé mais pas encore démarré : il manque l'enrôlement auprès du manager.
Étape 5 : enrôler chaque agent avec une clé unique
Sur le manager, générez une clé d'enrôlement par agent. Wazuh propose deux méthodes : enrôlement automatique via authd (port 1515) ou ajout manuel via l'interface. Pour 5 à 20 agents, le manuel reste plus traçable.
# Sur le manager
sudo /var/ossec/bin/manage_agents
# Choisir A (Add), saisir le nom (ex: web-dakar-01), l'IP source
# Choisir E (Extract), copier la clé base64 affichée
# Sur l'agent
sudo /var/ossec/bin/manage_agents
# Choisir I (Import), coller la clé
sudo systemctl enable --now wazuh-agent
Le marqueur de succès : sur le dashboard du manager, dans Agents → Overview, le nouvel agent apparaît en "Active" sous 30 secondes.
Étape 6 : activer les règles utiles pour une PME
Wazuh livre 3 000+ règles par défaut. La plupart ne sont pas pertinentes pour une PME. Activez en priorité : détection de connexions SSH brute-force (règle 5710), modification de fichiers critiques sous /etc (FIM, File Integrity Monitoring), tentatives de privilege escalation (sudo non autorisé), et présence de processus inhabituels (rootcheck).
Désactivez les règles bruyantes inutiles dans votre contexte : audit Windows si vous n'avez que du Linux, règles AWS CloudTrail si vous êtes sur Hetzner, règles Office 365 si vous n'utilisez pas Microsoft 365. Cela réduit le bruit et rend les vraies alertes visibles.
Étape 7 : router les alertes critiques vers WhatsApp Business
Wazuh peut déclencher des "Active Responses" et des "Integrators". Créez un integrator personnalisé qui envoie les alertes de niveau 10+ (intrusion confirmée) vers un webhook. Ce webhook est un petit relais Node.js qui appelle l'API WhatsApp Cloud (Graph API v25.0) pour notifier l'admin réseau sur son téléphone.
# /var/ossec/etc/ossec.conf (extrait)
<integration>
<name>custom-whatsapp</name>
<hook_url>https://relay.mapme.sn/wazuh-to-whatsapp</hook_url>
<level>10</level>
<alert_format>json</alert_format>
</integration>
Pour une équipe IT à Dakar ou à Abidjan qui n'est pas devant un écran 24h/24, recevoir l'alerte sur WhatsApp en moins de 30 secondes change la donne face à une compromission en cours.
Étape 8 : centraliser les logs avec Filebeat (option avancée)
Si vous voulez aussi centraliser les logs Nginx, Postgres ou applicatifs, ajoutez Filebeat sur chaque agent et faites pointer la sortie vers l'OpenSearch du manager. Cela transforme Wazuh en SIEM complet, pas seulement en HIDS. Le coût en RAM côté manager monte rapidement : passez à un Hetzner CPX41 (8 vCPU, 16 Go) au-delà de 10 sources de logs.
Pour démarrer, restez sur la configuration Wazuh seule. Vous ajouterez Filebeat dans 3 à 6 mois quand vous saurez quels logs valent vraiment l'analyse centralisée.
Étape 9 : automatiser les mises à jour mensuelles
Wazuh publie une version mineure toutes les 4 à 6 semaines. Mettez à jour les agents via APT (apt upgrade wazuh-agent) après avoir mis à jour le manager. Ne sautez jamais une version majeure : la rétro-compatibilité agent ↔ manager est garantie sur ±1 version mineure seulement.
Pour étoffer le tableau, consultez notre guide Coolify sur Hetzner et le tutoriel sécurisation d'un VPS Ubuntu. Avec un Manager Wazuh + 10 agents sur des VPS Hetzner, une PME ouest-africaine couvre l'essentiel de la détection d'intrusion pour environ 25 EUR/mois (16 400 FCFA) tout compris, soit le coût d'un déjeuner d'équipe par mois.