Vous êtes sur la page 1sur 11

TP

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.

Le diagramme ci-dessous représente l'architecture et les composants de l'agent

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.

Command execution : les agents exécutent périodiquement des commandes autorisées,


collectent leur sortie et la renvoient au serveur pour une analyse plus approfondie. On l’
utilise pour surveiller l'espace disque restant ou obtenir une liste des derniers utilisateurs
connectés.

Surveillance de l'intégrité des fichiers (FIM) : surveille le système de fichiers et signale


lorsque les fichiers sont créés, supprimés ou modifiés. Il assure le suivi des modifications
apportées aux attributs, aux autorisations, à la propriété et au contenu des fichiers.
Lorsqu’un événement se produit, il capture les détails de qui, quoi et quand en temps réel.
FIM crée et maintient une base de données avec l'état des fichiers surveillés, permettant
d'exécuter des requêtes à distance.

Évaluation de la configuration de sécurité (SCA) : fournit une évaluation continue de la


configuration, à l'aide de vérifications basées sur les références du Center of Internet
Security (CIS). Les utilisateurs peuvent également créer leurs propres contrôles SCA pour
surveiller et appliquer leurs politiques de sécurité.

Inventaire du système : exécute périodiquement des analyses, collecte des données


d'inventaire telles que la version du système d'exploitation, les interfaces réseau, les
processus en cours d'exécution, les applications installées et une liste des ports ouverts. Les
résultats de l'analyse sont stockés dans des bases de données SQLite locales qui peuvent
être interrogées à distance. Détection des malwares : Grâce à une approche non basée sur
la signature, ce composant est capable de détecter des anomalies et la présence éventuelle
de rootkits. Il recherche les processus cachés, les fichiers cachés et les ports cachés tout en
surveillant les appels système.

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.

Vous pouvez interagir avec le cluster d'indexeur à l'aide de l'API REST


de l'indexeur qui offre une grande flexibilité. Vous pouvez effectuer des
recherches, ajouter ou supprimer des documents, modifier des index,
etc.
Voici un exemple de requête adressée à l'indexeur qui renvoie la
dernière alerte de mouvement latéral à l'aide de la technique SSH :
L'indexeur est adapté aux cas d'utilisation urgents tels que l'analyse de
sécurité et la surveillance des infrastructures, car il s'agit d'une
plate-forme de recherche en temps quasi réel. Le temps de latence
entre le moment où un document est indexé et celui où il devient
consultable est très court, généralement une seconde.

L’ indexeur dispose de plusieurs fonctionnalités intégrées puissantes qui


rendent le stockage et la recherche de données encore plus efficaces,
telles que le cumul de données, les alertes, la détection d'anomalies et
la gestion du cycle de vie des index.
L'agent envoie en permanence des événements au serveur pour analyse et détection des
menaces. Pour commencer à envoyer ces données, il établit une connexion avec le serveur
qui écoute par défaut sur le port 1514.
Le serveur décode et vérifie ensuite les événements reçus, à l'aide du moteur d'analyse.
Les événements qui déclenchent une règle sont complétés par des données d'alerte telles
que l'ID et le nom de la règle. Les événements peuvent être spoulés vers l'un ou les deux
fichiers suivants, selon qu'une règle est déclenchée ou non :

● /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.

Vérifions maintenant que Docker et Docker-compose sont bien installés

Déploiement de Wazuh Docker


On peut déployer Wazuh en single-node ou multi-node :

● single-node : déploie un gestionnaire Wazuh, un indexeur et un nœud de tableau


de bord.

● multi-node : déploie 2 nœuds de gestionnaire (un maître et un travailleur), 3 nœuds


d'indexeur et 1 nœud de tableau de bord.

Les deux déploiements utilisent la persistance et permettent de configurer des certificats


pour sécuriser les communications entre les nœuds. La pile multi-nœuds est le seul
déploiement offrant une haute disponibilité.
Déploiement single-node
● Clonage du repo Github
# git clone https://github.com/wazuh/wazuh-docker.git -b v4.5.4

● Génération des certificats pour tous les noeuds


Dans le dossier wazuh-docker/single-node :
# docker-compose -f generate-indexer-certs.yml run --rm generator

● 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

Ajouter ensuite un agent [EX]

Vérifier l’état de vos conteneurs


# docker ps

Accéder au terminal d’un conteneur:


# docker exec <service> bash

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.

Chaque attaque devra être unique pour 1 binôme :


vous devez nous indiquer quelle attaque vous avez choisi.

FIN DU DOCUMENT

Vous aimerez peut-être aussi