TP 4 - Rapport d'Audit & Analyse IA
Auteur : Thibaut Fontaine — Kodetis Institution : Université de La Réunion Durée estimée : 2h30
Table des matières
Section intitulée « Table des matières »- Objectifs et Contexte
- Collecte et export des données
- Analyse assistée par IA avec Ollama
- Rédaction du rapport d’audit
- Questions de validation
1. Objectifs et Contexte
Section intitulée « 1. Objectifs et Contexte »📡 Poste SOC · La Réunion — Acte 3, Prouver : dernière étape, rendre l’enquête lisible. Poste avancé : Dumont d’Urville (Terre Adélie).
🎯 Objectif métier — produire un rapport d’audit exploitable par un RSSI, en accélérant l’analyse des alertes avec un LLM local.
🔴 Au fil de l’enquête
Section intitulée « 🔴 Au fil de l’enquête »Un audit qui ne se lit pas ne change rien. Vous transformez les preuves éparses de l’incident — alertes Wazuh, scores PingCastle, timeline LotL — en un rapport qu’un RSSI peut décider. Le LLM local accélère la synthèse ; la responsabilité des conclusions reste la vôtre. C’est ainsi que se referme le fil rouge : Voir → Détecter → Prouver.
Contexte
Section intitulée « Contexte »Vous avez mené l’audit de conformité (TP1), scanné les vulnérabilités (TP2) et testé les défenses en Purple Team (TP3). Il est temps de consolider l’ensemble dans un rapport d’audit professionnel. Vous utiliserez un LLM local (Ollama) pour vous assister dans l’analyse des alertes.
Objectifs pédagogiques
Section intitulée « Objectifs pédagogiques »- Exporter les données d’audit depuis Wazuh, Falco et Grafana
- Analyser les alertes de sécurité avec un LLM local (Ollama)
- Comparer l’analyse IA avec votre analyse manuelle
- Rédiger un rapport d’audit structuré et professionnel
- Formuler des recommandations de remédiation argumentées
Pourquoi l’IA en local ?
Section intitulée « Pourquoi l’IA en local ? »2. Collecte et export des données
Section intitulée « 2. Collecte et export des données »2.1 Export des détections du SOC (Sigma → LogQL via Loki)
Section intitulée « 2.1 Export des détections du SOC (Sigma → LogQL via Loki) »Les détections du SOC Grafana-natif (règles Sigma compilées en LogQL) sont interrogeables dans Loki. Depuis TAAF-AUDIT-001 :
# Détections de l'Acte 2 (ajustez le label selon vos règles)curl -G "http://IP_VM2:3100/loki/api/v1/query_range" \ --data-urlencode 'query={job=~"falco|suricata|zeek"} |= "alert"' \ --data-urlencode "start=$(date -d '24 hours ago' +%s)000000000" \ --data-urlencode "end=$(date +%s)000000000" \ --data-urlencode "limit=500" \ -o ~/soc-detections.json2.2 Export des alertes Falco
Section intitulée « 2.2 Export des alertes Falco »# Via Loki (depuis TAAF-AUDIT-001)curl -G "http://IP_VM2:3100/loki/api/v1/query_range" \ --data-urlencode 'query={job="falco"}' \ --data-urlencode "start=$(date -d '24 hours ago' +%s)000000000" \ --data-urlencode "end=$(date +%s)000000000" \ --data-urlencode "limit=500" \ -o ~/falco-alerts.json2.3 Export des scores Lynis
Section intitulée « 2.3 Export des scores Lynis »# Rassembler les rapports Lynis du TP1ls ~/lynis-*.txt2.4 Export des SBOM et résultats Grype
Section intitulée « 2.4 Export des SBOM et résultats Grype »# Rassembler les SBOM (Syft) et les scans CVE (Grype) du TP1ls ~/sbom-*.json ~/grype-*.json3. Analyse assistée par IA avec Ollama
Section intitulée « 3. Analyse assistée par IA avec Ollama »3.1 Installation d’Ollama
Section intitulée « 3.1 Installation d’Ollama »Ollama est pré-installé sur TAAF-AUDIT-001. Si ce n’est pas le cas :
# Installationcurl -fsSL https://ollama.com/install.sh | sh
# Télécharger un modèle légerollama pull llama3.2:3b
# Vérifierollama list3.2 Analyse des alertes Wazuh
Section intitulée « 3.2 Analyse des alertes Wazuh »Créez un script pour soumettre les alertes au LLM :
cat > ~/analyze-alerts.sh << 'SCRIPT'#!/bin/bash# Script d'analyse d'alertes avec Ollama
ALERTS_FILE="$1"MODEL="llama3.2:3b"
if [ -z "$ALERTS_FILE" ]; then echo "Usage: $0 <alerts-file.json>" exit 1fi
# Extraire un résumé des alertes (les 50 premières)ALERTS_SUMMARY=$(cat "$ALERTS_FILE" | python3 -c "import json, sysdata = json.load(sys.stdin)alerts = data.get('hits', {}).get('hits', data) if isinstance(data, dict) else datafor a in alerts[:50]: src = a.get('_source', a) print(f\"- Rule: {src.get('rule', {}).get('description', 'N/A')} | Level: {src.get('rule', {}).get('level', 'N/A')} | Agent: {src.get('agent', {}).get('name', 'N/A')}\")")
# Soumettre au LLMollama run "$MODEL" << EOFTu es un analyste en cybersécurité expérimenté. Analyse les alertes de sécurité suivantes provenant d'un SIEM Wazuh déployé sur l'infrastructure des Terres Australes et Antarctiques Françaises (TAAF).
Pour chaque catégorie d'alerte, fournis :1. Classification par criticité (Critique, Haute, Moyenne, Basse)2. Identification des faux positifs probables3. Recommandations de remédiation4. Priorisation des actions
Alertes :$ALERTS_SUMMARY
Fournis ton analyse en français, de manière structurée.EOFSCRIPT
chmod +x ~/analyze-alerts.shExécutez l’analyse :
./analyze-alerts.sh ~/wazuh-alerts-raw.json | tee ~/ia-analysis-wazuh.txt3.3 Analyse des résultats Grype
Section intitulée « 3.3 Analyse des résultats Grype »ollama run llama3.2:3b << EOFTu es un expert en sécurité des conteneurs. Analyse les vulnérabilités suivantes trouvées par Grype dans les images Docker d'une infrastructure polaire (TAAF).
$(cat ~/grype-nextcloud.json | python3 -c "import json, sysdata = json.load(sys.stdin)for m in data.get('matches', [])[:20]: v = m.get('vulnerability', {}) a = m.get('artifact', {}) print(f\"- {v.get('id','N/A')} ({v.get('severity','N/A')}): {a.get('name','N/A')} {a.get('version','')}\")")
Pour chaque CVE critique :1. Explique le risque dans le contexte TAAF2. Propose une remédiation adaptée aux contraintes (connectivité limitée)3. Évalue si c'est un faux positif dans notre contexte
Réponds en français.EOF3.4 Comparaison IA vs analyse manuelle
Section intitulée « 3.4 Comparaison IA vs analyse manuelle »Remplissez le tableau comparatif :
| Alerte / CVE | Votre analyse | Analyse IA | Accord ? | Commentaire |
|---|---|---|---|---|
| … | … | … | ? |
Livrable : Tableau comparatif + paragraphe d’analyse critique sur les forces et limites de l’IA pour l’audit de sécurité.
4. Rédaction du rapport d’audit
Section intitulée « 4. Rédaction du rapport d’audit »4.1 Objectifs du rapport d’audit
Section intitulée « 4.1 Objectifs du rapport d’audit »Le rapport d’audit vise à communiquer les résultats de l’évaluation de sécurité réalisée sur l’infrastructure TAAF. Il doit permettre aux parties prenantes (RSSI, DSI, direction des TAAF) de comprendre la situation actuelle et les recommandations pour améliorer la posture de sécurité.
4.2 Structure obligatoire du rapport
Section intitulée « 4.2 Structure obligatoire du rapport »Votre rapport d’audit doit impérativement suivre cette structure :
1. Contexte de la Mission
Section intitulée « 1. Contexte de la Mission »Présentez l’origine de l’audit et les objectifs fixés :
- Alerte ANSSI concernant les infrastructures de recherche polaire
- Lettre de mission du RSSI des TAAF
- Cadre temporel et équipe d’audit
2. Objectifs de l’Audit
Section intitulée « 2. Objectifs de l’Audit »Décrivez ce que l’audit vise à accomplir :
- Évaluer la conformité de l’infrastructure aux référentiels de sécurité (CIS, ANSSI)
- Identifier les vulnérabilités exploitables
- Tester l’efficacité des systèmes de détection (monitoring + SIEM)
- Produire des recommandations de remédiation adaptées aux contraintes TAAF
3. Périmètre de l’Audit
Section intitulée « 3. Périmètre de l’Audit »Définissez précisément le périmètre :
- Fonctions auditées : supervision, détection, authentification, stockage de données
- Systèmes concernés : 3 VMs (TAAF-MONITORING-001, TAAF-SOC-01, TAAF-AUDIT-001) + AD Windows en bonus
- Réseau : réseau privé commun
- Applications : NextCloud, PostgreSQL, Grafana, Prometheus, SOC Grafana-natif (Sigma/LogQL), Wazuh (bonus)
- Cadre réglementaire : CIS Benchmarks Level 1, Guide d’hygiène ANSSI
4. Méthodologie
Section intitulée « 4. Méthodologie »Expliquez les méthodes utilisées :
- Audit de conformité : Lynis, OpenSCAP (TP1)
- Scan de vulnérabilités : Nmap, Nikto, Grype (TP1-TP2)
- Tests d’intrusion : Hydra, curl, simulation Purple Team (TP3)
- Analyse assistée : Ollama LLM local (TP4)
- Documents examinés : configurations système, règles de détection, logs
5. Résultats
Section intitulée « 5. Résultats »Présentez les constatations principales, organisées par TP :
| Section | Contenu attendu |
|---|---|
| 5.1 Conformité (TP1) | Scores Lynis par VM, résultats CIS benchmarks, SBOM Syft + CVE Grype, posture avant/après, résultats du pipeline CI/CD |
| 5.2 Surface d’attaque (TP2) | Ports et services exposés, findings Nikto, cartographie réseau Mermaid |
| 5.3 Purple Team (TP3) | Scénarios exécutés, matrice de détection, taux de détection, résultats Red vs Blue |
| 5.4 Analyse IA (TP4) | Méthodologie IA, résultats de l’analyse LLM, comparaison avec analyse manuelle |
Pour chaque constatation, mettez en évidence :
- Les conformités et non-conformités identifiées
- Les forces et faiblesses de l’infrastructure
6. Analyse et Diagnostic
Section intitulée « 6. Analyse et Diagnostic »Offrez une interprétation des résultats :
- Causes racines des problèmes identifiés
- Corrélation entre les findings des différents TPs
- Impact des contraintes TAAF (connectivité satellite, isolation, équipes réduites) sur la posture de sécurité
- Évaluation du taux de détection : est-il acceptable pour une infrastructure critique ?
7. Recommandations
Section intitulée « 7. Recommandations »Proposez des actions concrètes, classées par priorité et horizon temporel :
| Priorité | Horizon | Exemples |
|---|---|---|
| Critique | Immédiat (< 1 semaine) | Corriger les CVE CRITICAL, durcir SSH |
| Haute | Court terme (< 1 mois) | Améliorer les règles de détection SIEM |
| Moyenne | Moyen terme (1-3 mois) | Automatiser les scans CI/CD, former les équipes |
| Basse | Long terme (> 3 mois) | Déployer un SOC minimal, segmentation réseau |
Chaque recommandation doit inclure : description, justification, effort estimé, responsable suggéré.
8. Conclusions Générales
Section intitulée « 8. Conclusions Générales »Résumez l’évaluation globale :
- Opinion sur la conformité de l’infrastructure
- Appréciation de l’efficacité des systèmes de détection
- Niveau de maturité sécurité estimé
- Prochaines étapes recommandées
4.3 Template et format
Section intitulée « 4.3 Template et format »# Cloner le templategit clone https://github.com/thibautfontaine-univ/typst-template-univ-reunion.gitcd typst-template-univ-reunion
# Compiler le rapporttypst compile rapport-audit.typ rapport-audit.pdf4.4 Critères d’évaluation
Section intitulée « 4.4 Critères d’évaluation »| Critère | Poids | Description |
|---|---|---|
| Complétude technique | 30% | Tous les résultats des TP 1-4 sont présents et documentés |
| Qualité de l’analyse | 25% | Analyse pertinente, contextualisée TAAF, esprit critique |
| Recommandations | 20% | Réalistes, priorisées, adaptées aux contraintes TAAF |
| Analyse IA | 15% | Utilisation pertinente du LLM, comparaison critique |
| Présentation | 10% | Structure, lisibilité, captures d’écran |
5. Questions de validation
Section intitulée « 5. Questions de validation »- [Facile] Quel modèle Ollama avez-vous utilisé et pourquoi ?
- [Facile] Combien d’alertes Wazuh avez-vous exportées au total ?
- [Moyen] L’IA a-t-elle identifié des faux positifs dans les alertes Wazuh ? Étaient-ce de vrais faux positifs ?
- [Moyen] Quel est le finding le plus critique de votre audit ? Justifiez.
- [Moyen] Pourquoi est-il important de comparer l’analyse IA avec l’analyse manuelle ?
- [Avancé] Comment adapteriez-vous votre rapport pour un public non technique (direction des TAAF) ?
- [Avancé] Si vous deviez refaire cet audit dans 6 mois, quels éléments automatiseriez-vous ?
- [Expert] Proposez une architecture de “Security Operations Center (SOC) minimal” adaptée aux contraintes des bases polaires TAAF.
- [Expert] Comment fine-tuneriez-vous un modèle LLM sur les alertes spécifiques de l’infrastructure TAAF pour améliorer la détection ?
- [Expert] Évaluez la maturité sécurité de l’infrastructure TAAF selon le modèle CMMI (niveaux 1-5). Justifiez votre évaluation.