Wazuh : déployer un SIEM et un EDR avec Docker

Dans ce tutoriel, je vais vous expliquer comment déployer Wazuh à l’aide Docker.

Présentation de Wazuh

Pour commencer, je vais vous présenter Wazuh.

Wazuh se présente comme une plateforme de sécurité Open Source qui comprend deux « solutions » :

  • SIEM (Security Information and Event Management) qui va avoir pour fonction de collecter les logs des différents serveurs présent dans le Système d’Information à l’aide d’Agent et aussi de les analyser pour les présenter sous forme de Tableau de bord afin de pouvoir les utilisés.
  • EDR (Endpoint Detection an Response) avec l’analyse des logs en temps réel, si un comportement anormale est détecté, il est possible via l’agent d’appliquer des actions de remédiation comme bloquer une adresse IP d’un poste qui ferait des tentatives de brute force sur un ordinateur.

Wazuh permet aussi la détection de vulnérabilité sur les ordinateurs en analysant les correctifs installés et manquant.

Wazuh est capable d’analyser les logs de nombreux logiciels et matériels pour vous aidez à savoir ce qui se passe sur votre environnement, les informations sont remontés soit en installant un agent sur les ordinateurs ou en envoyant les données sur un serveur syslog qui est intégré à Wazuh.

Prérequis pour déployer Wazuh

Bien que disponible en conteneur, je vous conseille de dédier un serveur à Wazuh, car en fonction du nombre d’équipements qui vont connecté à Wazuh la consommation de ressource peut être assez élevés et impacter les performances des autres services.

Pour commencer, vous aurez besoin d’un serveur Linux (Ubuntu) avec Docker d’installé.

Concernant les prérequis matériel minimales :

  • 2 CPU
  • 8Go de RAOM
  • 200 Go d’espace disques.

Au niveau de la configuration du système, il faut ajuster le mappage de la mémoire.

Editer le fichier /etc/sysctl.conf

sudo nano /etc/sysctl.conf

A la fin du fichier ajouter la ligne suivante :

vm.max_map_count=262144

Redémarrer le serveur pour la prise en compte.

Ceci est facultatif, mais vous pouvez créer un enregistrement du type wazuh.domain.tld pour accéder à l’interface web.

Déployer Wazuh

Pour déployer Wazuh sur le serveur, on va utiliser le dépôt officiel qui propose un fichier docker-compose.yml prêt à être utilisé.

Pour commencer, j’ai créé un dossier /containers/wazuh/ qui va être l’emplacement ou je vais stocker le conteneur sur le serveur.

Dans le dossier home de mon utilisateur, je vais commencer par cloner le dépôt en utilisant la dernière branche stable :

git clone https://github.com/wazuh/wazuh-docker.git -b v4.7.3

On va faire déploiement simple de Wazuh avec un seul noeud.

On va copier les fichiers dans le repertoire /containers/wazuh/.

sudo mv wazuh-docker/single-node/* /containers/wazuh/

Aller dans le dossier /containers/wazuh/, vous devriez avoir les fichiers suivants :

wazuh folder

Editer le fichier docker-compose.yml et modifier la variable d’environment INDEX_PASSWORD (wazuh.manager et wazuh.dashboard) qui correspond au mot de passe du compte admin par défaut.

On commence par générer les certificats, entrer la commande suivante :

sudo docker compose -f generate-indexer-certs.yml run --rm generator

Télécharger les images des conteneurs :

sudo docker compose pull

Démarrer les conteneurs :

sudo docker compose up -d

Vérifier les logs pour vérifier que tout démarre bien .

sudo docker compose logs -f

Commencer à utiliser Wazuh

Dans cette partie, nous allons découvrir Wazuh.

Depuis un navigateur, accéder à l’interface Web https://ip-of-wazuh-server ou https://wazuh.domain.tlk

Si vous arrivez sur cette page patienter pendant le démarrage complet de Wazuh :

Sur le formulaire l’authentification entrer comme Username : admin et le mot de passe configuré dans le fichier docker-compose.yml

Patienter pendant le chargement …

On arrive sur la page principale, qui permet de naviguer vers les différents Modules de Wazuh.

Installer l’agent Wazuh sur Windows

Afin de pouvoir alimenter Wazuh, il est nécessaire d’installer un agent sur les ordinateurs Windows.

Pour déployer le premier agent, il est possible d’accéder à la page de gestion des agents en cliquant sur Add agent.

Sinon, cliquer sur flèche en haut 1 puis sur Agents 2.

Sélectionner le système, ici on va choisir Windows en sélectionner MSI 32/64 bits 1, entrer ensuite l’adresse du serveur Wazuh 2.

En bas de la page, vous avez la ligne de commande a exécuté pour installer l’agent, 1 copier la.

Sur un serveur Windows, ouvrir une invite de commande PowerShell en administrateur, coller la commande d’installation et valider.

Patienter pendant le téléchargement et l’installation de l’agent.

Une fois l’agent installé, on retrouve les raccourcis dans le menu Démarrer.

Démarrer le service :

Start-Service WazuhSvg

Patienter quelques minutes, le temps que l’agent collecte les informations et les envoient au serveur Wazuh.

L’agent devrait être visible sur Wazuh :

Pour accéder de nouveau à la page de configuration de l’agent, depuis la liste des agents cliquer sur Deploy new agent.

Exploiter les informations remontés

En cliquant sur l’agent, on arrive sur le tableau dédié à celui-ci, où l’on va pouvoir naviguer dans les différents modules.

Si vous installez Wazuh, je vous invite à être curieux à regarder les différents éléments.

Un module que je trouve intéressant est Security configuration assessment qui va analyser les bonne pratiques au niveau de la configuration pour vérifier si elles sont respectées, pour ce qui ne l’ai pas, vous avez les corrections à appliquer avec des explications.

Information sur le module MITRE ATT&CK.

Activer le management des vulnérabilités

Un module également intéressant à exploiter au niveau sécurité est la détection des vulnérabilités qui n’est pas actif par défaut.

Ce module va analyser principalement les mises à jour afin de vérifier si des CVE sont exploitables.

Pour activer le module, depuis le serveur, éditer le fichier config/wazuh_cluster/wazuh_manager.conf.

sudo nano config/wazuh_cluster/wazuh_manager.conf

Chercher <wodle name="syscollector"> et ajouter dans la section <hotfixes>yes</hotfixes>

Chercher <vulnerability-detector> et changer no par yes <enabled>...</enables>.

Ensuite pour chaque système d’exploitation (OS) activer la détection en passer à yes <enabled>...</enabled>.

Sauvegarder les modifications puis redémarrer les conteneurs pour la prise en compte :

sudo docker compose down -v && sudo docker compose up -d

Pour vérifier la prise en compte dans Wazuh, on peut le voir dans Management / Configuration puis en cliquant sur Vulnerabilities.

Vérifier les vulnérabilités d’un serveur

Sur la capture ci-dessous, on peut voir le serveur à une vulnérabilité classée critique.

En cliquant sur la ligne, on obtient les détails de la vulnérabilité et quel correctif installé pour la réparer.

Conclusion

Vous savez comment déployer Wazuh et installer les agents sur Windows pour collecter les informations de sécurité et les analyser.

Si vous n’avez pas de SIEM ou d’EDR, je vous conseille de déployer Wazuh qui est totalement gratuit et qui va vous permettre d’avoir une première analyse de sécurité de votre système d’information.

D’autres tutoriels vont suivre sur Wazuh afin de vous aider à utiliser cet outil.




Laisser un commentaire