Amélioration de la sécurité des systèmes informatiques
ELK Stack : Elasticsearch, Kibana, Beats et Logstash
Sous la direction de M. Brahim SABIRI



Réaliser par :


Abdelati LOTFI
Amine HACHIK
Sommaire
Introduction
1.
2.
Critique de l'existant
3.
Problématique
# whomai
Solution proposée
4.
5.
Objectifs du projet
Méthodologie
6.
Conclusion
7.
Introduction
- Le contexte de notre Projet de Fin d'Études (PFE) est la nécessité de renforcer la sécurité des systèmes informatiques au sein DEVA PHAR.
- Dans un monde de plus en plus connecté, les menaces et les attaques informatiques sont devenues une réalité préoccupante.
- Afin de protéger les infrastructures informatiques et les données sensibles, il est essentiel de mettre en place des solutions de sécurité robustes et efficaces.
# CHAPTER 2
Critique de l'existant
Au cours de notre analyse du système d'information de notre société nous avons identifié des points faibles
Difficultés à assurer un accès constant et fiable au système.
Manque d'outils de surveillance pour suivre les activités des utilisateurs et détecter les intrusions non autorisées.
Besoin d'attention pour améliorer la disponibilité, renforcer la supervision et assurer une meilleure sécurité du système d'information de note societé.
1
Gestion de logs décentralisée
2
Incapacité de bloquer plusieurs types d’intrusions
3
Absence d'un moyen pour mesurer le niveau de sécurité du SI
5
Manque de maturité de la sécurité
4
Absence d’outils de supervision
6
Vue limitée des activités de sécurité, difficulté à repérer les comportements suspects
Problématique
# PRESENTING CODE
- Absence d'installation d'une solution SIEM (Security Information and Event Management) dans notre société.
- Lacunes en matière de surveillance, de détection et de gestion des incidents de sécurité.
- Vue limitée des activités de sécurité, difficulté à repérer les comportements suspects et réagir efficacement aux menaces.
- Nécessité impérative de mettre en place une solution SIEM pour améliorer la sécurité et protéger le système d'information de notre société.

# cd alias rm
Solution proposé
Il est proposé de déployer un système de gestion d'informations et d'événements de sécurité appelé ELK STACK pour répondre aux problèmes mentionnés précédemment.
Ce système permettrait de gérer de manière centralisée les données provenant de divers outils de sécurité, de les stocker et de les traiter afin de faciliter la tâche des administrateurs dans l'administration et la gestion de la sécurité.
Objectifs du projet:
Mise en place de la solution elastic stack dans une infrastructure reseaux
En sécurité informatique, l’analyse des logs est une tâche essentielle. Ces journaux d’événements enregistrent l’historique des activités sur les équipements et les logiciels, ce qui permet de détecter d’éventuelles anomalies et d’y remédier efficacement.
La mise en place de contre-mesures adaptées constitue l’un des moyens les plus efficaces pour protéger notre infrastructure réseau contre les menaces. Lorsqu’elles sont bien gérées, ces mesures renforcent significativement la sécurité. Il reste toutefois indispensable de procéder à des vérifications régulières afin de s’assurer que les dispositifs en place sont toujours efficaces et à jour.
L’analyse des logs au sein de l’infrastructure réseau joue donc un rôle clé dans la stratégie de sécurité : sans elle, la détection proactive des incidents et la réaction rapide en cas de problème seraient fortement compromises.
- Introduction
2. conditions requises pour le téléchargement
Les besoins en termes de matériel sont étroitement liés au nombre de terminaux protégés et à la charge de travail dans la prod.
Ce nombre permet d'estimer la quantité de données qui seront analysées ainsi que le nombre d'alertes de sécurité qui seront stockées et indexées.

3.Systèmes d'exploitation
Pour l'installation des composants centraux de ELK STACK, il est préférable d'utiliser un système d'exploitation Linux 64 bits. ELK STACK recommande l'utilisation de l'une des versions suivantes du système d'exploitation

4. ELK stack
La pile ELK est un ensemble de logiciels open source largement utilisés pour la gestion et l'analyse des journaux (logs) et des données volumineuses. ELK est un acronyme pour Elasticsearch, Logstash et Kibana, les trois composants principaux de cette pile.

Beats : Ce sont de petits agents installés sur les serveurs. Ils sont très légers et servent à collecter les logs (systèmes, applications, etc.) et à les envoyer à Logstash ou directement à Elasticsearch.
Logstash : C’est un outil qui reçoit les données collectées, les filtre ou les transforme si besoin, puis les transmet à Elasticsearch. Il permet de traiter différents formats et sources.
Elasticsearch : C’est une base de données très performante qui stocke les logs au format JSON et permet une recherche rapide des informations. Elle est conçue pour gérer de grandes quantités de données.
Kibana : C’est l’interface graphique utilisée pour visualiser les données stockées dans Elasticsearch. Elle permet de créer des tableaux de bord interactifs, de faire des recherches ou des analyses visuelles.
All-in-one deployment
Le serveur ELK (Elasticsearch, Logstash, Kibana) est installé sur un hôte dédié.
Cette solution permet de centraliser l’ensemble des journaux provenant de différents équipements réseau et systèmes. Elle est idéale pour la surveillance, l’analyse et la détection d’anomalies.
Le serveur ELK, composé de :
-
Elasticsearch (base de données NoSQL pour stocker les logs),
-
Logstash (collecte et traitement des logs),
-
Kibana (visualisation des données via des tableaux de bord interactifs).
-
Sur les machines Windows :
Installation de l’agent Winlogbeat pour collecter les logs d’événements Windows (système, sécurité, application) et les transmettre au serveur ELK.

Sur les équipements réseau (pare-feux, routeurs, switchs) :
Configuration de l’envoi des journaux via le protocole Syslog vers le serveur ELK.



Configuration Syslog sur Fortigate
Switch# configure terminal
Switch(config)# logging enable
Switch(config)# logging host 172.16.10.2
Switch(config)# logging trap warnings
Switch(config)# end
Switch# show loggingConfiguration Syslog sur Switch CISCO

# CHAPTER 2
Méthodologie
Pour assurer la sécurité de l'entreprise, nous suivrons une méthodologie en plusieurs étapes.
ont a utilisée All-in-one deployment
c'est la meilleur solution pour répondre au besoins
apt-get install apt-transport-https zip unzip lsb-release curl gnupg# PRESENTING CODE
Certains packages supplémentaires sont nécessaires pour l'installation, tels que curl ou unzip, qui seront utilisés dans les étapes suivantes.
Installer Elasticsearch
curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch |
gpg --no-default-keyring
--keyring gnupg-ring:/usr/share/keyrings/elasticsearch.gpg
--import && chmod 644 /usr/share/keyrings/elasticsearch.gpgecho "deb [signed-by=/usr/share/keyrings/elasticsearch.gpg]
https://artifacts.elastic.co/packages/7.x/apt stable main" |
tee /etc/apt/sources.list.d/elastic-7.x.list# PRESENTING CODE
Ajoutez le repository
Mettez à jour les informations sur le package
apt-get updateapt-get install elasticsearch=7.17.9# PRESENTING CODE
Installez le package Elasticsearch :
Téléchargez le fichier de configuration /etc/elasticsearch/elasticsearch.yml comme suit :
curl -so /etc/elasticsearch/elasticsearch.yml
https://packages.wazuh.com/4.4/tpl/elastic-basic
/elasticsearch_all_in_one.ymlcurl -so /usr/share/elasticsearch/instances.yml https://packages.wazuh.com/4.4/tpl/elastic-basic/instances_aio.yml# PRESENTING CODE
Télécharger le fichier de configuration pour créer les certificats
Dans les étapes suivantes, un fichier contenant un dossier nommé d'après l'instance définie ici sera créé. Ce dossier contiendra les certificats et les clés nécessaires pour communiquer avec le nœud Elasticsearch en utilisant SSL.

/usr/share/elasticsearch/bin/elasticsearch-certutil
cert ca --pem --in instances.yml --keep-ca-key
--out ~/certs.zip# PRESENTING CODE
Les certificats peuvent être créés à l'aide de l'outil elasticsearch-certutil
Extrayez le fichier certs.zip généré à l'étape précédente.
unzip ~/certs.zip -d ~/certs
mkdir /etc/elasticsearch/certs/ca -p
cp -R ~/certs/ca/ ~/certs/elasticsearch/* /etc/elasticsearch/certs/
chown -R elasticsearch: /etc/elasticsearch/certs
chmod -R 500 /etc/elasticsearch/certs
chmod 400 /etc/elasticsearch/certs/ca/ca.* /etc/elasticsearch/certs/elasticsearch.*
rm -rf ~/certs/ ~/certs.zip# Presenting
L'étape suivante consiste à créer le répertoire /etc/elasticsearch/certs, puis à y copier le fichier CA, le certificat et la clé :
Activer et démarrer le service Elasticsearch
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearchModifier le fichier de configuration de elasticsearch
systemctl restart elasticsearch
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic# PRESENTING CODE
Générez des informations d'identification pour tous les rôles et utilisateurs prédéfinis de la Suite Elastic

curl -XGET https://172.16.10.2:9200 -u elastic:YaIlvmcXVAv0HBAqD66v -k# PRESENTING CODE
Pour vérifier que l'installation s'est bien déroulée

# PRESENTING CODE
Installation de WinLogBeat
Winlogbeat est un agent léger développé par Elastic qui permet de collecter les logs d’événements Windows (sécurité, système, application) et de les envoyer vers Logstash ou Elasticsearch.
🧩 Étapes d'installation
-
🔽 Téléchargement :
-
Aller sur le site officiel : elastic.co/beats/winlogbeat
-
Télécharger la version ZIP adaptée à l'architecture (x64 ou x86)
-
-
📂 Installation :
-
Extraire le fichier ZIP dans un dossier, par exemple :
C:\Program Files\Winlogbeat
-
# PRESENTING CODE
Configuration :
-
Ouvrir le fichier winlogbeat.yml avec un éditeur (ex : Notepad++)
-
Définir les logs à collecter :
# ================== Winlogbeat Configuration ==================
winlogbeat.event_logs:
- name: Application
- name: Security
- name: System
# ================== Output vers Logstash ==================
output.logstash:
hosts: ["172.16.10.2:5044"]
# ================== Logging ==================
logging.level: info
logging.to_files: true
logging.files:
path: C:/ProgramData/winlogbeat/Logs
name: winlogbeat
keepfiles: 7
permissions: 0644Lancement de Winlogbeat Powershell
.\install-service-winlogbeat.ps1
Start-Service winlogbeat
apt-get install kibana=7.17.9# PRESENTING CODE
Kibana installation and configuration
Kibana est une interface Web flexible et intuitive pour l'exploration et la visualisation des événements et des archives stockés dans Elasticsearch.
Installer le package Kibana
mkdir /etc/kibana/certs/ca -p
cp -R /etc/elasticsearch/certs/ca/ /etc/kibana/certs/
cp /etc/elasticsearch/certs/elasticsearch.key /etc/kibana/certs/kibana.key
cp /etc/elasticsearch/certs/elasticsearch.crt /etc/kibana/certs/kibana.crt
chown -R kibana:kibana /etc/kibana/
chmod -R 500 /etc/kibana/certs
chmod 440 /etc/kibana/certs/ca/ca.* /etc/kibana/certs/kibana.
# PRESENTING CODE
Copiez les certificats Elasticsearch dans le dossier de configuration de Kibana :
Téléchargez le fichier de configuration Kibana :
curl -so /etc/kibana/kibana.yml https://packages.wazuh.com/4.4/tpl/
elastic-basic/kibana_all_in_one.yml# PRESENTING CODE
Modifiez le fichier /etc/kibana/kibana.yml
Créez le répertoire /usr/share/kibana/data
mkdir /usr/share/kibana/data
chown -R kibana:kibana /usr/share/kibana

# CHAPTER 2
Résultat de la collecte des logs
la fin de l’implémentation, les logs sont bien collectés, centralisés et visualisés dans l’interface Kibana.
✔️ Le serveur ELK est opérationnel : Elasticsearch, Logstash et Kibana fonctionnent correctement sur le serveur central.
✔️ Winlogbeat est installé sur la machine Windows et remonte en temps réel les journaux d’événements (sécurité, système, application).
✔️ Les équipements réseau (pare-feux, switchs, routeurs) peuvent également transmettre leurs logs via Syslog.
✔️ L’interface Kibana Discover permet de :
-
Rechercher les événements par date, hôte, type ou utilisateur
-
Filtrer les résultats avec précision selon les champs souhaités
-
Visualiser les événements au fil du temps (graphiques)
-
Examiner les logs détaillés ligne par ligne
-
Créer des tableaux de bord personnalisés pour la surveillance
Example de mon dashboard KIBANA


Text
Example d'un évènement réel
Lors de la consultation des logs dans Kibana, un événement de type 4672 a été observé. Ce type d’événement indique qu’un compte s’est vu attribuer des privilèges spéciaux lors de l’ouverture de session.
Détails de l’événement 4672 (extrait de Discover) :
-
Utilisateur concerné : Système (SID : S-1-5-18)
-
Domaine : AUTORITE NT
-
Machine : DESKTOP-PGM1QET
-
Privilèges attribués :
SeDebugPrivilege, SeTakeOwnershipPrivilege, SeBackupPrivilege, SeRestorePrivilege, etc.
➡️ Il s’agit d’un compte système local auquel Windows attribue des privilèges très sensibles. Ces types d’événements sont essentiels à surveiller, car une attribution de ces droits à un utilisateur non autorisé peut représenter un risque de sécurité majeur.
💡 Grâce à cette architecture ELK + Winlogbeat, nous avons donc la capacité de :
Centraliser les journaux provenant de différentes sources
Visualiser en détail l’activité du système et du réseau
Identifier les événements critiques comme l’attribution de privilèges élevés
Préparer une base solide pour des audits ou alertes de sécurité
Conclusion
# PRESENTING CODE
La mise en place de la solution ELK STACK permettra à notre entreprise de renforcer sa sécurité informatique en détectant et en prévenant les incidents de sécurité de manière proactive. Ce projet de PFE représente pour nous une opportunité unique d'approfondir nos connaissances en matière de sécurité informatique et de contribuer activement à la protection des systèmes et des données de l'entreprise.
Je tiens à remercier toutes les personnes qui m’ont accompagné durant la réalisation de ce projet, notamment mon encadrant pour ses conseils précieux, ainsi que l’ensemble de l’équipe pour leur soutien.
Merci également pour votre attention et votre temps lors de cette présentation.
N’hésitez pas si vous avez des questions !
Remerciement

PFE ELK stack
By amine hachik
PFE ELK stack
- 107