Objectifs du module :

  • Comprendre l'importance des logs de sécurité pour les pipelines de données.
  • Découvrir les outils de gestion centralisée des logs et de monitoring (Elastic Stack, Splunk).
  • Mettre en place des mécanismes d'audit pour assurer la traçabilité des accès aux données et des modifications.

1. Pourquoi les logs de sécurité sont cruciaux pour les pipelines de données

a. Rôle des logs dans la sécurité des pipelines de données

Traçabilité et surveillance :
Les logs permettent de suivre toutes les actions effectuées dans un pipeline de données, telles que les modifications de fichiers, les accès aux bases de données, les transferts de données, etc. Cela fournit une visibilité sur ce qui se passe dans l’environnement, facilitant la détection des comportements anormaux et des potentielles violations de sécurité.

Détection des incidents et enquêtes post-incidents :
En cas de fuite de données ou d'attaque, les logs sont essentiels pour reconstituer les événements, identifier la source du problème et comprendre comment une compromission s'est produite.

Compliance et audits réglementaires :
De nombreuses normes de sécurité, comme le RGPD ou HIPAA, exigent que les entreprises conservent des logs pour démontrer la conformité aux régulations et garantir la sécurité des données sensibles.

b. Types de logs nécessaires dans un environnement Big Data

Logs d'accès :
Enregistrent les tentatives de connexion aux systèmes, l'accès aux API et aux bases de données, en indiquant les utilisateurs et les permissions utilisées.

Logs d'activité des pipelines :
Traquent les étapes du pipeline, comme l'extraction, la transformation et le chargement (ETL), en enregistrant les événements critiques comme les erreurs ou les modifications des données.

Logs de sécurité réseau :
Capturent les événements liés au réseau, y compris les connexions entrantes et sortantes, les transferts de données, et les anomalies de trafic qui pourraient indiquer une attaque.

2. Outils de gestion centralisée des logs et monitoring (Elastic Stack, Splunk)

a. Importance de la gestion centralisée des logs

Consolidation des sources de logs :
Dans un environnement Big Data, les logs peuvent provenir de multiples services : bases de données, API, services cloud, pipelines ETL, etc. Centraliser ces logs permet d'avoir une vue unifiée sur l'activité et d’identifier les problèmes plus rapidement.

Alertes en temps réel et monitoring :
Les outils de gestion des logs offrent la possibilité de définir des alertes pour réagir en temps réel aux événements critiques ou suspects, comme une tentative d'accès non autorisé ou une activité réseau anormale.

Analyse et corrélation :
Ces outils permettent de corréler plusieurs événements sur des systèmes différents, facilitant la détection d’attaques complexes qui impliquent plusieurs couches d’infrastructure (applications, réseau, bases de données).

b. Présentation des outils de gestion de logs

Elastic Stack (ELK) :
Composé de Elasticsearch, Logstash, Kibana, et Beats, Elastic Stack est une suite open-source largement utilisée pour la collecte, la gestion, et l’analyse des logs.

  • Elasticsearch permet de stocker et rechercher les logs.
  • Logstash collecte, transforme et envoie les données vers Elasticsearch.
  • Kibana propose une interface de visualisation des logs et la création de tableaux de bord.
  • Beats est un ensemble d’agents légers utilisés pour envoyer des logs spécifiques (systèmes, fichiers, réseaux, etc.) vers Logstash ou Elasticsearch.

Vidéo de Grafikart.fr:

Splunk :
Une plateforme propriétaire très puissante qui permet la collecte, l'indexation, la visualisation, et l’analyse des logs en temps réel.

  • Splunk Enterprise offre des fonctionnalités avancées pour la recherche, la création de tableaux de bord, et l'automatisation des alertes.
  • Splunk Cloud fournit une solution gérée pour les environnements cloud.
  • Splunk Machine Learning Toolkit permet l'analyse des logs à l'aide d'algorithmes de machine learning pour détecter des anomalies.

Vidéo de Alphorm:

c. Comparaison des outils

Coût : Elastic Stack est open-source, mais nécessite plus de gestion, alors que Splunk est payant, mais inclut des services managés complets.

Simplicité d’utilisation : Splunk est plus facile à mettre en œuvre et propose des analyses plus prêtes à l’emploi, tandis que Elastic Stack nécessite plus de personnalisation.

Scalabilité : Les deux outils peuvent être utilisés dans des environnements de grande taille, mais Elastic Stack, étant open-source, est souvent privilégié pour des déploiements très spécifiques et massifs.

3. Mise en place de mécanismes d'audit pour assurer la traçabilité des accès et modifications

a. Importance des audits dans la gestion des données

Transparence des actions :
Les audits permettent de suivre et de valider toutes les actions entreprises sur les données. Ils sont essentiels pour vérifier que seules les personnes autorisées accèdent aux informations sensibles, et qu’aucune modification non autorisée n’a été effectuée.

Conformité réglementaire :
Les audits garantissent que l'organisation respecte les exigences légales concernant la gestion des données, telles que la traçabilité et la conservation des logs.

Prévention des erreurs et fraudes :
En contrôlant régulièrement l’accès aux données, les audits permettent de repérer des pratiques risquées, telles que l’attribution de privilèges excessifs ou des erreurs de configuration.

b. Mise en place d’un système d’audit des accès et modifications

Surveillance des accès aux données :
Utiliser les outils de logs pour auditer tous les accès aux bases de données et aux systèmes de stockage, en incluant les actions de lecture, d'écriture, et les tentatives d'accès non autorisées. Cela inclut également la surveillance des actions réalisées par des administrateurs ou des services automatisés.

Traçabilité des modifications :
Enregistrer toute modification apportée aux données, en incluant l’utilisateur, l’action effectuée, et l’heure. Cela est crucial pour les environnements de pipelines de données où les modifications fréquentes peuvent se produire lors de l’extraction, de la transformation, et du chargement des données.

Archivage et conservation des logs :
Mettre en place des politiques de conservation des logs pour répondre aux exigences réglementaires et garantir que les informations peuvent être récupérées si nécessaire. Cela peut inclure des solutions comme Amazon S3 Glacier pour l'archivage longue durée des logs.

c. Outils d’audit des accès et modifications

Audit dans AWS :
Utiliser AWS CloudTrail pour capturer les événements liés à l’activité des utilisateurs et des services. Les logs d’accès et les modifications peuvent être envoyés à S3 ou à un autre service d’analyse comme Elastic Stack ou Splunk.

Audit dans GCP :
Google Cloud Audit Logs capture les événements administratifs et d'accès aux données dans les services managés de Google. Ces logs peuvent être consultés dans Cloud Logging ou exportés vers BigQuery pour une analyse plus poussée.

Audit dans Azure :
Azure Monitor et Azure Activity Logs permettent de suivre l'activité des utilisateurs et des services. Les informations peuvent être envoyées à Azure Log Analytics pour des rapports et des analyses approfondies.

Conclusion du module :

La gestion des logs et la mise en place d’audits efficaces sont des aspects essentiels pour garantir la sécurité dans un environnement Big Data. Ce module fournit les bases pour comprendre pourquoi les logs de sécurité sont cruciaux, comment choisir et utiliser les outils de gestion centralisée des logs, et comment auditer correctement les accès et modifications des données pour assurer la conformité et la sécurité.

Formateur

Bertrand LECLERCQ

Consultant DevSecOps & Data Engineer


Avec 25 ans d'expérience dans le développement logiciel et une certification en Data Engineering de l'École des Mines Paris - PSL, je suis passionné par la cybersécurité, le big data et le DevOps. J'aime partager mes connaissances et aider la communauté à renforcer sa posture de sécurité.

J'ai créé une base de vulnérabilités librement accessible et je me forme en continu sur des plateformes comme TryHackMe. Mon objectif ? Démocratiser la cybersécurité et permettre à chacun de mieux comprendre les enjeux.

J'ai une solide expertise dans la conception et le déploiement de solutions sécurisées, ainsi qu'une expérience éprouvée dans la gestion de projets complexes. Maîtrisant un large éventail de technologies (Python, Go, Java, Docker, Kubernetes, etc.), je suis convaincu que la sécurité doit être intégrée dès le début du cycle de développement.

Le projet NoHackMe vous permet d'effectuer une veille Cyber, vous permet de découvrir le monde de la Cybersécurité ainsi qu'une section formation Cyber

Soutenez No Hack Me sur Tipeee