Installation de Wazuh sur debian

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.

Une image contenant texte, capture d’écran, Police, conception

Description générée automatiquement

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 :

Une image contenant texte, capture d’écran, conception

Description générée automatiquement

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
Une image contenant texte, capture d’écran, Police

Description générée automatiquement

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
Une image contenant texte, capture d’écran, Police

Description générée automatiquement

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 :

https://192.168.100.206/

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut