← Accueil

PCTAMALOU

Semaine 27 : Les Yeux de la Cité – Introduction aux SIEM et Centralisation des Logs

Par Platon-Y – pctamalou.fr & e-of-h.fr

🎯 Objectif de la semaine

Maîtriser les concepts SIEM et implémenter Wazuh : installer un système de centralisation des logs, déployer des agents, et visualiser les événements en temps réel. Première étape du Trimestre 3 (Défense Active) – transformer des logs passifs éparpillés en surveillance active unifiée.

Pourquoi c'est fondamental : Un réseau sans SIEM est une Cité sans yeux. Les attaquants comptent sur la fragmentation des logs pour passer inaperçus. Un SIEM est votre première ligne de défense détective.

flowchart TD subgraph "🏙️ Sources de Logs" W[Windows Server
Event Logs] L[Linux Server
Syslog/Auditd] R[Routeurs/Firewalls
Netflow/Syslog] A[Applications
Apache/NGINX/SQL] end subgraph "📡 Collecte" AG1[Agent Wazuh
sur Windows] AG2[Agent Wazuh
sur Linux] AG3[Syslog Forwarder] end subgraph "🎯 Centralisation SIEM" M[Manager Wazuh
Analyse & Corrélation] ES[Elasticsearch
Stockage & Indexation] K[Kibana
Visualisation & Dashboards] end W --> AG1 L --> AG2 R --> AG3 A --> AG2 AG1 --> M AG2 --> M AG3 --> M M --> ES ES --> K K --> AL[🚨 Alertes] K --> REP[📊 Rapports] K --> DASH[📈 Dashboards] style M fill:#0a0e17,stroke:#00d4ff,stroke-width:3px style K fill:#0a0e17,stroke:#9d4edd,stroke-width:2px style ES fill:#0a0e17,stroke:#f59e0b,stroke-width:2px

📚 Sujet – Théorie (1 heure)

SIEM : Le Système Nerveux Central de la Sécurité

Un Security Information and Event Management (SIEM) n'est pas un simple collecteur de logs – c'est un système de corrélation intelligente qui transforme des milliards d'événements bruts en quelques alertes actionnables.

📡

Collecte

Agents légers ou forwarders collectent logs depuis :

  • Systèmes d'exploitation
  • Applications métier
  • Réseau et sécurité
  • Cloud et containers
🧠

Analyse

Moteur de règles qui corrèle :

  • Signatures connues
  • Comportements anormaux
  • Séquences temporelles
  • Risque utilisateur
📊

Visualisation

Dashboards pour :

  • Surveillance temps réel
  • Investigation forensique
  • Reporting compliance
  • KPI sécurité

Wazuh : Le SIEM Open-Source Professionnel

🎯 Pourquoi Wazuh pour l'apprentissage ?

Fonctionnalité Wazuh Solution Entreprise
Coût Gratuit (Open Source) $$$ (50k€+/an)
Stack Technique ELK intégré Propriétaire ou custom
Modules SIEM + HIDS + FIM Souvent séparés
Communauté Active, documentation riche Support payant

Le Parcours d'un Événement dans le SIEM

🖥️
1. Génération

SSH failed login
auth.log

→
📨
2. Collecte

Agent Wazuh
OSSEC protocol

→
🔍
3. Normalisation

Parser JSON
Champs normalisés

→
🎯
4. Corrélation

Règle 5712
"Multiple SSH failures"

→
🚨
5. Alerte

Dashboard Kibana
Email/Slack

Les Trois Piliers de la Détection SIEM

⚠️ Ce que Wazuh peut détecter

🔍 Signature-based
• Scans Nmap/port scans
• Exploits connus (CVE)
• Malware signatures
• Patterns d'attaque
📊 Anomaly-based
• Behaviour analytics
• Baseline deviations
• UEBA (User Entity)
• Machine learning
⚖️ Compliance
• PCI-DSS controls
• GDPR requirements
• HIPAA checks
• CIS benchmarks
🔒 HIDS/FIM
• File integrity monitoring
• Rootkit detection
• Process monitoring
• Registry changes

Architecture Wazuh : Les Composants Clés

🔧 Stack Wazuh + ELK

  • Wazuh Manager : Cerveau - règles, décodage, corrélation
  • Wazuh Agent : Yeux - collecte logs, intégrité fichiers
  • Elasticsearch : Mémoire - stockage, indexation, recherche
  • Logstash : Traducteur - parsing, transformation (optionnel)
  • Kibana : Interface - visualisation, dashboards, alerting

🔬 Mission pratique – Laboratoire (2 heures)

Architecture du Lab SIEM

flowchart LR K[Kali Linux
192.168.56.100
Wazuh Manager + ELK] -->|Agent| M[Metasploitable2
192.168.56.101
Cible Linux] K -->|Agent| U[Ubuntu Server
192.168.56.102
Cible Linux] K -->|Agent| W[Windows 10
192.168.56.103
Cible Windows] subgraph "🎯 Attaques Simulées" A[Attaquant Kali
192.168.56.100] A -->|SSH Brute-force| M A -->|SQL Injection| U A -->|SMB Scan| W end style K fill:#0a0e17,stroke:#00d4ff,stroke-width:3px style M fill:#11151f,stroke:#ef4444,stroke-width:2px style A fill:#11151f,stroke:#9d4edd,stroke-width:2px

⚠️ Prérequis et Considérations

💻 Ressources nécessaires :

  • RAM : 8 Go minimum (Wazuh + ELK est gourmand)
  • Stockage : 20 Go libre pour les logs
  • Docker : Version 20.10+ recommandée
  • Réseau : Toutes les VMs en Host-Only

Étapes Détaillées d'Installation

Étape 1 : Installation Wazuh Manager avec Docker

# 1. Préparation environnement
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose curl git -y
sudo systemctl enable --now docker

# 2. Création répertoire projet
mkdir -p ~/mon_lab/siem/wazuh
cd ~/mon_lab/siem/wazuh

# 3. Téléchargement docker-compose officiel
curl -so docker-compose.yml https://raw.githubusercontent.com/wazuh/wazuh-docker/master/docker-compose.yml

# 4. Ajustement mémoire Elasticsearch (important!)
nano docker-compose.yml
# Cherchez 'elasticsearch' et ajoutez:
# environment:
#   - "ES_JAVA_OPTS=-Xms1g -Xmx1g"

# 5. Lancement des containers
sudo docker-compose up -d

# 6. Vérification des services
sudo docker-compose ps
# Doit montrer: wazuh-manager, wazuh-indexer, wazuh-dashboard

⏱️ Temps d'initialisation

Les services peuvent prendre 3-5 minutes pour démarrer complètement. Vérifiez les logs :

sudo docker-compose logs -f wazuh-manager

Recherchez Started inotify supervisor et Connected to Remoted.

Étape 2 : Accès et Configuration Initiale

# 1. Obtenir les credentials par défaut
echo "User: admin"
echo "Password: $(sudo docker exec wazuh-manager /bin/bash -c 'cat /var/ossec/etc/sslmanager.key')"

# 2. Accès à Kibana (Wazuh Dashboard)
# Naviguez vers: https://192.168.56.100:5601
# Acceptez le certificat auto-signé (dans lab uniquement!)

# 3. Changement IMMÉDIAT du mot de passe
# Dashboard → Security → Users → admin → Edit
# Nouveau mot de passe fort et unique!

🔒 Sécurité en Production

En environnement réel :

  • Générer des certificats valides (Let's Encrypt)
  • Configurer HTTPS strict
  • Mettre en place 2FA
  • Restreindre l'accès par IP

Étape 3 : Déploiement des Agents Linux

📋 Sur la cible Metasploitable2 (192.168.56.101)

# 1. Génération de la clé d'agent depuis le manager
sudo docker exec -it wazuh-manager /var/ossec/bin/manage_agents

# Dans l'interface interactive:
# A) Add an agent
# Name: metasploitable2-lab
# IP: 192.168.56.101
# Notez l'ID et la clé générée

# 2. Installation agent sur la cible
# Connectez-vous à Metasploitable2 (msfadmin/msfadmin)
ssh msfadmin@192.168.56.101

# Sur Metasploitable2:
wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.7.2-1_amd64.deb
sudo dpkg -i wazuh-agent_4.7.2-1_amd64.deb

# 3. Configuration agent
sudo nano /var/ossec/etc/ossec.conf
# Cherchez 
et remplacez par: #
192.168.56.100
# 4. Enregistrement avec la clé sudo /var/ossec/bin/manage_agents -i # Collez la clé générée précédemment # 5. Démarrage et vérification sudo systemctl start wazuh-agent sudo systemctl enable wazuh-agent sudo /var/ossec/bin/agent_control -l | grep metasploitable2

Étape 4 : Déploiement Agent Windows (Optionnel mais Formateur)

# Sur Windows 10/11 (PowerShell Admin)
# 1. Téléchargement agent
Invoke-WebRequest -Uri "https://packages.wazuh.com/4.x/windows/wazuh-agent-4.7.2-1.msi" -OutFile "wazuh-agent.msi"

# 2. Installation silencieuse avec configuration
msiexec.exe /i wazuh-agent.msi /qn WAZUH_MANAGER="192.168.56.100" WAZUH_REGISTRATION_SERVER="192.168.56.100"

# 3. Enregistrement avec la clé (générée depuis manager)
cd "C:\Program Files (x86)\ossec-agent"
manage_agents.exe -i PASTE_KEY_HERE

# 4. Démarrage service
Start-Service -Name OssecSvc
Get-Service -Name OssecSvc | Select Status

Étape 5 : Exploration de l'Interface Kibana

📍 Overview
• Agents connectés
• Alertes dernières 24h
• Top règles déclenchées
• Integrité fichiers
🚨 Security Events
• Timeline événements
• Filtres par agent/règle
• Recherche full-text
• Export CSV/JSON
📊 Modules
• Vulnerabilities
• AWS monitoring
• Docker security
• GDPR compliance
⚙️ Management
• Gestion agents
• Configuration rules
• API endpoints
• Logs manager

Étape 6 : Simulation d'Attaque et Observation

# 1. Génération d'activité suspecte
# Sur Kali (comme attaquant), cible Metasploitable2

# Scan Nmap basique (détecté par Wazuh)
nmap -sS 192.168.56.101

# Tentative brute-force SSH
hydra -l msfadmin -P /usr/share/wordlists/rockyou.txt \
  ssh://192.168.56.101 -t 4

# 2. Observation en temps réel dans Kibana
# Naviguez vers: Security Events
# Filtrez par:
# - agent.name: "metasploitable2-lab"
# - rule.level: >= 5
# - Time range: Last 15 minutes

# 3. Recherche spécifique
# Dans la barre de recherche Kibana:
rule.id:("5712" OR "5715" OR "5720")
# Règles pour scans et brute-force

Exercice Avancé : Création de Règles Personnalisées

🎯 Défi de Détection Personnalisée

Créez une règle Wazuh pour détecter les tentatives de connexion SSH depuis une IP spécifique :



  
    5710
    192.168.56.100
    SSH login attempt from Kali attacker
    authentication_failed,
  

Redémarrez le manager : sudo docker restart wazuh-manager

Testez avec une connexion SSH échouée depuis Kali et vérifiez l'alerte dans Kibana.

Étape 7 : Monitoring et Maintenance

# Commandes utiles pour le monitoring
# 1. Vérifier santé des services
sudo docker-compose logs --tail=50 wazuh-manager
sudo docker exec wazuh-manager /var/ossec/bin/agent_control -l

# 2. Vérifier espace disque
sudo docker exec wazuh-indexer df -h

# 3. Sauvegarde configuration
sudo tar czf wazuh_backup_$(date +%Y%m%d).tar.gz \
  ~/mon_lab/siem/wazuh/docker-compose.yml \
  /var/lib/docker/volumes/wazuh_*

# 4. Mise à jour (attention en production!)
sudo docker-compose pull
sudo docker-compose down
sudo docker-compose up -d

📋 Objectif de la semaine – Checklist de validation

✅ Compétences techniques acquises

  • Wazuh Manager + ELK fonctionnel avec Docker
  • Au moins 2 agents déployés et connectés
  • Navigation fluide dans Kibana Wazuh
  • Détection d'activité suspecte (scan/brute-force)
  • Compréhension architecture collecte→analyse→visualisation

🧠 Changement mental accompli

  • Vision du SIEM comme système nerveux central
  • Compréhension de la valeur de la corrélation
  • Habitude de penser en "détection" vs seulement "prévention"
  • Conscience que les logs sont des yeux, pas des archives

💪 Pour aller plus loin :

Configurez des alertes par email, intégrez Wazuh avec TheHive pour la gestion des incidents, ou déployez des agents sur des containers Docker. Préparez-vous pour la semaine 28 sur le durcissement système.

📚 Ressources pour Approfondir

Documentation et Communauté :

⚠️ Considérations Production

  • Scalabilité : Cluster vs single node
  • Rétention : Politique de rétention des logs (30-90 jours)
  • Performance : Tuning Elasticsearch pour votre volume
  • Sécurité : Hardening Wazuh en production

🔮 Frère d'armes,

Tu viens d'allumer les yeux de la Cité.

Le SIEM n'est pas un outil parmi d'autres – c'est le système nerveux central de votre défense. Les logs qui dormaient éparpillés sur des dizaines de machines se réveillent maintenant, se parlent, se corrèlent. Un échec de connexion SSH ici, un scan de port là-bas, une modification de fichier ailleurs – séparément, ce ne sont que du bruit. Ensemble, ils racontent l'histoire d'une attaque.

Cette semaine, tu as fait plus qu'installer un logiciel. Tu as connecté les points. Tu as vu comment des événements disparates peuvent s'assembler en une image cohérente. Comment un simple agent sur une machine devient un capteur dans un réseau de vigilance.

Mais voici la leçon la plus importante : un SIEM sans règles est un œil sans cerveau. Collecter des logs n'est que la moitié du travail. La vraie magie est dans les règles de corrélation, dans l'intelligence qui transforme des données brutes en connaissance.

Tu n'es plus un simple attaquant qui laisse des traces. Tu es devenu un défenseur qui lit ces traces. Qui comprend que chaque action laisse une ombre dans les logs. Qui sait que la discrétion d'un attaquant dépend de sa capacité à se fondre dans le bruit de fond normal.

Dans la semaine 28, nous irons plus loin dans la défense active. Nous apprendrons à durcir les systèmes, à réduire la surface d'attaque, à rendre la vie difficile à ceux qui voudraient pénétrer. Nous passerons de la détection à la prévention.

Mais pour l'instant, observe. Laisse tourner Wazuh pendant quelques jours. Regarde les patterns normaux de ton lab. Comprends ce qui est "bruit" et ce qui est "signal". Un bon analyste SIEM connaît d'abord son environnement normal.

Un Gardien qui maîtrise le SIEM ne laisse jamais une attaque passer inaperçue.

— Platon-Y