Académique Documents
Professionnel Documents
Culture Documents
Intitulé de travail :
Mise en place d'un environnement de supervision et réponse aux incidents de sécurité.
Enterprise d’accueil :
ISSROAD consulting
Soutien financier :
Non Rémunéré
2
Dédicace
À DIEU, le tout puissant, Le Clément, Le Glorieux, Le Juste et Le Gracieux, qui m’a béni de
santé, force et courage pendant tout au long de mes années d’études.
Aucun hommage ne saurait rendre justice à l’amour et l’affection dont ils m'ont constamment
comblé. Puissent-ils voir dans ce travail un témoignage de mon profond amouret éternelle
reconnaissance.
Que dieu les préserve en bonne santé et leur accorde une longue vie.
À Mes deux chers sœurs Hajar, Doae ainsi qu’à mon petit frère Mohamed Amine qui me
comblent d’amour et à qui je souhaite un futur empli de succès.
À tous les passagers de ma vie, ceux qui m’ont appris les leçons les plus précieuses de la vie.
À mes ami(e)s…
À tous ceux et celles qui, de près ou de loin ont contribué à la réussite de ce travail.
Je dédie ce projet,
TAHIR Issam
3
Remerciements
Je remercie chaleureusement ma famille qui me soutient depuis toujours, ma source d’énergie, d’espoir
et de motivation.
J’aimerais tout d’abord adresser mes sincères remerciements au cadre pédagogique de l’Ecole Nationale
des Sciences Appliquées de TANGER (ENSAT) et spécialement mon professeur et mon encadrant
interne, Professeur Anass KHANNOUS, pour la qualité de suivi et l'orientation, pour les remarques et
les conseils constructifs et précieux, pour sa disponibilité et le temps qui m’a consacré, et surtout pour
le soutien moral et l’encouragement qu’il m’a prodigué.
J’adresse mes spéciales remerciements aux membres de jury Monsieur …….. Anass KHANNOUS, qui
m’ont fait l’honneur d’accepter d’examiner et de juger mon modeste travail, j’espère qu’il sera au niveau
de leurs attentes.
Finalement, je tiens à remercier tout particulièrement mes encadrants techniques Madame Salwa Harif
et mes deux chers collègues KOUZI Yahya et EL HARROUS Oumaima, de m’avoir confié un projet
d’une grande envergure, pour leur accueil chaleureux au sein d’ISSROAD, l’intérêt qu’ils m’ont montré
et l’effort qu’ils ont consacré à la réalisation de ce projet, leurs remarques constructives, et surtout leur
disponibilité.
4
Résumé
La possession et l'exploitation d'un réseau d'entreprise nécessitent d'avoir un plan de sécurité en
tête. Si une menace de sécurité pénètre dans le réseau, elle peut se propager à n'importe quel appareil
connecté au réseau. Pour protéger à la fois le réseau et les appareils, l’entreprise doit avoir plusieurs
stratégies de sécurité bien structurée. Une de ces stratégies est fait l’objet de notre projet de fin d’études.
En effet, il est question pour mes six mois de stage à ISSROAD de réaliser une solution adaptée au
besoin de notre client afin de répondre aux problématiques suivants : savoir d’abord si cette menace
existe ? elle est où ? et depuis quand elle est là-bas ?
Tout au long de notre projet, notre objectif principal était de mettre en place une solution qui va
aider notre client à centraliser l’ensemble des évènements de ses équipements, ainsi aider leurs
administrateurs réseaux / systèmes à avoir une visualisation centrale incluant plusieurs technologies tels
que les postes de travail, des serveurs, des solutions de stockage, des serveurs de virtualisation, des
pares-feux etc.
Pour répondre à cette problématique, on s’est mis d’accord de déployer la pile ELK, qui est
considérée avancée et leader parmi les solutions SIEM. La pile ELK propose plusieurs méthodes pour
arriver à collecter les données depuis les différents équipements, cette diversité nous a aidé à atteindre
un grand nombre des équipements du réseau de notre client. ELK aussi propose un large éventail des
tableaux de bords de plusieurs technologies, ce qui va permettre au client de comprendre bien comment
ses équipements se comportent. Nous avons ajouté et amélioré ces tableaux de bords afin de les rendre
plus utile et répondre au besoin exacte de notre client. Ensuite nous avons ajouté des règles des cas
d’usage, pour alerter l’équipe d’administration aux failles et aux incidents, et enfin pour compléter notre
travail nous avons ajouté à notre solution un serveur de backup qui va aider le client à restaurer ces
données au cas de pertes.
Lors de ce stage j’ai suivi une formation sur la solution ELK et une autre sur les tests de
pénétration PenTest. Aussi, j’ai contribué aux autres missions interne d’administration réseaux /
systèmes.
5
Abstract
Owning and operating a corporate network requires a security plan in mind. If a security threat
enters the network, it can spread to any device connected to the network. To protect both the network
and devices, the organization must have several well-structured security policies. One of these strategies
is the subject of our graduation project. Indeed, my six-month internship at ISSROAD is about realizing
a solution adapted to our client's needs in order to answer the following problems: first of all, to know if
this threat exists? where is it? and since when is it there?
Throughout our project, our main objective was to implement a solution that will help our client
centralize all events of his equipments, as well as help their network / systems administrators to have a
central visualization including several technologies such as workstations, servers, storage solutions,
virtualization servers, firewalls etc.
To resolve this problem, we agreed to deploy the ELK stack, which is considered advanced and
leader among SIEM solutions, the ELK stack offers several methods to manage to collect data from the
different equipments, this diversity helped us to reach a large number of the equipments of our client's
network. ELK also offers a wide range of dashboards of several technologies, which will allow the client
to understand well how his equipment behaves, we added and improved on these dashboards in order to
make them more useful and meet the exact needs of our client. Then we added use cases rules, to alert
the management team to faults and incidents, and finally to complete our work we added to our
solutinous avons backup server that will help the client to restore this data in case of losses.
During this internship I received training on the ELK solution and another on the PenTest. Also,
I have contributed to other internal network/systems management missions.
6
Table des matières
Avant-Propos ..................................................................................................................................... 2
Dédicace ............................................................................................................................................ 3
Remerciements................................................................................................................................... 4
Résumé.............................................................................................................................................. 5
Abstract ............................................................................................................................................. 6
Table des matières .............................................................................................................................. 7
Liste des figures .................................................................................................................................. 9
Liste des tableaux.............................................................................................................................. 11
Définition des termes et abréviations ................................................................................................... 12
Introduction générale ........................................................................................................................ 13
1 Présentation d’ISSROAD et contexte général du projet ............................................................ 15
1.1 Introduc�on ................................................................................................................................ 15
1.2 Présenta�on de l’entreprise d’accueil .......................................................................................... 15
1.2.1 Présenta�on d’ISSROAD ................................................................................................................................. 15
1.2.2 Secteur d’ac�vités ........................................................................................................................................... 15
1.2.3 Missions .......................................................................................................................................................... 15
1.2.4 Services & Solu�ons d’ISSROAD ..................................................................................................................... 16
1.2.5 Fonc�onnement d’ISSROAD ........................................................................................................................... 16
7
2.3.1.1 Elas�cSearch.......................................................................................................................................... 28
2.3.1.2 Logstash................................................................................................................................................. 29
2.3.1.3 Beats...................................................................................................................................................... 30
2.3.2 Traitement et structure des données avec Elas�cStack .................................................................................. 31
8
4.4 Conclusion .................................................................................................................................. 77
Conclusion générale ....................................................................................................................... 78
Webographie .................................................................................................................................. 79
9
Figure 45 : les data views metrics* ......................................................................................................................................... 59
Figure 46 : perçu des data views metric* ............................................................................................................................... 59
Figure 47 : exemple des indices .............................................................................................................................................. 60
Figure 48 : exemple du log Windows desktop ........................................................................................................................ 60
Figure 49 : exemple du log Windows server ........................................................................................................................... 61
Figure 50 : exemple du log Linux............................................................................................................................................. 62
Figure 51 : exemple du log de pfSense.................................................................................................................................... 63
Figure 52 : exemple du log d'ESXI ........................................................................................................................................... 64
Figure 53 : exemple d'un ensemble des dashboards .............................................................................................................. 65
Figure 54 : les dashboards du pfSense .................................................................................................................................... 66
Figure 55 : les dashboards d'ESXI ........................................................................................................................................... 68
Figure 56 : les dashboards du Windows ................................................................................................................................. 68
Figure 57 : les dashboards du Linux ....................................................................................................................................... 69
Figure 58 : scénario d'attaque ................................................................................................................................................ 69
Figure 59 : règle de création d'un compte sur AD ................................................................................................................... 70
Figure 60 : règle d'ajout d'un utilisateur à un groupe privilégié ............................................................................................. 71
Figure 61 : règle des ports de SSH et RDP pour pfSense ......................................................................................................... 72
Figure 62 : règle de niveau de stockage ESXI .......................................................................................................................... 72
Figure 63: règle du niveau de RAM et CPU d'ESXI .................................................................................................................. 73
Figure 64: statut de connexion des nœuds avec le fichier partagé backup1 .......................................................................... 74
Figure 65 : politique des snapshots ........................................................................................................................................ 75
Figure 66 : exemple des snapshots prises ............................................................................................................................... 75
Figure 67 : exemple d'un snapshot ......................................................................................................................................... 76
10
Liste des tableaux
Tableau 1 : l'état d'existant en absence du SIEM .................................................................................................................... 18
Tableau 2 : l'état d'existant en présence du SIEM ................................................................................................................... 19
Tableau 3 : les acteurs de projets............................................................................................................................................ 20
Tableau 4 : Benchmark des solutions SIEM ............................................................................................................................. 27
Tableau 5 : les types des évènements ..................................................................................................................................... 34
Tableau 6 : exemple du nombre et stockage des évènements de certains technologies par jour ........................................... 37
Tableau 7 : les plug-ins du Logstash ....................................................................................................................................... 39
Tableau 8 : procédure de collecte des logs par équipement ................................................................................................... 40
Tableau 9 : liste des types des logs du pfSense ....................................................................................................................... 51
Tableau 10 : exemple des informations des logs du Windows desktop .................................................................................. 61
Tableau 11 : exemple des informations des logs du Windows server ..................................................................................... 62
Tableau 12 : exemple des informations des logs du Linux ...................................................................................................... 63
Tableau 13 : exemple des informations des logs du pfSense .................................................................................................. 64
Tableau 14 : exemple des informations des logs d'ESXI .......................................................................................................... 64
11
Définition des termes et abréviations
A N
AD : Active Directory NFS : Network File System
C R
CPU : Central Processing Unit
RAM : General Data Protection Regulation
D S
DNS : Domain Name System
SIEM : Security Information and Event Management
DMZ : DeMilitarized Zone
SOC : Security Operation Center
IP : Internet Protocol U
IT : Information Technology UDP : User Datagram Protocol
IDS : Intrusion Detection Systems
IPS : Intrusion Prevention Systems V
ISO : International Organization for VM : Virtual Machine
Standardization
ILM : Index Lifecycle management
W
J WEB : Open-Source Intelligence
12
Introduction générale
Les notions de cybersécurité englobent un ensemble de technologies, de méthodes et de protocoles
élaborés dans le but de d’assurer la confidentialité et l'intégrité de système d’information d'une
organisation, tels que les informations personnelles identifiables, les données financières, les dossiers
médicaux, les secrets commerciaux et la propriété intellectuelle, etc. Face à une montée fréquente et
sévère des activités cybercriminelles, les organisations doivent impérativement améliorer leur gestion
des risques liés à leurs systèmes d’informations.
À mesure que la dépendance s'accroît entre les systèmes informatiques, les réseaux, les logiciels, les
plateformes de médias sociaux et les données globales, les entités se retrouvent vulnérables aux menaces
cyber. Parmi celles-ci, les atteintes à la sécurité des données, fréquemment perpétrées sous forme de
cyberattaques, ont un impact considérablement dangereux sur les entreprises, causé par une insuffisance
dans la protection des informations sensibles.
Afin d'aider les administrations réseaux / systèmes à avoir une visibilité centrale et précise sur leurs
systèmes d'information, où nous travaillerons sur une solution qui intègre plusieurs technologies réseaux
/ systèmes. A travers ce projet nous allons travailler sur une amélioration sur ce niveau de visibilité
réseau.
Notre stage de fin d'études s'est déroulé chez ISSROAD à partir du début février à début aout, une
entreprise de cybersécurité de premier plan dans la sous-région. Dans ce cadre de stage, notre objectif
était de déployer une solution SIEM chez un des client d’ISSROAD. Nous commencerons par une
présentation de l’entreprise d’accueil et le contexte général du projet au chapitre 1. Ensuite, au chapitre
2 nous aborderons une étude fonctionnelle de la solution SIEM choisi, et une autre étude conceptuelle
de l’architecture sur laquelle on va travailler. Dans le chapitre 3, nous allons travailler sur les installations
et les configurations nécessaire pour le déploiement de la solution. Enfin, dans le chapitre 4, nous
travaillerons sur une évaluation de la solution déployée et nous clôturons le chapitre 4 par l’état
d’avancement de la mise en production avec le client.
13
CHAPITRE 1 :
Présentation d’ISSROAD
et contexte général du
projet
14
1 Présentation d’ISSROAD et contexte général du projet
1.1 Introduction
Dans ce chapitre nous essaierons de présenter d’une façon détaillée l’entreprise où a été effectué
le projet de fin d’études, en mettant en lumière son secteur d’activités, ses missions ainsi que quelques
les services et solutions d’entreprise. Par la suite, nous présenterons le contexte général, Etude de
l’existant et les objectifs du projet et enfin nous allons présenter le chronogramme du projet.
ISSROAD Consulting est une société marocaine de conseils, ayant des bureaux situés à Tanger,
Casablanca et Toulouse, qui fournit une gamme complète de solutions et de services de cybersécurité
couvrant les différents aspects de la technologie. ISSROAD se tient à côtés de ses clients pour éliminer
les menaces et les risques potentiels en matière de cybersécurité, en proposant des stratégies
personnalisées et des solutions innovantes pour protéger leur architecture.
1.2.3 Missions
La mission d’ISSROAD est de veiller à ce que les entreprises de toutes tailles, les organisations
publiques et les particuliers comprennent les cyber-risques et adoptent une approche plus sensée lorsqu'il
s'agit de protéger leurs données et celles des autres.
Afin d'atteindre ses objectifs, ISSROAD fournit une gamme de services de sensibilisation, de formation,
de conseil en audit et architecture ainsi que le déploiement de solutions de cybersécurité et de services
managés.
15
1.2.4 Services & Solutions d’ISSROAD
16
Un plan de travail a été élaboré pour mener à bien ce projet. Le déploiement de la solution
nécessite d’étudier l'architecture puis le dimensionnement de cette architecture pour prendre en charge
tous les équipements de production, ainsi que le déploiement et la connexion de tous les logiciels,
modules et serveurs. Enfin, des tableaux de bord de visualisation de l'information et des alertes seront
mis en place pour détecter les incidents de sécurité.
Afin de garantir une continuité de production ininterrompue et à jour dans le domaine IT, il est
essentiel de maintenir le bon fonctionnement des équipements et de résoudre les incidents et pannes le
plus rapidement possible.
Cependant, dans certains cas, la résolution de ces problèmes peut prendre beaucoup de temps, non pas
en raison de difficultés techniques, mais en raison de la complexité de localiser précisément l'origine de
panne, quelle machine ? quel service ? quel port ? …, cela devient plus dur lorsque l'architecture est
étendue, comme c'est le cas avec de la société cliente qui dispose d'une grande infrastructure, composée
de différentes technologies, sans une centralisation des logs de suivi.
17
C’est pour cela la mise en place d'un système de gestion des informations de sécurité (SIEM) est une
nécessité d’abord afin d'obtenir la certification ISO 27001 de plus le SIEM permet également d'obtenir
une vue globale du réseau grâce aux différents tableaux de bord générés. Cela facilite la détection et la
prévention rapide des vulnérabilités, permettant ainsi à l'administration réseau de garantir une continuité
de service optimal.
Dans les tableaux ci-dessous on fait une étude comparative aux cas où la solution SIEM est déployé ou
bien non déployé :
En absence du SIEM :
Avantages Inconvénients
18
En présence du SIEM :
Avantages Inconvénients
• Facilitation de la collaboration et la
coordination entre les différents départements
de l’entreprise.
L’étude du besoin est le point de départ de tout projet. Avant d’imposer un « comment » ou une
solution, il faut s’orienter vers l’utilisateur pour aboutir de manière structurée à la solution car un projet
n’a pas de sens que s’il satisfait le besoin. Il s’agit d’expliciter l’exigence fondamentale qui justifie la
réalisation de ce projet Pour cela, il est essentiel de répondre aux 3 questions suivantes :
19
• Mise en place • Infrastructure
d'une solution réseau de
SIEM et réponse l'entreprise cliente.
aux incidents de
sécurité. Sur
Service
quoi
?
agit-il ?
Qui
dans
rend le
quel
service
but ?
• ISSROAD ? • Centraliser les logs
et avoir un vision
globale du réseau.
1.7 Contraintes
Contraintes pédagogiques :
20
• Le temps dédié à ce travail est limité principalement en 6 mois.
Contraintes de réalisation :
• Un tel projet exige une implication totale afin de le mener à bien et d’assurer une amélioration
continue au sein de l’entreprise.
Afin d’assurer le bon déroulement du projet, nous avons eu recours à la gestion du projet qui
permet la planification de toutes les étapes et tâches à réaliser. Le diagramme de GANTT du projet
réalisé est représenté :
21
1.9 Conclusion
Dans ce premier chapitre, nous avons effectué une présentation de la société d’accueil « ISSROAD
» et ses différents services avec les contextes et les objectifs globaux. Ensuite, nous avons présenté une
étude du système existant, ses lacunes ainsi que les avantages et les inconvénients d’implémenter une
solution SIEM. Par la suite nous avons mentionné les acteurs du projet et enfin nous avons mis en place
le chronogramme à suivre dans l’étape de la réalisation.
Le deuxième chapitre sera consacré à la littérature et aux études des solutions SIEM et de notre solution
choisie et une autre étude conceptuelle de la solution at de l’architecture du travail.
22
CHAPITRE 2 :
Etude fonctionnelle et
conceptuelle
23
2 Etude fonctionnelle et conceptuelle
2.1 Introduction
Dans ce chapitre nous allons faire une littérature des concepts et des termes qui englobent notre
sujet tels que les notions de base du SIEM. Ainsi une étude comparative des solutions leaders SIEM,
puis nous allons traiter le choix de la solution, pourquoi ce choix ? Et comment cette solution fonctionne
? Après Nous allons présenter l’architecture générale du travail et le dimensionnement du cluster Elastic
et enfin on essayera de mettre en place les procédures de collecte de logs que nous allons suivre dans le
chapitre 3.
La gestion des informations et des événements de sécurité (SIEM) est une approche de la gestion
de la sécurité qui combine les fonctions SEM (gestion des événements de sécurité) en un seul système
de gestion de la sécurité et SIM (gestion des informations de sécurité). Les bases fondamentales de tout
système SIEM consistent à centraliser les données pertinentes provenant de diverses sources, à détecter
les anomalies par rapport aux normes établies, puis à entreprendre les actions nécessaires en
conséquence. Par exemple, lorsqu'un problème potentiel est détecté, un système SIEM peut enregistrer
des informations supplémentaires, générer une alerte et donner des instructions à d'autres contrôles de
sécurité pour arrêter la progression d'une activité.
Au niveau le plus élémentaire, un système SIEM peut être basé sur des règles ou utiliser un moteur
de corrélation statistique pour établir des relations entre les entrées du journal des événements. Les
systèmes SIEM avancés ont évolué pour inclure l'analyse du comportement des utilisateurs et des entités
(UEBA) et l'orchestration, l'automatisation et la réponse en matière de sécurité (SOAR).
24
2.2.2 Comment fonctionne le SIEM ?
Les systèmes SIEM fonctionnent en déployant plusieurs agents de collecte d’une manière
hiérarchique pour recevoir des événements liés à la sécurité provenant des équipements des utilisateurs
finaux, des serveurs et des équipements réseaux, et des équipements de sécurité spécialisés, tels que les
pares feux, les antivirus ou les systèmes de prévention/détection des intrusions (IPS/IDS). Les
collecteurs ou les agents transmettent les événements à la console de gestion centralisée, où les analystes
de sécurité passent au crible le bruit, relient les points et classent les incidents de sécurité par ordre de
priorité.
2.2.3 Pourquoi le SIEM est-il important ? Comment les SIEM renforcent-ils la sécurité ?
Le SIEM joue un rôle essentiel dans la sécurité des systèmes informatiques et des réseaux,
d’abord à cause de sa fonction principale, qui est la gestion des événements, il propose une large gamme
de fonctionnalités et de services. Parmi ceux-ci, on retrouve la détection des menaces, la prévention des
menaces, la surveillance en temps réel, ainsi qu'une visualisation complète et améliorée des activités du
réseau.
Bien que ces fonctionnalités soient généralement proposées par différentes solutions et technologies, le
SIEM se distingue en les centralisant et en facilitant leur communication fluide entre ces fonctionnalités.
Il existe plusieurs grandes entreprises du domaine IT qui fournissent leurs produits SIEM sur le
marché, mais nous concentrerons uniquement sur les leaders du marché de la gestion des évènements
des systèmes d’information tels que :
QRadar SIEM :
QRadar est une solution plutôt orientée grandes entreprises d'où peut-être une utilisation un peu plus
complexe lorsqu'il s'agit de la personnaliser. IBM QRadar a la possibilité de collecter les logs et les flux
venant d'applications sur le Cloud. La solution peut être déployée en SAAS (Software As A Service)
grâce à l'offre « IBM Cloud ».
L'offre « IBM QRadar Security Intelligence » inclut les modules de gestion des risques, de gestion des
vulnérabilités, d'analyse d'investigation numérique et les réponses aux incidents.
25
Dans un système tout-en-un, toutes les données sont collectées, traitées et stockées sur l’Appliance tout-
en-un. Dans les environnements distribués, la console QRadar n'effectue pas le traitement des
événements et des flux, ni le stockage. Au lieu de cela, la console QRadar est principalement utilisée
comme interface utilisateur où les utilisateurs peuvent l'utiliser pour des recherches, des rapports, des
alertes et des enquêtes.
Splunk :
L'un des leaders du marché, SPLUNK est relativement simple à utiliser et rapide à mettre en œuvre.
Il existe sur le marché depuis 2006. Il possède une interface graphique conviviale. De plus SPLUNK
rime avec évolutivité : Votre réseau peut s'agrandir, Splunk suivra.
La plateforme Splunk regroupe et analyse les échappements numériques provenant de diverses sources,
notamment les pulls d'interface de programme d'application (API) et les logs des applications, des
serveurs, des appareils mobiles et des sites Web.
26
fichiers de logs, base de données, services web, etc. ElasticSearch est un moteur de recherche qui permet
de retrouver les données que l'on recherche dans Logstash. Kibana est l'interface graphique qui permet
de naviguer dans les données d'ElasticSearch où on peut ensuite générer des tableaux, des graphiques,
etc.
Bien que Elastic est gratuit et libre et à code source ouvert, l'installation d'ELK et sa configuration sont
un peu complexes, ELK repose sur trois solutions libres et à codes sources ouverts mais si l'on veut
profiter de plusieurs fonctionnalités comme les alertes, le monitoring, etc.
Dans ce projet nous allons travailler avec la solution open source ELK qui est un ensemble d'outils
open source d'ingestion de données, d'enrichissement, de stockage, d'analyse et de visualisation aussi
qui permet la supervision de logs et la détection des alertes. En effet, avec ELK Stack nous pouvons
obtenir un système puissant pour analyser l'état et répondre rapidement aux incidents de sécurité de
27
l'information dans une organisation. ELK, acronyme issu des trois composants principaux de la suite
(ElasticSearch, Logstash, Kibana).
ElasticSearch est le cœur de l'ensemble du système, qui combine les fonctions d'une base de
données, c’est un moteur Open source de recherche et d’analyse distribué pour tout type de données, y
compris les données textuelles, numériques, géo- spatiales, structurées et non structurées. ElasticSearch,
au cœur de la Suite Elastic, joue un rôle central dans la découverte et l'analyse des données.
• Node :
Il s'agit d'une instance unique d'ElasticSearch. Un seul serveur physique ou virtuel accueille plusieurs
nœuds en fonction des capacités de leurs ressources physiques comme la RAM, le stockage et la
puissance de traitement.
• Cluster :
28
Un cluster ElasticSearch est un groupe d'une ou plusieurs instances de nœuds ElasticSearch qui sont
connectées ensemble. La puissance d'un cluster ElasticSearch réside dans la répartition des tâches, la
recherche et l'indexation, sur tous les nœuds du cluster.
• Index :
Un index ElasticSearch est un ensemble des documents liés les uns aux autres. ElasticSearch stocke
les données sous forme de documents JSON dans ces indices.
• Documents :
Ce sont essentiellement des enregistrements dans un index, tout comme une ligne dans une base de
données relationnelle. Chaque document a un format JSON, un _id unique qui lui est associé et se
rapporte à un schéma spécifique dans l'index.
• Shard :
Un shard ou fragment est une instance unique de Lucene. C'est l’unité du travail qui est
automatiquement gérée par ElasticSearch qui distribue les partitions entre tous les nœuds du cluster et
peut déplacer automatiquement les partitions d'un nœud à un autre en cas de défaillance d'un nœud ou
d'ajout de nouveaux nœuds.
• Replicas :
Il s’agit d’une copie d’un shard principale existant. Il y a deux raisons principales derrière la
conservation des répliques :
Une partition de réplique peut être promue en partition principale en cas de défaillance.
Les requêtes d'obtention et de recherche peuvent être gérées par des fragments primaires ou de
réplicas, donc le fait d'avoir des réplicas peut améliorer les performances.
2.3.1.2 Logstash
Logstash est une solution open source de traitement de données et de logs côté serveur. Elle peut
recueillir des données provenant d’une multitude de sources pour les filtrer, les transformer, les enrichir,
et enfin les transmettre à un autre système pour des traitements additionnels ou stockage.
Logstash, joue un rôle essentiel dans le transfert des données collectées vers ElasticSearch. Son
fonctionnement est défini dans des fichiers de configuration qui comprend trois étapes principales :
29
Input :
Il s’agit de la première étape du pipeline Logstash, qui sert à introduire les données, en vue d’un
traitement ultérieur. Logstash utilise différents plugins pour recueillir des données issues de diverses
plateformes à tout type de source de données (fichiers, base de données...).
Filter :
La phase de transformation des données est considérée comme la partie la plus "intelligente" de
Logstash. Cette étape permet d'adapter les données collectées selon les besoins spécifiques de la
destination finale, en effectuant des modifications, des filtrages ou des enrichissements, garantissant
ainsi une cohérence et une compatibilité optimales avec ElasticSearch.
Output
C’est la dernière étape du pipeline Logstash. Les événements de sortie sont structurés selon un format
prédéfini, attendu par les systèmes de destination.
2.3.1.3 Beats
Agents et collectionneurs d'événements. Elastic dispose d'un ensemble d'agents prenant en charge
différents ensembles de données de différents systèmes tels que Windows, Linux, Metrics, Uptime...
FileBeat :
WinlogBeat :
MetricBeat :
MetricBeat vous aide à surveiller vos serveurs et les services qu'ils hébergent en
collectant des métriques à partir du système d'exploitation et des services.
AuditBeat :
30
PacketBeat :
PacketBeat est un agent qui collecte des logs réseau (flux, Bytes, SMB, DNS,
SSL, HTTP, Géolocalisation, …etc.).
HeartBeat :
ElasticSearch reçoit des données brutes depuis une multitude de sources. Une fois reçu, Logstash
se charge de l'ingestion des données, et indexe le résultat dans ElasticSearch. Une fois indexées, les
administrateurs peuvent effectuer des recherches et agrégations sur leurs données, créer des
visualisations et des tableaux de bord, depuis Kibana.
31
La structure des données dans ElaticSearch :
L'indexation est la méthode par laquelle les moteurs de recherche organisent les données pour une
récupération rapide. La structure résultante est appelée un index. Chaque index est divisé en plusieurs
shards. En divisant les indices en shards ou fragments une partition contiendra un sous-ensemble des
données et est en elle-même entièrement fonctionnelle et indépendante.
L’index est divisé en shards primaires et réplicas, l’allocation des shards primaires se fait dans un nœuds
et l’allocation des réplicas se fait dans les autres nœuds.
Il y a deux raisons principales pour lesquelles le sharding est important, la première étant qu'il nous
permet de diviser et de mettre à l'échelle des volumes de données. Ainsi, si nous avons des quantités
croissantes de données, car nous pouvons toujours modifier le nombre de partitions pour un index
particulier.
La figure suivante détaille la structure des indexes et shards au sein d’un cluster ElasticSearch.
Tout d'abord, voici une présentation de l'environnement dans lequel nous allons déployer notre
solution afin de la développer :
32
Figure 13 : Architecture du projet
NB : les noms des nœuds : Node 1 - Data Hot / Node 2 – Kibana / Node 3 - Data Warm.
33
Source de Windows server Windows Ubuntu Debian 11 pfSense Esxi
Logs desktop Server Server
Types des ▪ Security logs ▪ Application ▪ System ▪ System ▪ System Events ▪ System
événements ▪ Directory Service logs logs logs ▪ Firewall Events logs
▪ Sécurité logs ▪ DNS Events
logs /WSUS
▪ Installation ▪
▪ DNS Server logs DHCP Events
▪ File Replication
logs ▪ General
▪ Système logs Authentication
Service logs
Events
▪ Group Policy
logs ▪ VPN Events
▪ Active Directory ▪ Gateway Monitor
Web Services Events
logs ▪ Network Time
Protocol Events
Tableau 5 : les types des évènements
Lorsque nous définissons l'architecture d'un système, nous devons avoir une vision claire des cas
d'utilisation et des fonctionnalités que nous offrons. En outre, l'architecture peut être influencée par les
contraintes que nous pouvons confronter, comme le matériel disponible, la stratégie globale de
l’entreprise et bien d'autres contraintes qu'il est important de prendre en compte dans notre exercice de
dimensionnement. Mais de la part des prérequis on peut dire que les facteurs à déterminer sont les
suivants :
1) Stockage :
Les disques SSD sont recommandés dans la mesure du possible, en particulier pour les nœuds
exécutant des opérations de recherche et d'indexation.
ElasticSearch n'a pas besoin d'un stockage redondant, il a au moins un shard et replica, ce qui est
le minimum pour assurer la tolérance aux pannes tout en minimisant le nombre d'écritures.
2) Memory :
JVM Heap : stocke les métadonnées sur le cluster, les index, les fragments, les segments et les
données de champ. Ceci est idéalement réglé à 50% de la RAM disponible.
34
Cache du OS : ElasticSearch utilisera le reste de la mémoire disponible pour mettre les données
en cache, ce qui améliorera considérablement les performances en évitant les lectures sur disque
pendant la recherche en texte intégral, les agrégations sur les valeurs des docs et les tris.
Une machine avec 64GB de RAM est le point idéal, mais les machines de 32GB et 16GB sont
également courantes. Moins de 8GB a tendance à être contre-productif, et plus de 64GB pose également
des problèmes.
3) Compute :
Les nœuds ElasticSearch disposent de pools de threads et de files d'attente de threads qui utilisent
les ressources de calcul disponibles.
La quantité et les performances des cœurs de processeur régissent la vitesse moyenne et le débit
de pointe des opérations de données dans ElasticSearch.
4) Sizing :
Pour les cas d'utilisation de métriques et de log, nous gérons généralement une énorme quantité
de données, il est donc logique d'utiliser le volume de données pour dimensionner initialement notre
cluster ElasticSearch. Au début, nous devons poser quelques questions pour mieux comprendre les
données à gérer dans notre cluster. En général, nous ajoutons 5% ou 10% pour la marge d'erreur et 15%
pour rester sous les filigranes de disque. Il est très important à répondre à ces questions pour avoir le bon
dimensionnement du cluster ELK.
Dimensionnement :
Avant de répondre aux questions ci-dessus on doit d’abord définir c’est quoi un data tier ou bien le
niveau de données :
Un niveau de données (data tier) est un ensemble de nœuds avec le même rôle de données qui partagent
généralement le même profil matériel. Voici les différents niveaux de données :
1) Les nœuds de Content tier gèrent l'indexation et le chargement des requêtes pour le contenu tel
qu'un catalogue de produits.
2) Les nœuds de Hot tier gèrent la charge d'indexation des données de série chronologique telles que
les journaux ou les mesures et contiennent vos données les plus récentes et les plus fréquemment
consultées.
35
3) Les nœuds de Warm tier contiennent des données de séries chronologiques qui sont consultées
moins fréquemment et qui nécessitent rarement une mise à jour.
4) Les nœuds de Cold tier contiennent des données de séries chronologiques auxquelles on accède
rarement et qui ne sont normalement pas mises à jour.
5) Les nœuds de Frozen tier contiennent des données de séries temporelles rarement consultées et
jamais ne mises à jour.
Revenant à la 1ère question de "Combien de jours conserverons-nous les données ? " afin de
respecter les exigences de la ISO 27001 on doit conserver les données au minimum pour 6 mois, nous
avons pris la décision de conserver ces données dans le Hot tier pendant les 2 premiers semaines, puis
ces données vont se déplacer vers le Warm tier pour 6 mois.
Dans notre architecture, le cluster ELK contienne 3 nœuds, on va dédier deux nœuds (Node1- Data Hot
et Node2–Kibana) pour qu’ils seront des nœuds de la zone Hot, c’est deux nœuds vont être identiques
et avec les mêmes prérequis car un nœud va être dédié pour stocker les indices primaires et le deuxième
nœud va stocker les répliques de ces indices, ce choix est pour assurer la haute disponibilité et aussi pour
répartir la charge sur ces deux nœuds. Le 3ème nœud (Node1-Data Warm) sera dédié pour stocker les
données durant le Warm tier.
36
Voici un exemple explicatif de la répartition du stockage :
Tableau 6 : exemple du nombre et stockage des évènements de certaines technologies par jour
Total Data (GB) = Raw data (GB) per day * Number of days retained * (Number of replicas +1).
Total Storage (GB) = Total data (GB) * (1 + 0.15 disk Watermark threshold + 0.1 Margin of error).
37
Total Data Nodes = ROUNDUP (Total storage (GB) / Memory per data node / Memory : Data Ratio).
Pour assurer la collecte de données depuis les équipements vers ElasticSearch on peut dire qu’nous
avons deux méthodes principales à suivre, et elles sont Beats et Logstash :
Beats :
Beats sont des expéditeurs de données légers qu’on installe en tant qu'agents sur les équipements
dans le but d’envoyer des types spécifiques de données opérationnelles à ElasticSearch. Les beats ont
un faible encombrement et utilisent moins de ressources système que Logstash.
Logstash :
Logstash a une plus grande empreinte, mais fournit un large éventail de plug-ins d'entrée, de filtre et
de sortie pour collecter, enrichir et transformer des données provenant de diverses sources.
38
…. …. …. ….
Elastic Agent
Elastic Agent est un moyen unique et unifié qui peut ajouter à la surveillance des logs, autres mesures
et autres types de données à un hôte, il peut :
Un agent unique facilite et accélère le déploiement de la surveillance dans l’infrastructure. Chaque agent
dispose d'une stratégie unique que nous pouvons mettre à jour pour ajouter des intégrations pour de
nouvelles sources de données et des protections de sécurité, etc.
Fleet-Server
Fleet-Server est un composant de la pile Elastic utilisé pour gérer de manière centralisée les agents
Elastic. Il se lance comme un agent Elastic sur un ou plusieurs hôtes destinés à servir comme serveurs.
Le Fleet-Server peut prendre en charge de nombreuses connexions Elastic Agent et sert de plan de
contrôle pour la mise à jour des politiques d'agent, la collecte des informations d'état et la coordination
des actions entre les agents Elastic.
39
Figure 18 : fonctionnement du Fleet-Server
Elastic Agent et Beats offrent des fonctionnalités similaires pour la collecte des données et la
surveillance de l'hôte, mais Elastic Agent présente des avantages spécifiques par rapport aux Beats.
Pour mettre la bonne procédure de collecte des logs, on essayera toujours de trouver le plus court
chemin pour atteindre notre objectif, d’après ce qu’nous avons cité dans les paragraphes ci-dessus, nous
visons à utiliser Elastic-Agent qui est le plus facile et simple par rapport aux Agents Beats puis les Agents
Beat qui sont plus simple par rapport à Logstash, donc on doit essayer de travailler avec Elastic-agent
au premier lieu, si on n’a pas réussi on cherche avec Beats, sinon Logstash est la dernière solution. Avec
cet ordre qu’nous avons arrivé à mettre en place le tableau suivant :
40
2.6 Conclusion
En conclusion, ce chapitre nous a permis de comprendre les généralités du SIEM, précisément sur
notre choix de solution ELK, où nous avons parlé des composants essentiels d’ELK, ElasticSearch et
ces concepts, Logstash et ses trois étapes principales et Beat et ses différents types de collectionneurs
d’événements. Par la suite nous avons présenté l’architecture et l’environnement du travail aussi le
dimensionnement du cluster ELK et enfin la mise en place des procédures de collecte de logs.
Après la phase des études fonctionnels et de la conception de notre solution dans le prochain chapitre
nous travaillerons sur l’implémentation de notre solution ELK et sur la configuration des procédures de
la collecte des logs.
41
CHAPITRE 3 :
Implémentation et
Configuration d’ELK
Stack
42
3 Implémentation et Configuration d’ELK Stack
3.1 Introduction
Dans ce chapitre nous aborderons les installations et les configurations nécessaires pour le bon
déploiement de notre solution ELK Stack. On commence par l’installation et la configuration de notre
cluster avec ses différents composants, après nous passerons vers la collecte de logs. Et enfin on passe
vers l’étape de la configuration de la rétention des logs afin d’assurer le passage des données d’un niveau
de donnée à un autre.
Nous allons voir maintenant comment installer, configurer et déployer Elasticsearch dans les trois
machines Ubuntu Server, voici un exemple d’installation d’ES dans :
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-
8.5.3-amd64.deb
43
Une fois l’installation est terminée, il faut modifier dans le fichier de configuration
«/etc/elasticsearch/elasticsearch.yml » qui fournit des options de configuration pour le cluster, nœud,
chemins, réseau, découverte et passerelle. La plupart de ces options sont par défauts dans le fichier mais
on les modifier selon nos besoins, voici quelques changements effectués :
Quand nous terminons, nous sauvegardons le fichier, puis on active et démarre le service. Et par la suite
nous pouvons accéder à l’interface graphique d’ElasticSearch à partir de l’adresse IP qu’nous avons
défini.
44
Figure 21 : interface graphique d'ElasticSearch
Formation du cluster
De même façon on installe le package d’ES sur , mais avant
d’activer et démarrer le service d’ElasticSearch on doit lier ces 2 nœuds au cluster « issroad » du 1er
nœud Data Hot cela se fait par les étapes suivantes :
- Dans la machine de Data Hot, On entre dans le dossier /usr/share/elasticsearch/, puis on insère
la commande suivante pour générer jeton d'inscription « enrollement token » qui va permet aux
nœuds de joindre le cluster :
bin/elasticsearch-create-enrollment-token -s node
Figure 22 : Enrollement-Token
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.5.3-amd64.deb
45
Une fois l’installation est terminée, on doit modifier dans le fichier de configuration «
/etc/elasticsearch/kibana.yml », et ajouter les modifications nécessaires tels que l’adresse IP d’ES qu’on
va attacher à kibana, et spécifier le port de la communication de Kibana 5601.
Quand nous terminons, nous sauvegardons le fichier, puis on active et démarre le service. Et par la suite
nous pouvons accéder à l’interface graphique de Kibana à partir de l’adresse IP qu’nous avons défini.
La première chose à vérifier est d’aller à Management => Stack Monitoring et voir les statuts du
cluster et Kibana :
46
Figure 25 : aperçu sur le cluster et Kibana
Pour le Logstash on n’a rien à configurer pour le moment, la configuration de l’input ou l’output se fait
dans chaque fichier de configuration séparés les uns aux autres, donc il suffit juste maintenant de
démarrer le service et de vérifier le statut de service :
47
3.3 Installation / configuration des agents et Collecte de logs
3.3.1 Installation et configuration du Fleet-Server
On installe d’abord le serveur Fleet dans le nœud Kibana. Le Fleet-Server est celui qui va s’en
occuper de la centralisation de communication avec les agents Elastic qu’on va installer dans les sources
des logs. Avant d’installer notre Fleet-Server on doit préciser Output ou l’instance d’ElasticSearch où le
Fleet va envoyer ses logs. L’instance d’ES est le nœud de Data Hot dans notre cas.
48
3.3.2 Installation et configuration des Agents d’Elastic sur Windows (Server/Desktop)
On doit créer des politiques séparés pour les agents selon leurs systèmes d’exploitation ou le type
des logs qu’on cherche à collecter, donc nous avons créé plusieurs politiques pour mieux faciliter et
organiser le travail.
49
Figure 32 : installation d'agent Elastic sur Windows
De même avec Linux on choisit la politique et les commandes d’installation pour Linux et on
saisit les commandes d’installation :
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.5.3-linux-
x86_64.tar.gz
tar xzvf elastic-agent-8.5.3-linux-x86_64.tar.gz
cd elastic-agent-8.5.3-linux-x86_64
sudo ./elastic-agent install --url=https://172.17.6.53:8220 --enrollment-
token=aC16SlFvZ0JWWXNSaFhsSWVlTWY6VjlEUHRGa01TbVMyajRSM1Joc0MyQQ== --insecure
50
Figure 34 : intégration pfSense
Dans notre pfSense, on entre à Status => System Logs => Settings, on active la journalisation à
distance par la suite on ajoute le serveur distant du syslog qui est dans notre cas l’adresse de Fleet-Server
avec le port de communication 172.17.6.53:9001, enfin on ajoute les types des logs à envoyer parmi la
liste suivante :
On accède à Manage -> Advanced settings, puis on modifie sur la valeur d’option
Syslog.global.logHost en ajoutant l’adresse IP de Fleet-Server :
51
Figure 35 : configuration du syslog server dans ESXI
52
Figure 37 : configuration du module vsphere
Dans la solution ELK, tout type de données soit des données du cluster ELK et ses différents
services ou bien des données reçus depuis les sources des logs se stockent en tant que des indices, par
exemple les indices suivants :
À titre d'exemple, nous présentons ici des divers indices. Le premier indice concerne les métriques des
agents Metricbeat, utilisées pour la configuration de l'hyperviseur ESXI. Le deuxième indice regroupe
les métriques des agents Elastic que nous avons déployés dans les sources de logs. Le troisième indice
est dédié au stockage des journaux d'événements du cluster pour la date du 16 août 2023. Ce schéma se
53
répète pour d'autres types de données. Ces indices sont regroupés selon des politiques de cycles de vie,
telles que les suivantes
Selon les données et la dimension de notre architecture nous avons opté de garder les indices dans la
phase HOT pour 14 jours et 6 mois dans la phase WARM, après la suppression de ces indices
définitivement d’ELK. Pour appliquer ces temps de rétentions sur tous les indice on doit mettre à jour
leurs politiques des cycles de vie des indices, voici un exemple de la configuration :
54
Figure 41 : configuration de rétention des logs
3.5 Conclusion
À travers ce chapitre nous avons traité la configuration et l’installation de la solution ELK et ses
agents dans notre architecture. En effet ce chapitre est réparti en 2 grands axes, Le premier axe est du
côté de la solution où nous avons mis en place la Stack ELK incluant l’installation des nœuds et leurs
composants ElasticSearch, Logstash et Kibana. Le deuxième axe est du côté des sources de logs où nous
avons installé et configuré les agents Elastic, Beats en suivant les méthodologies de collecte établis dans
le chapitre2. Enfin nous avons configuré la rétention des données des indices afin de respecter les
prérequis systèmes.
Après les étapes d’installation et de configuration nous sommes arrivés à recevoir différents types des
données et d’informations, dans le prochain chapitre on essayera d’analyser ces données et de travailler
sur une évaluation sur notre solution en se basant sur plusieurs critères Aussi de présenter la mise en
production de la solution avec le client.
55
CHAPITRE 4 :
Evaluation de la solution
et mise en production
56
4 Evaluation de la solution et mise en production
4.1 Introduction
Dans ce chapitre nous aborderons les méthodes d’évaluation de la solution ELK, cette évaluation
reposera sur une analyse des logs reçus et des tableaux de bords ainsi que traitement des alertes en cas
d’incidents mis en place, par la suite une présentation de la solution de sauvegarde déployée de la pile
ELK. Enfin nous clôturerons ce chapitre par le processus de la mise en production avec le client en
mettant en évidence les différences majeures par rapport à l’architecture choisie dans ce rapport.
Data Views :
Les Data Views nous aide à distinguer et récupérer les données à partir d'Elasticsearch. On peut créer
nos propres Data Views qui seront liés avec les indices où les logs existent ou bien on peut utiliser les
Data Views par défauts tels que logs.* , metrics.* metricbeat.* , etc.
57
Data View =logs.*
Dans ce Data View on peut voir les logs de tous les indices qui commence par logs :
Voici un exemple des évènements de Data View Logs* arrivé à ELK dans une heure le 20 Aout, 2023
entre 15:14 et 16:14 :
58
Data View =metrics.*
Dans ce Data View on peut voir les logs de tous les indices qui commence par metrics tels que :
Voici un exemple des évènements de Data View Logs arrivé à ELK dans une heure le 20 Aout, 2023
entre 15:30 et 16:30:
59
Vision globale sur les indices et analyse des logs :
Dans cette partie on essayera d’avoir une idée générale sur les indices crées lors de l’arrivée des
données, voici une partie de ces indices :
On va essayer dans les exemples présentés ci-dessous d’avoir une idée sur les différents types de logs
qu’nous avons reçu dans notre solution, on va analyser un log par équipement :
60
Les informations du Log :
Indice .ds-logs-system.security-default-2023.08.10-
000001
Temps d’arrivée Aug 24, 2023 @ 14:51:08.868
Data_Stream.Dataset system.security
Data_Stream.Type logs
Un exemple de log de Windows Server arrivé à ELK Aug 24, 2023 @ 05:53:
61
Les informations du Log :
Indice .ds-logs-winlog.winlog-default-2023.08.10-000001
Temps d’arrivée Aug 24, 2023 @ 05:53:42.341
Data_Stream.Dataset winlog.winlog
Data_Stream.Type logs
Fournisseur Microsoft-Windows-ActiveDirectory_DomainService
d’évènement
Nom de système Windows Server 2022 Datacenter Evaluation
d’exploitation d’hôte
Processus exécuté C:\Windows\System32\services.exe
Message This directory partition has not been backed up since at least
the following number of days.
Directory partition:
CN=Configuration,DC=issroad,DC=lab
'Backup latency interval' (days): 90
………
Tableau 11 : exemple des informations des logs du Windows server
62
Les informations du Log :
Indice .ds-metrics-system.process-default-
2023.08.10-000004
Agent.name ubuntu
Data_Stream.Type Metrics
Process. command_line /usr/bin/perl -
I/opt/BitDefender/share/perl
/opt/BitDefender/bin/sve-config-ui
Process.name sve-config-ui
system.process.cpu.total.value 2,354,610
user.name root
Tableau 12 : exemple des informations des logs du Linux
63
message 4,,,1000000103,vmx1,match,block,in,4,0x0,,128,35997,0,none,17,udp,72,172.17.5.
101,172.17.5.255,57621,57621,52
Tableau 13 : exemple des informations des logs du pfSense
Après la réalisation d’objectif de lire et analyser les différents types de logs de notre périmètre, on peut
dire qu’nous avons arrivé à réaliser le but de centralisation des logs depuis plusieurs hôtes et multiples
technologies.
64
4.2.2 Les tableaux de bord
Les tableaux de bord nous aident à avoir une visualisation claire et exploitable des données de
sécurité, la solution ELK nous propose plusieurs tableaux de bord de différentes technologies par
exemple dans notre périmètre on peut utiliser et bénéficier des tableaux suivants :
ESXI :
pfSense :
On essayera par la suite de prendre quelques informations utiles et exploitable depuis ces tableaux de
bords.
65
4.2.2.1 Exemple des tableaux de bord du pare-feu pfSense
Ces dashboards nous fournit des informations :
• Les top 5 pays de destination : United States, United Kingdom, Spain et Morocco…
• Nombre d’action bloqués et autorisés.
• Statistiques de transport réseaux par temps avec les protocoles utilisés Igmp /Icmp /Udp /Tcp:
66
4.2.2.2 Exemple des tableaux de bord d’Hyperviseur ESXI
Les Dashboards suivants nous fournit plusieurs informations sur les VM ou bien les hôtes ESXI tels
que :
• La distribution des systèmes d’exploitation utilisés dans l’hôte ESXI.
67
• Niveaux de stockage dans les Datastores.
• Ce Dashboard par exemple nous affiche des informations sur les services des hôtes Windows :
68
4.2.2.4 Exemple des tableaux de bord Syslog
Les tableaux de bords suivants nous fournissent plusieurs informations sur les évènements
Syslog par les machine Linux ainsi les processus Syslog effectués par ces machines :
Le scénario commence par l’attaquant qui peut intercepter la machine AD et qui essaye de créer
69
un nouvel utilisateur et l’attribuer à un groupe avec des droits d’admin.
Les différents logs seront envoyés vers Elastic par l’agent déjà configuré sur la machine AD.
Des alertes seront déclenchés au niveau d’Elastic et le type d’alerte sera ‘User Account Creation’
et ‘User added to privileged group in active directory’.
L’analyste peut ensuite étudier l’alerte et choisir la solution convenable.
NB : Si un attaquant lance la commande "net user username password /add" une alerte va être
déclenchée.
• User Added to Privileged Group in Active Directory : Identifie un utilisateur ajouté à un groupe
privilégié dans Active Directory. Les comptes et groupes privilégiés dans Active Directory sont ceux
auxquels sont accordés des droits, des privilèges et des autorisations puissantes qui leur permettent
d'effectuer presque toutes les actions dans Active Directory et sur les systèmes joints à un domaine.
Règle :
70
iam where host.os.family : "windows" and event.action : "added-member-to-group" and
group.name : ("Administrateurs")
• Inbound connection on port 445 : Cette règle identifie les connexions acceptées sur le port
administratif connu 445 pour SMB. Pour réduire la surface d'attaque, ces ports sont généralement
bloqués sur Internet.
Règle :
host.os.family : "windows" and event.action : "logged-in" and message : "Port source : 445"
Règle :
destination.port : (3389 OR 22) and network.direction : inbound and NOT event.action : block
71
Figure 61 : règle des ports de SSH et RDP pour pfSense
• Inbound connection on port 23 : Cette règle identifie les connexions acceptées sur le port
administratif connu : 23 pour TELNET. Pour réduire la surface d'attaque, ces ports sont
généralement bloqués sur Internet.
Telnet n'est pas un protocole de communication sécurisé car il n'utilise aucun mécanisme de sécurité
et transfère les données sur le réseau/Internet sous forme de texte brut, y compris les mots de passe,
de sorte que n'importe qui peut renifler les paquets pour obtenir ces informations importantes.
Règle :
destination.port : 23 and network.direction : "inbound" and NOT event.action : block
Règle :
72
• Niveau de RAM ou CPU supérieur à 85% dans les hôtes ESXI.
Rule :
ElasticSearch stocke les snapshots dans un emplacement de stockage hors cluster appelé référentiel
de snapshots. ElasticSearch prend en charge plusieurs types de référentiels avec des options de stockage
cloud, notamment AWS S3, Google Cloud Storage (GCS), Microsoft Azure ou on peut utiliser la
méthode classique de stockage de backup par utilisation d’un serveur de partage dans le réseau.
Après avoir enregistré un référentiel de clichés, nous utilisons la gestion du cycle de vie des
snapshots (SLM) pour prendre et gérer automatiquement des snapshots. Nous pouvons ensuite restaurer
un snapshots pour récupérer ou transférer ses données.
73
Par défaut, un instantané d'un cluster contient l'état du cluster, tous les flux de données standard et
tous les index standard. L'état du cluster comprend :
Figure 64: statut de connexion des nœuds avec le fichier partagé backup1
74
Par la suite on passe vers la mise en place de la politique du cycle de vie de snapshots daily-snapshot1,
dans cette politique nous avons configuré les horaires des snapshots, le contenu de ces snapshots, la
durée de rétention des snapshots sans oublier d’associer la politique avec le fichier partagé backup1.
75
Un autre exemple du contenu du dernier Snapshot :
En utilisant ces snapshots on peut restaurer les indices, les data Stream, le statut global du cluster, le
statut de la fonctionnalité, la configuration des nœuds et les alliasses crées.
L’avantage de cette solution de sauvegarde est ces snapshots ne sont pas automatiquement dupliqués
ceci aide à économiser de l’espace de stockage et réduire les coûts de transfert réseau. Pour sauvegarder
un index, le snapshot copie les segments de l'index et les stocke dans le fichier partagé backup1. Les
segments étant immuables, il suffit que le snapshot copie les nouveaux segments créés depuis le dernier
snapshot du référentiel.
Le périmètre défini par notre client a été large, englobant plus de 40 équipements réseaux et systèmes
basés sur plus de 15 technologies différentes.
76
Pour collecter efficacement les diverses données de ce périmètre nous a avons utilisé toutes les méthodes
de collecte des logs d’ELK stack Logstash, Beat et Elastic Agent. Cette démarche nous a permis de
rassembler plusieurs types de logs variés.
Nous avons ensuite intégré ces logs dans des tableaux des bords explicatifs et utiles pour notre client, en
outre nous avons ajouté plusieurs règles des use cases spécifiques pour chaque technologie, cette étape
est très significative dans la mise en œuvre de la solution ELK, fournissant à notre client une vue précise
et approfondie de la santé et de la performance de ses systèmes.
4.4 Conclusion
En conclusion dans ce chapitre nous avons exploré en détail des diverses méthodes d’évaluation
de la solution ELK stack, cette évaluation est ancrée sur les objectifs fondamentaux nous visons réaliser
par cette solution. Premièrement nous avons examiné les logs reçus. Ensuite nous avons analysé les
tableaux de bords qui servent au client d’avoir une visualisation centrale de l’état de son système. Par la
suite nous avons traité les alertes en cas d’incidents mis en place, enfin de cette évaluation nous avons
présenté la solution de sauvegarde backup déployée qui va garantir une haute disponibilité continue de
la pile ELK.
Enfin nous avons terminé ce chapitre par le processus de la mise en production avec le client en mettant
en évidence les différences essentielles par rapport l’architecture choisie dans ce rapport en matière de
prérequis système, périmètre choisi du client etc.
77
Conclusion générale
En conclusion, notre rapport de stage a été axé sur la mise en place et amélioration de la solution
ELK Stack en réponse aux besoins de notre client. Nous avons débuté par présenter ISSROAD, notre
entreprise d'accueil, spécialisée en cybersécurité, et les services qu'elle offre à ses clients. Nous avons
abordé le contexte général du projet, en soulignant la problématique et les objectifs fixés pour notre
stage.
Nous avons exploré c’est quoi le System Information Event Management en détail, en mettant en
avant ses majeures solutions dans le marché ainsi que nous avons étudié notre solution choisie et ses
composants principales. Nous avons également expliqué l’architecture du travail en expliquant les types
logs que nous avons visé à collecter et leurs méthodes de collecte associée.
Nous avons ensuite présenté les configurations et les installations nécessaires pour le déploiement
de la solution, avant de procéder à une évaluation de la solution mise en œuvre.
L’objectif de ce stage était d'être capable de fournir une solution de sécurisation qui permettra à nos
clients de réussir leur projet et d'être capable de mettre en place les solutions de sécurité qui répond aux
besoins des clients. Et ce en se basant sur notre formation académique et sur notre travail durant le stage
qui consistait à faire une étude technique et fonctionnelle des solutions leader dans le domaine de sécurité
d’information.
Ce stage nous a permis de nous familiariser avec le processus de réalisation de projet dans un cadre
plus réaliste et professionnel. Ce fut également l’opportunité, pour nous, de mettre en pratique les
connaissances que nous avons acquises durant notre cursus scolaire à l’ENSA.
Cependant, notre travail ne s'arrête pas ici et il y a assez de places à améliorer, notamment en ce qui
concerne les méthodes automatisées de collecte des logs, l’analyse approfondie des données collectées
l’extraction d’information pertinentes et l’amélioration des alertes en cas d’incidents. Tandis que
généralement en cyber sécurité on doit explorer davantage les techniques d'apprentissage pour détecter
d’une manière proactive les menaces et les failles.
78
Webographie
79