14 minutes
Splunk : Installation, Collecte de logs, Rapports & Tableau de Bord
Introduction
Note: Si vous avez du mal à visualiser les images, téléchargez ou ouvrez dans un nouvel onglet pour avoir une meilleure resolution
Splunk est une solution de collecte, d'analyse et de visualisation des données machine. Elle permet de centraliser les journaux systèmes, d'analyser les événements de sécurité, et de construire des tableaux de bord en temps réel.
Principales fonctionnalités
- Collecte et indexation des données: ingestion de logs, métriques et événements depuis de nombreuses sources (Linux, Windows, NAS, bases de données, API, etc.), avec parsing, normalisation et extraction automatique des champs.
- Recherche et visualisation des données: exploitation du langage SPL (Search Processing Language) pour interroger les données, détecter les anomalies, analyser les tendances et créer des tableaux de bord interactifs et personnalisés avec visualisations dynamiques (graphiques, jauges, cartes, etc.).
- Rapports et alertes automatisées: génération de rapports personnalisés à la demande ou planifiés, avec export (PDF, CSV) ou envoi par email, et configuration d'alertes conditionnelles déclenchant des actions automatisées (emails, scripts, webhooks, etc.).
- Automatisation, intégration et extensibilité: exécution d'actions automatisées, intégration avec des outils tiers (Slack, Jira, ServiceNow) et extension des fonctionnalités via les apps de Splunkbase ou des modules avancés comme le Machine Learning Toolkit.
Installation de Splunk sur Debian
- Après avoir créé un compte sur le site officiel de Splunk, téléchargez la version Enterprise correspondant à l’architecture de votre système. .
- Pour une machine Debian/Ubuntu 64 bits, vous pouvez utiliser la commande suivante(lien a mettre a jour) :
wget -O splunk-9.4.1-e3bdab203ac8-linux-amd64.deb "https://download.splunk.com/products/splunk/releases/9.4.1/linux/splunk-9.4.1-e3bdab203ac8-linux-amd64.deb"
- Installez le paquet :
sudo dpkg -i splunk-*.deb
- Démarrez le service avec acceptation de la licence :
puis créez un utilisateur et définissez son mot de passesudo /opt/splunk/bin/splunk start --accept-license
- Accédez à l'interface web sur :
http://localhost:8000
et connectez vous avec l'utilisateur et le mot de passe crée précedement - Une fois sur la page d'acceuil rendez vous dans parametteres puis transmission et réception, dans Réception de données on ajoute le port par defaut 9997
Installation du Forwarder sur Windows 10
- Double-cliquez sur le fichier .msi téléchargé et suivez l'assistant
- Acceptez la licence
- Définissez un utilisateur et un mot de passe pour puis l'ip du serveur: 192.168.20.130 (dans notre cas) avec le port 8089 (port de management)
- Dans la fenêtre suivante l'IP du serveur avec le port 9997 (port de réception par defaut precedement defini dans le serveur)
- Ouvrez Powershell en super utilisateur et allez dans le dossier d'installaltion de splunk puis verifier la liste des serveurs actifs
cd "C:\Program Files\SplunkUniversalForwarder\bin" .\splunk.exe list forward-server
Rendez-vous sur page de téléchargement de Universel Splunk Forwarder et téléchargez la version Windows 64-bit.
Installation du Forwarder sur Linux (Kali)
Rendez-vous sur page de téléchargement de Universel Splunk Forwarder et téléchargez la version a votre architecture système (.deb 64bit dans notre cas).
|
|
Verification de l'envoi de logs
Depuis l'interface web du serveur Splunk on exécute la recherche index=*
- Simulation de deux attaques
1- Tentative de connexion SMB avec des identifiants aléatoires.
Depuis une machine distante (Linux), On tente de se connecter au partage administratif C$ de la machine Windows(ip=192.168.20.130) avec un nom d'utilisateur aléatoire(Axel) avec la commande :smbclient //192.168.20.130/C$ -U Axel
Cette tentative d'accès utilise le protocole SMB (Server Message Block), souvent ciblé dans des attaques par brute force ou reconnaissance réseau.
Conséquence sur le système Windows
La tentative échoue, car le nom d'utilisateur ou le mot de passe est incorrect. Cela déclenche un événement de sécurité Windows de type 4625 - Échec d'ouverture de session.Observation dans Splunk
Sur le serveur Splunk, cet événement est bien remonté via le Splunk Universal Forwarder installé sur le client Windows. La requête suivante permet d'afficher les échecs de connexionindex=* EventCode=4625
Et nous pouvons voir depuis l'interface web du serveur Splunk que nous avons cet évènement sous le code event 4625
Désactivation de l'antivirus.
Nous désactivons l'antivirus sur la machine WindowsConséquence sur le système Windows
La désactivation de l'antivirus en entreprise par un employé est vue comme malveillant, car sans antivirus actifObservation dans Splunk
Grâce à la collecte continue des journaux, l'événement est transmis au serveur Splunk et identifié avec le EventCode 15. La requête suivante permet de le retrouver : index=* EventCode=15
Création d'un rapport avec envoi d'email
- Effectuez une recherche (ex précedent mais sous forme de tableau :
index=* EventCode=15 | table ComputerName, LogName, Message, EventCode | head 20
). - Enregistrez-la comme rapport via :
Enregistrer sous > Rapport
. - Clic droit sur modifier > Modifier la planification
- Configurez un planification (quotidienne, hebdomadaire...) puis Ajouter des actions l'envoi par e-mail :
- Format : PDF, CSV, etc.
- Ajoutez les destinataires.
- Configurez le serveur SMTP dans :
Paramètres > Paramètres serveur > Paramètres de messagerie
.
Ainsi que le pdf avec les informations de recherche
Création d'un tableau de bord personnalisé
- Créez une recherche (ex. :
index=wineventlog sourcetype=WinEventLog:Security (EventCode=4624 OR EventCode=4625) | eval TypeConnexion=if(EventCode==4624, "Connexion réussie", "Connexion échouée")
ou
index=* | table _time sourcetype EventCode Message | sort -_time | head 20
). - Utilisez "Enregistrer sous > Panneau de tableau de bord".
- Ajoutez-la à un tableau de bord existant ou créez-en un nouveau.
- Ajoutez plusieurs visualisations (graphiques, jauges, etc.).
Conclusion
Grâce à Splunk, vous pouvez centraliser vos logs, créer des rapports automatisés et piloter la sécurité de votre infrastructure en un clin d'œil.
References
Au cas où ce blog ne suffirait pas, je vais énumérer des ressources utiles.
1 200 mots
25-04-2025 00:00