You are currently viewing Splunk dans le monde des données

Splunk dans le monde des données

Splunk est ce qu’on appelle un “puit de données”. Il permet de regrouper les différentes données (logs) provenant de la totalité des équipements d’une entreprise dans un seul et même logiciel.

Les logs peuvent venir d’un grand nombre d’équipements (routeur, switch, serveurs…) mais peuvent également provenir de logiciel, base de données… (logs applicatives).

Splunk permet donc d’effectuer des recherches, un suivi et une analyse de données depuis une seule interface web ainsi que de générer des graphiques, des rapports, des alertes et des tableaux de bords.

L’autre fonctionnalité de Splunk est de rendre les données collectées compréhensibles par l’être humain, permettant ainsi l’analyse de tous types de données par les utilisateurs.

Fonctionnalités de Splunk

Splunk est utilisé principalement dans 2 contextes :

  • Big Data
  • Cybersécurité

Splunk collecte, indexe (stocke) et met en corrélation les données en temps réel. Celles-ci sont accessibles depuis une interface graphique à l’aide d’une barre de recherche et en utilisant le langage de recherche SPL (langage propre à Splunk).

Par la suite, avec les données collectées, il est possible de générer des tableaux de bords et des rapports qui peuvent être envoyés (périodiquement) aux personnes souhaitant en bénéficier.

Il est aussi possible de créer des alertes afin de remonter des incidents, de tous types, provenant des équipements collectés et, ce, à l’aide des données collectées.

D’un point de vue Cybersécurité, Splunk permet de créer des règles de corrélation à l’aide du plugin “Splunk Enterprise Security”. Ce plugin donne la possibilité de transformer Splunk en SIEM (Security Information and Event Management). Un SIEM permet de repérer des menaces rapidement, afin d’agir avant qu’il ne soit trop tard. Le SIEM détecte des attaques ou tentatives d’attaques en temps réel à l’aide de règles de corrélations qui permettent d’effectuer des analyses sur les données.

Cette année, Splunk a été élu, pour la 9ème fois consécutive, leader du Magic Quadrant de Gartner dans la catégorie “Gestion des informations et des évènements de sécurité” (SIEM).

Présentation de l’architecture de Splunk

Il existe différentes méthodes d’installation :

  • On-Premise (Sur machine physique ou virtuelle)
  • Cloud
  • Docker

Les différentes licences

Il y a plusieurs types de licences afin de pouvoir utiliser Splunk :

Basée sur le volume de données importé :

Tout d’abord, il y a la tarification basée sur l’importation de donnée. Cette tarification repose sur le volume quotidien de données indexées (importées) dans Splunk. Ce volume quotidien est mesuré en Go/Jour. S’il y a besoin d’augmenter le volume journalier, il faut commander une licence supérieure auprès de Splunk.

Basée sur la capacité de traitement de recherche et d’analyse : Puis, il y a la tarification par workload. Cette tarification repose sur la façon dont Splunk est utilisé pour extraire des informations des données. Le principal facteur de tarification, de cette licence, est donc basé sur la capacité de traitement de recherche et d’analyse plutôt que sur le volume de données ingéré. Cette capacité est mesurée en unités de calcul virtuel Splunk (SVC) pour Splunk Cloud, sinon en CPU virtuels (vCPU) pour le reste.

1-Architecture type

Voici un exemple d’architecture Splunk que l’on peut mettre en place :

2-Les principaux modules de Splunk

Les principaux modules de Splunk sont : Universal Forwarder, Indexer, Search Head, Deployment Server, Master Node.

a. Universal Forwarder

Le seul objectif de l’Universal Forwarder est de transférer des données aux indexeurs. L’Universal Forwarder ne peut pas effectuer de recherche, indexer ou produire des alertes avec les données.

b. Indexeur (Peer Node)

L’indexeur est le module de Splunk qui crée et gère les index. Les principales fonctions d’un indexer sont : l’indexation des données entrantes et la recherche des données indexées.

c. Search Head

Le Search Head est le moteur de recherche mais n’ayant pas d’index, tous les résultats proviennent des différents indexeurs.

d. Deployment Server

Le Deployment Server est le module permettant de déployer des applications sur les Universals Forwarder et Search Head.

e. Master Node

Le Cluster Master est le module permettant de gérer les indexeurs ainsi que d’y déployer des applications.

Zoom sur le Parsing des données

Splunk propose un grand nombre de plugins permettant le parsing (extraction de champs) des données d’un grand nombre de constructeurs et d’éditeurs. Ces plugins sont disponibles sur SplunkBase.

De temps en temps, l’extraction de champs dans les données configurées par ces plugins ne correspond pas totalement à nos attentes ou il manque des extractions. Dans ce cas, il faut alors modifier le parsing du plugin directement. Lorsque l’on souhaite effectuer des extractions de champs sur des données d’outils internes à l’entreprise (développés en interne) : il n’y pas de plugin disponible sur SplunkBase.

Il est donc nécessaire de créer nos propres plugins à l’aide de fichiers de configurations que l’on déploie sur les différentes machines Splunk selon le fichier. Les extractions de champs se font à l’aide de REGEX (une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles)

Les Autres Outils les plus connus

1- ElasticSearch

Il est utilisable avec un grand nombre de langages de programmation. Il supporte les gros volumes de données et gère les montées en charge. De plus il est performant dans ces fonctionnalités de recherche, notamment la recherche prédictive. Cette solution est utilisée notamment par Netflix, Facebook, Deezer, Microsoft…

2- Qradar

Il est l’un des concurrents de Splunk sur la partie SIEM. Contrairement à Splunk, Qradar n’est conçu que pour faire du SIEM. Malheureusement, Qradar est à bout de souffle depuis quelques années. Un certain nombre d’entreprises remplacent Qradar par d’autres solutions.

Use Case