Une solution de gestion de logs permet de collecter, stocker, analyser les données issues des logs pour ainsi diagnostiquer les intrusions ou tentatives d’intrusion. Il s’agit d’une démarche nécessaire afin de connaître l’état de santé du système d’information ainsi que les signaux qui pourraient présager d’une éventuelle intrusion. Nous vous proposons dans cette article de revenir plus en détails sur la notion de logs puis ensuite détailler la démarche de log-management pour ainsi mettre en exergue les enjeux associés.
Qu’est-ce qu’un log ?
Un journal des évènements (ou log) est un fichier qui retrace les évènements associés à un composant (contenant a minima la date et l’heure de l’évènement, sa criticité et un message descriptif). Plusieurs codes de gravité sont associés au fichier afin d’être en capacité à prioriser les évènements et les impacts associés.
Exemple de log : Sep 14 14:09:09 machine_de_test dhcp service[warning] 110 corps du message
Les logs concernent potentiellement tous les composants associés au système d’information :
- Serveur
- Système d’exploitation
- Conteneurs / machines virtuelles
- Applications
- Bus applicatif
- Load Balancers
- Appareils de sécurité (firewall, routeur, …)
- Infrastructures / services externalisés
Par ailleurs, les systèmes d’information deviennent de plus en plus complexes. Ces fichiers de log sont donc générés à plusieurs endroits dans ce système, rendant difficile la collecte et l’exploitation manuelle du fait au regard du volume important à traiter et du morcellement du stockage de ces fichiers.
Les signes évidents d’intrusion sont situés généralement dans les fichiers de logs (exemples : Login failed, buffer-overflow, …). Même si les exploits (exploitation d’une faille de sécurité) de l’assaillant ont réussi, le ficheir de log conserve l’enregistrement manifeste d’un évènement ou tout du moins des traces qui corrélées entre elles, permettent de reconstruire l’enchaînement des actions effectuées par l’attaquant. Dans un environnement non sécurisé, il faut garder en tête que l’assaillant peut modifier ce fichier de journalisation puisqu’il se trouve sur le même système que celui qu’il a pu pénétrer. En effet, en fin d’attaque, une des principales actions est le nettoyage des traces notamment si les fichiers de logs sont stockés sur le même serveur que celui qui a été attaqué. En revanche, dans un environnement et réseau sécurisés, ces fichiers sont recopiés sur un autre serveur et a priori, l’attaquant ne peut pas y accéder donc les traces restent visibles.
Deux freins sont à considérer dans le cas d’une gestion manuelle des logs générés par le système d’information :
- Le volume des logs : Le nombre de logs explose de manière exponentielle et le contenu de ces logs devient aussi de plus en plus dense du fait de la complexification des composants,
- Vue d’ensemble / Corrélation : La consultation d’un seul log ou de quelques logs ne suffit pas à disposer d’une vue d’ensemble de l’état du système d’information ni des évènements ayant pu avoir lieu. Les fonctionnalités proposées par les outils et également le Machine Learning apporte une valeur ajoutée non négligeable dans le processus de compréhension de l’exploit.
Qu’est-ce qu’une démarche de log-management ?
Une démarche de log-management vise à collecter, traiter et analyser les différents logs générés dans le système d’information en interne ou en externe et de manière automatique
Selon la Norme ISO 27002,
Les objectifs du log-management que nous pouvons citer sont notamment :
- Faciliter la détection des logiciels malveillants et menaces de sécurité
- Anticiper et mettre en place les mesures de gestion d’incident. En effet, plus l’incident est repéré tôt plus il sera aisé de mettre en œuvre des mesures curatives en retraçant le déroulement des actions menées par l’attaquant,
- Assurer la visibilité des structures d’événements,
- Collecter et archiver les données des journaux destinées au reporting,
- Collecter et archiver les données des journaux destinées à la mise en conformité avec le cadre normatif et réglementaire présent dans certains domaines (Exemples : PCI-DSS (Payment Card Industry Data Security Standard), OIV (Opérateur d’importance vitale), LPM (Loi de Programmation Militaire)).
La démarche de log-management repose en effet sur différents outils mais également sur des processus qui sont à définir. Un important chantier organisationnel (stratégie, gouvernance et définition des rôles) est à prévoir dans la mise en place d’une meilleure gestion des logs. La démarche repose sur 3 étapes « théoriques » :
- Collecter, centraliser et indexer les logs
- Chercher et analyser les logs, alerter en cas d’intrusion ou de tentative
- Reporting et tableau de bord
Les outils et fonctionnalités à déployer
Des outils sont disponibles sur chacune des étapes indiquées ci-dessus et sont plus ou moins intégrés entre eux. De notre point de vue, plus l’approche est intégrée, mieux cela permettra de respecter les principes édictés dans le cadre de la cybersécurité et plus le système mis en place sera efficace.
Revenons sur chacune des étapes présentées ci-dessus afin de présenter quelques grands outils existants sur ce sujet (et non de présenter un benchmark détaillés des outils présents sur le marché) :
- Collecter, centraliser les logs : Focus sur SYSLOG
- Syslog est un protocole définissant un service de journalisation permettant de collecter et centraliser la journalisation des évènements. C’est également un outil de référence sous les environnements Unix / Linux. Des outils similaires sont également disponibles dans les autres environnements.
- Syslog se compose d’une partie serveur et d’une partie client. La partie Client émet des informations sur le réseau.
- Syslog est un protocole mais également un format. Un journal au format Syslog comporte plusieurs informations présentées avec la même structure.
- Chercher, analyser : Il existe des outils d’analyse reposant sur le Machine Learning (Sumo Logic par exemple) et permettant des mises en corrélation automatique
- Monitoring / alerte / tableau de bord : Focus sur Prometheus
- Création de métriques et indicateurs permettant la génération de tableaux de bord et l’envoi d’alertes en cas d’enchaînements d’évènements suspects
- Requête possible des métriques
- Prometheus repose sur plusieurs briques : un serveur (stockage des métriques), un « agent » de collecte des métriques, une interface « web UI » pour présenter les métriques et un système d’alerte
NB : Les outils présentés peuvent également se positionner sur plusieurs briques
La suite libre ELK propose une approche intégrée, c’est-à-dire un outil pouvant se positionner sur l’ensemble des briques présentées. Il s’agit d’une suite logicielle proposée en mode « On premise » ou en mode Externalisé et qui se positionne en tant que SIEM (Security Information and Event Manager). Elle se compose de 3 outils :
- Logstash : Collecte et traitement en parallèle des données provenant d’une multitude de sources puis agrégation et envoie vers la base Elasticsearch. Il contient une grande quantité de collecteurs de données, et répond de ce fait à de nombreux besoins,
- Elasticsearch : Serveur d’indexation permettant une recherche des données. Il utilise un moteur de recherche distribué, une base de données NoSQL et une interface REST,
- Kibana : Mise à disposition de tableaux de bord interactifs et paramétrables pour visualiser les données stockées. Cet outil permet de créer des tableaux de bord avec un calcul en temps réel des données pour disposer d’une vue d’ensemble de la santé du système d’information
Critères à considérer dans le choix d’un ou plusieurs outil(s) de log-management
- Accès en temps réel et faible latence de mise à jour
- Habilité à collecter les logs rapidement provenant de différentes sources suivant une approche interopérable, possibilité d’intégrer des logs venant de l’extérieur du SI (notamment cloud), facilité d’intégration avec les outils existants
- Utilisation de format standards tels que le XML, JSON, …
- Parsing et indexation des logs dès réception
- Souplesse du paramétrage notamment pour le reporting, création et personnalisation intuitive des tableaux de bord car l’analyse graphique vise à être consultée par différents profils (consultant, analyste, technicien, décideurs, …)
- Fonctionnalités associées au Forensic et Post-mortem
Log-management et SIEM
Le log management est une brique nécessaire à la mise en place d’une démarche efficiente de cybersécurité via plusieurs axes :
- Identification des risques et tentatives d’intrusion
- Après attaque, identifier rapidement la source et identifier les dommages,
- Consulter l’historique des logs (durée de rétention), notamment en cas de vol de données,
- Mise en conformité avec le cadre réglementaire.
Ce système permet également de suivre les mesures édictées par la norme l’ISO 27002 :
- Journalisation des évènements : Il convient de créer, de tenir à jour et de revoir régulièrement les journaux d’événements enregistrant les activités de l’utilisateur, les exceptions, les défaillances et les événements liés à la sécurité de l’information,
- Protection de l’information journalisée : Il convient de protéger les moyens de journalisation et l’information journalisée contre les risques de falsification ou d’accès non autorisé,
- Synchronisation des horloges : Il convient de synchroniser les horloges de l’ensemble des systèmes de traitement de l’information concernés d’une organisation ou d’un domaine de sécurité sur une source de référence temporelle unique.
Ces logs et les processus associés sont également utilisés lors de l’étape Forensic, (méthode d’investigation basée sur l’extraction de données brutes ou altérées de manière à construire une chronologie événementielle, à établir une logique séquentielle ou à reconstituer un ensemble cohérent de données pour en tirer une explication contextuelle). Ceux-ci étant facilité par la centralisation des logs, mais également, car ils sont exportés de la zone d’effet de l’attaquant qui a alors plus de difficulté à les supprimer pour effacer ses traces.
L’analyse des logs est plus efficace avec un outil de SIEM afin de corréler les évènements avec les différentes activités et composants du SI. Plus largement, le SIEM consolide plusieurs briques :
- Le Log management, comme décrit dans cette page,
- SEM (Security Event Management) : axé sur le monitoring en temps réelle, corrélation et alertes adaptés aux buts recherché (ex : fait redouté)
- SIM (Security Information Management) : stockage à long terme, administration, analyse,
- SEC (Security event correlation) : tracking et alerte quand un scénario est rencontré (un enchaînement d’actions suspectes, exemple : 3 logins fails sur le même user sur différentes machines).
En conclusion sur le log management :
En conclusion, trois points d’attention sont à considérer lorsque l’on souhaite mettre en oeuvre une démarche de log management :
La démarche permet de gérer de manière efficace les volumes de logs :
De plus en plus de logs sont générés et cela constitue donc un enjeu important pour le log-management. Disposer de beaucoup de données de logs est une opportunité à saisir pour améliorer la démarche de cybersécurité et cela est possible par la mise en œuvre d’un outillage spécifique.
En effet, disposer d’un volume important de logs est important pour obtenir une vue transversale de la santé du SI mais cela n’est rien s’il n’est pas possible de les analyser de manière automatique. Le second objectif est d’alerter automatiquement et le plus tôt possible d’un comportement douteux ou d’une intrusion au sein du système afin de réduire les délais de traitement de l’incident.
Importance de l’architecture et de la scalabilité :
Au regard du volume de données à collecter, il faut être vigilant sur le choix de l’outil et de l’architecture associée. La gestion des logs, dans une perspective de sécurité, nécessite de trouver un équilibre pertinent entre des ressources de stockage contraintes et une génération de données qui s’opère en continu.
Nécessité de définir un processus de cycle de vie des logs :
Les logs doivent être conservés dans un environnement sécurisé associé à un niveau de sécurité physique approprié, et à une surveillance étroite des accès. Si les données des journaux doivent être conservés plus de cinq ans, il convient de s’assurer que les supports de stockage utilisés sont pérennes (problématique associée à l’archivage électronique).
Il peut être nécessaire de procéder, avant l’échéance de la période de rétention requise, à un nettoyage afin de supprimer les données personnelles identifiables (problématique associée au RGPD).
Dans tous les cas, des processus sont à définir et l’outillage à lui seul ne suffit pas à résoudre toutes les problématiques.