Académique Documents
Professionnel Documents
Culture Documents
TP Cyb SuperSec
TP Cyb SuperSec
Supervision Sécurité
SYSTEME DE DETECTION d’INTRUSION
WAZUH
27/10/2023
Guillaume Lestel
Sadry Fievet
PLAN DE LA SÉANCE
PRÉSENTATION DE WAZUH................................................................................................. 2
Introduction...................................................................................................................2
Agent............................................................................................................................ 3
Serveur......................................................................................................................... 4
Tableau de bord............................................................................................................5
Indexeur....................................................................................................................... 6
INSTALLATION..................................................................................................................... 10
Prérequis.................................................................................................................... 10
Déploiement de Wazuh Docker..................................................................................10
Déploiement single-node............................................................................................ 11
Utilisations Wazuh-Docker..........................................................................................11
PRÉSENTATION DE WAZUH
Introduction
Wazuh est une plateforme gratuite et open source utilisée pour la prévention, la détection
et la réponse aux menaces. Il est capable de protéger les environnements sur site,
virtualisés, conteneurisés et basés sur le cloud.
Wazuh se compose d'un agent de sécurité déployé au niveau des endpoints sur les
systèmes surveillés et d'un serveur de gestion, qui collecte et analyse les données
collectées par les agents.
Entièrement intégré à la Suite Elastic qui fournit un moteur de recherche et un outil de
visualisation de données qui permettent aux utilisateurs de naviguer dans leurs alertes de
sécurité.
Il fournit une protection XDR et SIEM unifiée.
Il est composé d'un seul agent universel et de trois composants centraux.
Agent
Peut être déployé sur des ordinateurs portables, de bureaux, des serveurs, des instances
cloud, des conteneurs ou des machines virtuelles. Il aide à protéger le système en
fournissant des fonctionnalités de prévention, de détection et de réponse aux menaces. Il
collecte différents types de données système et applicatives qu'il transmet au serveur via un
canal crypté et authentifié.
L'agent a une architecture modulaire. Chaque composant est en charge de ses propres
tâches, notamment la surveillance du file system, la lecture des messages du journal (log),
la collecte des données d'inventaire, l'analyse de la configuration du système et la
recherche de logiciels malveillants. On peut gérer les modules d'agent via les paramètres
de configuration.
Tous les modules d'agent sont configurables et effectuent différentes tâches de sécurité.
On peut activer ou désactiver chaque composant.
Log Collector : Lit les fichiers journaux plats et les événements Windows, collectant les
messages des journaux du système d'exploitation et des applications. Il prend en charge les
filtres XPath pour les événements Windows et reconnaît les formats multilignes tels que les
journaux d'audit Linux. Il peut aussi enrichir les événements JSON avec des métadonnées.
Réponse active : exécute des actions automatiques lorsque des menaces sont détectées,
déclenchant des réponses pour bloquer une connexion réseau, arrêter un processus en
cours ou supprimer un fichier malveillant. On peut créer des réponses personnalisées si
nécessaire et personnaliser, par exemple, les réponses pour exécuter un binaire dans un
bac à sable, capturer le trafic réseau et analyser un fichier avec un antivirus.
Surveillance de la sécurité des conteneurs : intégré à l'API Docker Engine pour surveiller
les modifications dans un environnement conteneurisé. Il détecte les modifications
apportées aux images de conteneurs, à la configuration réseau ou aux volumes de données.
Il alerte sur les conteneurs exécutés en mode privilégié et sur les utilisateurs exécutant des
commandes dans un conteneur en cours d'exécution.
Surveillance de la sécurité du cloud : surveille les fournisseurs de cloud tels qu' AWS,
Azure ou GCP. Il communique nativement avec leurs API. Il est capable de détecter les
modifications apportées à l'infrastructure cloud (par exemple, un nouvel utilisateur est créé,
un groupe de sécurité est modifié, une instance cloud est arrêtée, etc.) et de collecter des
données de journalisation des services cloud (AWS Cloudtrail, AWS Macie, AWS).
GuardDuty, Azure Active Directory, etc.)
Serveur
L'agent communique avec le serveur pour expédier les données collectées et les
événements liés à la sécurité. Il envoie des données opérationnelles, signalant sa
configuration et son état. Une fois connecté, l'agent peut être mis à niveau, surveillé et
configuré à distance depuis le serveur.
La communication de l'agent avec le serveur s'effectue via un canal sécurisé (TCP ou UDP),
assurant le chiffrement et la compression des données en temps réel. Il contient des
mécanismes de contrôle de flux pour éviter les inondations, mettre les événements en file
d'attente si nécessaire et protéger la bande passante du réseau.
On doit inscrire l'agent avant de le connecter au serveur pour la première fois. Ce processus
fournit à l'agent une clé unique utilisée pour l'authentification et le cryptage des données.
Il utilise Filebeat pour envoyer des données d'alerte et d'évènement à l'indexeur (TLS).
Filebeat lit les données de sortie du serveur et les envoie à l'indexeur (9200/TCP).
Une fois les données indexées par l'indexeur, le tableau de bord est utilisé pour extraire et
visualiser les informations.
Tableau de bord
Interface Web flexible et intuitive permettant d'explorer, d'analyser et de visualiser les
événements de sécurité et les données d'alertes. Il est également utilisé pour la gestion et le
suivi de la plateforme Wazuh. Il fournit des fonctionnalités de contrôle d'accès basé sur les
rôles (RBAC) et d'authentification unique (SSO).
L'interface web aide les utilisateurs à naviguer à travers les différents types de données
collectées par l'agent, ainsi que les alertes de sécurité générées par le serveur. Les
utilisateurs peuvent également générer des rapports et créer des visualisations et des
tableaux de bord personnalisés.
Wazuh fournit des tableaux de bord prêts à l'emploi pour la conformité réglementaire telle
que PCI DSS, GDPR, HIPAA et NIST 800-53. Il fournit également une interface pour
naviguer dans le framework MITRE ATT&CK et les alertes associées.
Indexeur
C’est un moteur de recherche et d'analyse en texte intégral hautement
évolutif. Il indexe et stocke les alertes générées par le serveur et fournit
des capacités de recherche et d'analyse de données en temps quasi
réel. L'indexeur peut être configuré comme un cluster à nœud unique ou
multi-nœuds.
Il stocke les données sous forme de documents JSON.
Chaque document met en corrélation un ensemble de clés, de noms de
champs ou de propriétés, avec leurs valeurs correspondantes qui
peuvent être des chaînes, des nombres, des booléens, des dates, des
tableaux de valeurs, des géo localisations ou d'autres types de données.
Un index est une collection de documents liés les uns aux autres.
Les documents stockés dans l'indexeur sont répartis dans différents
conteneurs appelés fragments. En distribuant les documents sur
plusieurs fragments et en distribuant ces fragments sur plusieurs
nœuds, l'indexeur peut garantir la redondance. Cela protège votre
système contre les pannes matérielles et augmente la capacité de
requête à mesure que des nœuds sont ajoutés à un cluster.
Wazuh utilise quatre index différents pour stocker différents types
d'événements :
● wazuh‑alerts
Stocke les alertes générées par le serveur. Elles sont créées à
chaque fois qu'un événement déclenche une règle avec une
priorité suffisamment élevée.
● wazuh-archives
Stocke tous les événements (données d'archive) reçus par le
serveur, qu'ils déclenchent ou non une règle.
● wazuh-monitoring
Stocke les données liées au statut de l'agent au fil du temps.
Il est utilisé par l'interface Web pour indiquer quand des agents
individuels sont ou ont été actifs, déconnectés ou jamais
connectés.
● wazuh‑statistics
Stocke les données liées aux performances du serveur. Il est
utilisé par l'interface Web pour représenter les statistiques de
performances.
● /var/ossec/logs/archives/archives.json
tous les événements, qu'ils aient déclenché une règle ou non.
● /var/ossec/logs/alerts/alerts.json
uniquement les événements ayant déclenché une règle avec une priorité
suffisamment élevée (conf).
.
INSTALLATION
Si la solution Wazuh est multi plateforme et peut donc être déployée sur des serveurs,
laptops, ordinateurs de bureaux, clouds, vm ou conteneurs, nous allons, pour réaliser ce TP,
installer la version Docker
Prérequis
L'indexeur crée de nombreuses zones mappées en mémoire. Il faut alors configurer le
noyau (Linux) pour donner à un processus au moins 262 144 zones mappées en mémoire.
● Lancer la plateforme
# docker-compose up
username : admin
password : SecretPasswrd
Utilisations Wazuh-Docker
Une fois votre installation terminée, vous pouvez accéder à votre dashboard en allant sur
https://localhost
EXERCICE
Choisissez une attaque et réalisez une preuve de concept de sa détection.
Vous devez détailler au mieux chaque étape du processus de détection comme si
vous deviez réaliser un rapport d’incident.
Attention la forme autant que le fond seront notés. N’hésitez pas à ajouter des
captures d’écrans et schémas.
FIN DU DOCUMENT