Supervision centralisée des logs avec Prometheus et Grafana
Résumé : Centralisation des logs provenant de divers outils de sécurité (EDR, XDR, NGFW) via un pipeline Python qui convertit ces logs en métriques stockables dans Prometheus, permettant leur visualisation sur des tableaux de bord dynamiques dans Grafana et facilitant ainsi la supervision.
Aperçu
Contexte
Lors de mon stage au sein du rectorat de l’Académie de Versailles, j’ai travaillé sur un projet répondant à un besoin concret des équipes de sécurité.
La supervision devenait en effet de plus en plus complexe à gérer, en raison de la multiplicité des outils de sécurité (firewalls, EDR, XDR) déployés dans le système d’information (SI).
L’objectif principal était de faciliter le travail des analystes en centralisant la collecte, le traitement et la visualisation des logs issus de ces différents outils, via une plateforme de supervision unifiée.
Objectifs
Les objectifs qui ont été définis sont les suivants :
1. Centraliser la collecte des logs et alertes provenant de multiples outils de sécurité (firewalls, EDR, XDR).
2. Mettre en place un pipeline de traitement des données pour convertir les logs en métriques exploitables.
3. Exposer les métriques sur Prometheus.
4. Concevoir et déployer des dashboards dynamiques et personnalisables pour la visualisation des alertes depuis Grafana.
5. Documenter la conception et les procédures de déploiement pour faciliter la maintenance de la plateforme.
Organigrammes
Technologies et outils utilisés
Voici la liste des technologies et outils que j’ai utilisé pour concevoir et mettre en place la plateforme de supervision :
-
Python pour collecter les logs provenant des différents outils de sécurité via API REST et pour les transformer en métriques.
-
Docker pour conteneuriser les différents composants de la plateforme (Prometheus, Grafana), afin d’assurer une intégration plus simple et sécurisée.
-
Prometheus pour récupérer et stocker les métriques exposées sur le web dans une base de données de séries temporelles.
-
Grafana pour mettre en forme les métriques stockées dans Prometheus et les visualiser sous forme de tableaux de bord dynamiques (graphes, tableaux, redirection).
-
YAML pour configurer Prometheus et l’accès aux API des outils de sécurité.
-
JSON pour importer la configuration de la plateforme de supervision en environnement de production.
-
Exporters pour exposer les métrique sur le web, afin que Prometheus puisse les collecter.
Résultats
-
Trois tableaux de bord pour superviser les logs de trois outils de sécurité (le firewall externe Forcepoint, l’XDR Trend Micro Vision One, l’EDR Trend Micro Apex Central).
-
Visualisation des indicateurs de performances KPIs comme le score, la criticité, le nombre d’événements, le virus ou malware associé, l’IP source, l’IP destination, etc.
$ Livrable d’explication et d’utilisation des différents tableaux de bord.
Ce que j’ai appris
En menant à bien ce projet, j’ai appris à :
-
Interagir avec les API REST des différents outils de sécurité (EDR, XDR, firewall) pour récupérer des logs critiques.
-
Développer des exporters pour exposer des métriques en vue de leur intégration dans Prometheus.
-
Configurer Prometheus et Grafana pour la collecte de métriques des logs et leurs visualisations.
-
Développer des tableaux de bord de supervision de logs en important les données depuis Prometheus sur Gafana.