
Sommaire
Introduction
Wazuh est une plateforme open source de gestion de la sécurité (SIEM) et de détection des menaces conçue pour aider les entreprises à surveiller, détecter, analyser et répondre aux menaces de sécurité informatique.
Elle offre des fonctionnalités telles que la surveillance des journaux, la détection des intrusions, la gestion des vulnérabilités, la conformité réglementaire et la réponse aux incidents.
Wazuh fonctionne avec des agents pour collecter les données de sécurité des systèmes. Ces données sont ensuite analysées par Wazuh qui utilise des règles de détection pour identifier les comportements suspects. En cas de détection d’une activité malveillante, des alertes sont générées pour permettre une réponse immédiate.
Les administrateurs utilisent l’interface utilisateur de Wazuh pour examiner les alertes, analyser les données et prendre des mesures correctives. Cette approche permet une surveillance continue, une détection proactive des menaces et une réponse rapide aux incidents de sécurité.
Installation
Pour déployer Wazuh, trois composants doivent être installés : l’indexeur pour collecter les données de sécurité, le serveur pour analyser et détecter les menaces, ainsi que le tableau de bord pour visualiser et gérer les alertes générées.
Un lien directe vers la documentation officiel de wazuh pour l’installation :
https://documentation.wazuh.com/current/installation-guide/
Installation de l’indexeur
Installation des certificats
Wazuh met à disposition des outils pour nous faciliter la tâche. Nous allons récupérer un script pour créer les certificats et le fichier de configuration.
curl -sO https://packages.wazuh.com/4.7/wazuh-certs-tool.sh
curl -sO https://packages.wazuh.com/4.7/config.yml
On édite le fichier de configuration que l’on vient de récupérer config.yml pour ajouter l’adresse IP de notre serveur Wazuh.

Ensuite, on exécute le script bash pour créer les certificats .
bash ./wazuh-certs-tool.sh -A
On compresse les fichiers nécessaires
tar -cvf ./wazuh-certificates.tar -C ./wazuh-certificates/ .
Installation des prérequis et des depots
Nous allons ensuite installer les dépôts et les prérequis pour installer l’indexeur.
apt-get install debconf adduser procps
apt-get install gnupg apt-transport-https
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && 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" | tee -a /etc/apt/sources.list.d/wazuh.list
apt update
Installation et configuration de l’indexeur
La commande suivante va installer le binaire de l’indexeur
apt -y install wazuh-indexer
Et ensuite on configure l’indexeur :
nano /etc/wazuh-indexer/opensearch.yml
Et on remplace la ligne suivante par l’adresse IP de notre serveur Wazuh :
network.host: "192.168.1.206"
Ensuite nous allons déployer le certificat pour l’indexeur avec la création d’une variable d’environnement. La valeur node-1 est la même que vous avez renseigner dans votre fichier config.yml
NODE_NAME=node-1
Et on exécute ces commandes
mkdir /etc/wazuh-indexer/certs
tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
mv -n /etc/wazuh-indexer/certs/$NODE_NAME.pem /etc/wazuh-indexer/certs/indexer.pem
mv -n /etc/wazuh-indexer/certs/$NODE_NAME-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
chmod 500 /etc/wazuh-indexer/certs
chmod 400 /etc/wazuh-indexer/certs/*
chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs
Et on démarre les services
systemctl daemon-reload
systemctl enable wazuh-indexer
systemctl start wazuh-indexer
Ensuite on exécute un script qui nous permet de charger les certificats et de démarrer le cluster
/usr/share/wazuh-indexer/bin/indexer-security-init.sh
Si vous rencontrez l’erreur suivante :
runuser : commande introuvable
Il est nécessaire de faire cette commande pour ajouter sbin comme variable d’environnement
export PATH=/sbin:$PATH
Nous pouvons déjà réaliser un premier test pour vérifier que le cluster est fonctionnel
curl -k -u admin:admin https://192.168.100.206:9200

Installation du serveur wazuh
Ajout des prérequis et des dépôts
Vous pouvez ignorer cette étape si vous l’avez déjà réalisé pour l’indexeur !
apt-get install gnupg apt-transport-https
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && 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" | tee -a /etc/apt/sources.list.d/wazuh.list
apt-get update
Une fois les dépôts configurés, nous pouvons installer le paquet wazuh-manager
apt-get -y install wazuh-manager
On redémarre ensuite les services
systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager
On vérifie que le service est bien démarré
systemctl status wazuh-manager
Installation de filebeat
Nous allons installer filebeat qui est un outil open source conçu pour la collecte, l’expédition et la centralisation de journaux et de fichiers. Filebeat peut être utilisé conjointement avec Wazuh Manager pour envoyer des événements et des alertes à l’indexeur Wazuh.
apt-get -y install filebeat
On récupère le fichier de configuration
curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.7/tpl/wazuh/filebeat/filebeat.yml
Que nous allons éditer
nano /etc/filebeat/filebeat.yml
On modifie la ligne hosts :

Ensuite on crée un keystore pour filebeat puis on ajoute le compte admin
filebeat keystore create
echo admin | filebeat keystore add username --stdin --force
echo admin | filebeat keystore add password --stdin --force
On télécharge le template de wazuh qui contient les alertes pour l’indexeur
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.7.3/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json
Et on récupère le module pour filebeat
curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.3.tar.gz | tar -xvz -C /usr/share/filebeat/module
On déploie le certificat :
NODE_NAME=wazuh-1
mkdir /etc/filebeat/certs
tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem
chmod 500 /etc/filebeat/certs
chmod 400 /etc/filebeat/certs/*
chown -R root:root /etc/filebeat/certs
On démarre le service filebeat
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat
Et on test pour vérifier qu’il n’y a aucune erreur
filebeat test output

Installation du dashboard wazuh
Installation des prérequis et des dépôts
apt-get install debhelper tar curl libcap2-bin #debhelper version 9 or later
Ajout des dépôts
apt-get install gnupg apt-transport-https
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && 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" | tee -a /etc/apt/sources.list.d/wazuh.list
apt-get update
Installation du dashboard
apt-get -y install wazuh-dashboard
Nous allons éditer le fichier de configuration du dashboard
nano /etc/wazuh-dashboard/opensearch_dashboards.yml

Comme pour les autres, nous allons installer le certificat en exécutant ces lignes de commande :
NODE_NAME=dashboard
mkdir /etc/wazuh-dashboard/certs
tar -xf ./wazuh-certificates.tar -C /etc/wazuh-dashboard/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME.pem /etc/wazuh-dashboard/certs/dashboard.pem
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME-key.pem /etc/wazuh-dashboard/certs/dashboard-key.pem
chmod 500 /etc/wazuh-dashboard/certs
chmod 400 /etc/wazuh-dashboard/certs/*
chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs
Et on redémarre encore le service
systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard
On peut dorénavant se connecter au dashboard à l’adresse IP du serveur :
Les identifiants par défaut sont admin et admin !
Modifier les mots de passe des comptes
Wazuh met à disposition un script pour changer automatiquement tous les mots de passe des comptes.
On récupère le script
curl -so wazuh-passwords-tool.sh https://packages.wazuh.com/4.7/wazuh-passwords-tool.sh
Et on exécute le script pour changer les mots de passe
bash wazuh-passwords-tool.sh -a
Les nouveaux mots de passe seront indiqués dans l’output de la commande
Il est possible de renouveler le mot de passe d’un seul utilisateur avec la commande. Exemple si dessous avec l’utilisateur admin :
bash wazuh-passwords-tool.sh -u admin -p yourpassword
Vous pouvez également inclure les comptes API en plus des comptes indexeur avec l’option -au
Exemple :
sudo bash wazuh-passwords-tool.sh -a -au wazuh -ap yourpassword
Si en actualisant vous obtenez une erreur :

Pensez à supprimer les cookies de votre navigateur😉
Vous arrivez sur la page d’accueil ou vous aurez un rapide aperçu sur vos agents et divers menus pour naviguer dans l’interface.
Dans mon cas, j’ai 7 agents car j’en ai déjà installé mais vous aurez normalement 0 agents !

Conclusion
Nous avons vu le processus d’installation étape par étape de tous les composants de Wazuh ainsi que la sécurisation de l’accès en modifiant les mots de passe par défaut avec une présentation du tableau de bords. Nous allons voir prochainement comment installer des agents sur les hôtes et comment exploiter les données remontées par Wazuh.