Vous êtes sur la page 1sur 29

Rapport de Stage Obligatoire d’Eté

Niveau : 1ére Année tronc commun

Sujet :

Mise en place d’un serveur de monitoring avec ELK

Réalisé par : Mohamed Aziz Sahnoun

Entreprise d’accueil :

Agence tunisienne d’internet

Année Universitaire : 2017/2018


Rapport de Stage Obligatoire d’Eté

Niveau : 1ére Année tronc commun

Sujet :

Mise en place d’un serveur de monitoring avec ELK

Réalisé par : Mohamed Aziz Sahnoun

Entreprise d’accueil :

Agence tunisienne d’internet

Responsable à l’entreprise: Avis de la commission des stages


M. Morad Melliti

Année Universitaire : 2017/2018


Remerciements

Je profite par le biais de ce rapport, pour exprimer mes vifs remerciements a


toute personne contribuant de prés ou de loin à l’élaboration de ce stage.

Je remercie très vivement Monsieur Mourad Melliti pour son encadrement,


son assistance, son soutien, ses précieux conseils ont été d’une grande aide pour la
concrétisation du travail ainsi que monsieur mehrez chaieb pour son accueil
chaleureux

Un merci bien particulier adressé également a Monsieur Wassim Abdeljaoued


pour ses remarques, ses suivis et ses orientations
SOMMAIRE

INTRODUCTION GÉNÉRALE..................................................................................................1

CHAPITRE 1 : CONTEXTE GÉNÉRAL DU PROJET...........................................................2

1.1 Présentation de la société :........................................................................................................................ 2

1.2 Problématique et Objectifs :....................................................................................................................... 3

CHAPITRE 2 :ETUDE THÉORIQUE.......................................................................................4

2.1 Les solutions existantes de supervision des logs......................................................................................... 4

2.2 Comparaison entre les solutions existantes................................................................................................ 5

2.3 Environnement de travail........................................................................................................................... 6

CHAPITRE 3 : RÉALISATION................................................................................................11

3.1 Architecture générale :............................................................................................................................. 11

3.2 Virtualisation :......................................................................................................................................... 11

3.3 Installation et configuration :................................................................................................................... 15

3.4 Résultat :................................................................................................................................................. 19

3.5 Consolidation des acquis.......................................................................................................................... 21

CONCLUSION............................................................................................................................22

TABLE D’ABRÉVIATION........................................................................................................23
Tables des figures
Figure 1:logo Splunk.......................................................................................................................4
Figure 2:logo Graylog......................................................................................................................4
Figure 3:logo ELk............................................................................................................................5
Figure 4:logo VMWare vSphere.....................................................................................................6
Figure 5: logo centos 7....................................................................................................................7
Figure 6:logo putty..........................................................................................................................7
Figure 7:logo Elasticsearch..............................................................................................................8
Figure 8:: logo Logstash..................................................................................................................8
Figure 9:logo Kibana.......................................................................................................................9
Figure 10:logo Nginx.......................................................................................................................9
Figure 11:: logo Filebeat................................................................................................................10
Figure 12: logo Apache.................................................................................................................10
Figure 13: Fonctionnement............................................................................................................10
Figure 14: architecture générale de travail réalisé.........................................................................11
Figure 16: hyperviseur...................................................................................................................12
Figure 17:debut de configuration...................................................................................................13
Figure18 : début de configuration..................................................................................................13
Figure20: les disques sélectionné.................................................................................................13
Figure 19 : sélectionne les disques................................................................................................13
Figure 21:configuration de disque virtuel......................................................................................14
Figure 22: disque virtuel configuré................................................................................................14
Figure 23: ESXI installé................................................................................................................14
Figure 24:installation de ESXI......................................................................................................14
Figure 25:configuration d'une adresse ip.......................................................................................15
Figure 15:fichier de configuration d’Elasticsearch........................................................................15
Figure 16:fichier de configuration de Kibana................................................................................16
Figure 17:fichier de configuration de Nginx.................................................................................16
Figure 18:filebeat-input.conf.........................................................................................................17
Figure 19: syslog-filter.conf..........................................................................................................17
Figure 20: output-elasticsearch.con...............................................................................................17
Figure 21: fichier de configuration Filebeat..................................................................................18
Figure 22:le test.............................................................................................................................18
Figure 23: l’interface Web de Kibana...........................................................................................19
Figure 24: un Dashboard...............................................................................................................20
Figure 25:un Timelion...................................................................................................................20
Introduction Générale
La sécurité informatique est devenue très importante avec la croissance d’internet, en
effet une maitrise de la sécurité nécessite un contrôle s’appuyant nécessairement sur
l’enregistrement systématique des logs.

Dans ce cadre de mon sujet qui consiste à réaliser une étude sur les solutions libres des
supervision réseau et des logs, essayant de l’installer au sein d’un réseau local sur un serveur
simulant au environnement de production .

Ce rapport se compose de trois chapitres. Le premier chapitre présente brièvement la


société d’accueil ainsi que le contexte de mon sujet et une problématique à résoudre.

Le second chapitre est consacré une étude compérative des outils de supervision des logs open
source existants et à l’étude des différents constituants utilisés au cours de ce projet Dans le
troisième chapitre, une description détaillée de la réalisation de notre projet sera
implémentée.

1
Chapitre 1 : Contexte général du projet
1.1 Présentation de la société :
1.1.1 Création de l’Agence Tunisienne d’internet
ATI est née le 12 mars 1996, c’est une entreprise publique ayant pour forme juridique
une société anonyme. L’agence tunisienne d’internet est le principal fournisseur
d’accès internet.
Elle est composée de trois directions : une direction générale, une direction
administrative et financière et une direction technique.

1.1.2 Services et activités de l’ATI 


La direction technique de l’ATI est composée en fait en 4 sous-direction chaque sous-
direction a ses propres activités en effet
1.1.2.1 La sous-direction d’exploitation des réseaux 
Elle a pour activité :
 La gestion, suivi et la supervision du cœur du réseau tunisien
 Interconnecter les fournisseurs de services internet
 Mise en place des réseaux nationaux
 Suivie et résolutions des pannes avec les différents intervenant
1.1.2.2 La sous-direction de gestion des ressources Internet :
Elle assure :
 La gestion des ressources IP
 La gestion des noms de domaines sous le domaine TN
 Maintenance du DNS national
1.1.2.3 La sous-direction des services :
Elle représente le corps « ATI FSI », elle a pour activité :
 FAI
 L’hébergement d’application Web

2
 La gestion du courrier électrique

1.1.2.4 La sous-direction sécurité et veille technologique :


C’est la direction qui assure la mise a jour de l’actuelle ANSI. Elle a pour activités :
 L’assurance de la sécurité des différentes composantes de l’ATI
 L’organisation de séminaires et formations sur les technologies d’internet

1.2 Problématique et Objectifs :


1.2.1 Problématique :
Chaque information genre des événements qui peuvent être très important pour
être archivés et écrit dans des fichiers logs, par exemple pour GUI de trading
l’application peut générer jusqu’à 1 giga de logs (des milliers des lignes) qui sont
difficiles à exploiter pour trouver l’information pertinente.

1.2.2 Objectifs :
Notre projet consiste à mettre en place une plateforme de supervision basée sur
des outils open source afin de faciliter la visualisation les informations concernant les
logs , cette solution doit être capable de détecter toutes les activités des utilisateurs et
surtout les activités suspectes.

3
Chapitre 2 :Etude théorique
2.1 Les solutions existantes de supervision des logs
2.1.1 Splunk
Splunk est une plateforme d’analyse de donnée, il produit des logiciels de
recherche, de surveillance et d' analyse des mégadonnées générées parles
machines, via une interface Web. Splunk permet de capturer et d’analyser
efficacement des quantités massives de données textuelles de machine
textuelles non structurées et de séries chronologiques

Figure 1:logo Splunk

2.1.2 Graylog2
Graylog2 est une solution open-source de gestion de logs, il permet d’enregistrer
les messages dans une base de données, il permet aussi de gérer et analyser les logs via
une interface web.
Graylog2 est découpé en 2 parties graylog2-server qui permet d’accepter les messages et
l’enregistrer dans une base Elasticsearch et graylog2-web-interface permet de gérer des

utilisateurs et des Dashboard

Figure 2:logo Graylog

4
2.1.3 ELK 
Elk est une pile logicielle composée d’Elasticsearch, Logstash et Kibana permettant
de rechercher, d’analyser et de visualiser en temps réel, des données issues de
n’importe quelle source et sous n’importe quel format.

Figure 3:logo ELk

2.2 Comparaison entre les solutions existantes


Splunk Graylog ELK

Installation Installation très simple Installation plus Installation similaire à


complexe que Splunk Graylog
Configuration Configuration simple Configuration simple Configuration plus
complexe
Utilisation Simple pour utilisation Simple pour utilisation Simple pour utilisation
basique basique basique
Graphique Graphiques facilement Graphique facilement Nécessite une bonne
réalisables, très réalisable depuis la configuration de
complet recherche et les Logstash
champs
Dashboard Dashboard non Dashboard facile à Dashboard interactif
interactif créer par défaut
Cout Version gratuite limitée Open Source Open-source
à 500 Mo de logs/jour sponsorisée par la

société Elastic.
Tableau 2.1: tableau comparatif des outils de surveillance

5
Au vu de ce tableau comparatif des déférentes solutions ELK est simple d’utilisation et
très intuitif pourtant sa complexité de sa configuration mais reste plus adapté à l’entreprise en
outre la stabilité des logiciels utilisés et l’assistance technique délivrée sur les forum Elastic
facilite l’usage des composants ELK .

2.3 Environnement de travail


2.3.1 Environnement matériel
*Un serveur.
* Deux PC.
* Réseau internet 94 mbps

2.3.2 Environnement logiciel


2.3.2.1 VMWare vSphere :

Une plate-forme de virtualisation de serveur de VMware, elle sert a  l'implémentation et la


gestion à grande échelle de l'infrastructure des machines virtuelles (VM), elle est Appelé aussi
système d'exploitation cloud ou plate-forme de centre de données virtualisé. C’est la plateforme dont
laquelle on a mis en place les machines virtuelles

Figure 4:logo VMWare vSphere

2.3.2.2 Système d’exploitation :

6
CentOS est très stable et compatible, ce qui est très souhaitable dans les
environnements professionnels ainsi l’exploitation et la gestion des paquets au format RPM
pour l’installation des outils ELK est plus facile grâce à l'outil YUM

Figure 5: logo centos 7

2.3.2.3 PuTTY :
PuTTY est un client SSH et Telnet gratuit pour plates-formes Windows. Il permet de se
connecter à un serveur distant à partir d'un ordinateur connecté à internet (nassériste
l’installation de SSH)

Figure 6:logo putty

2.3.2.4 Java
L'unique prérequis à l'installation d'ElasticSearch est la présence de Java 6 sur la
machine destinée à héberger le moteur de recherche puisque son propre système de plugins
est développée en java. D’ou on installe la version
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode).

2.3.2.5 ElasticSearch

7
C’est un outil de stockage où toutes les données sont indexées en utilisant le format
JSON, en effet toutes les données de Logstash sont envoyées. C’est une base NoSQL qui est
orientée Big Data, Les données sont stockées dans des index, qui sont découpés en un certain
nombre de fragments généralement chaque indexe est découpé en 3 fragments
Elasticsearch propose tous ces services de façon transparente pour l’utilisateur .

Figure 7:logo
Elasticsearch

2.3.2.5 Logstash
c’est un outil permet la mise en place l’analyse des logs, en effet les point d’entrée
utiliser pour chercher l’information, les filtres et l’output sont définis via des fichiers de
configuration.
Plusieurs points de sortie, ou adapteurs, peuvent être définis. Le plus utilisé est Elasticsearch

Figure 8:: logo Logstash

2.3.2.6 Kibana

8
Kibana est une interface Web qui se connecte au cluster Elasticsearch, et permet de
faire des requêtes en mode texte pour générer des graphiques (histogrammes, barres,
cartes…), ou des statistiques. De nombreux composants graphiques sont disponibles pour
donner une dimension visuelle aux données stockées dans Elasticsearch.

2.3.2.7 Nginx

Puisque nous avons configuré Kibana pour écouter sur localhost, nous devons configurer
un proxy inverse pour permettre un accès externe à celui-ci nous utiliserons Nginx pour l’y
diffuser.

Figure 9:logo Nginx

2.3.2.8 Filebeat

9
Filebeat est doté de modules internes (Apache, NGINX, System, et MySQL) qui
simplifient la collecte, l’analyse et la visualisation des formats de logs communs dans une seule
commande. Ces modules y parviennent en combinant des valeurs par défaut, basées sur les
définitions de pipeline Elasticsearch Ingest Node et des tableaux de bord Kibana.

Figure 10:: logo


2.3.2.9 Apache Filebeat

Le serveur apache est un serveur virtuel qui s'installe dans la machine permet de créer
des applications qui doivent se connectée à une base de données

Figure 11: logo Apache

2.7.3 Fonctionnement

Figure 12: Fonctionnement

10
Chapitre 3 : Réalisation

3.1 Architecture générale :

Figure 13: architecture générale de travail réalisé

3.2 Virtualisation :
3.2.1 Hyperviseur :
Cette technologie n’utilise plus un système hôte classique comme la virtualisation complète
mais un système d’exploitation dédié à la virtualisation. Ce système est beaucoup plus léger
qu’un système d’exploitation classique et il est optimisé pour la virtualisation. Il ne peut être
utilisé pour une autre activité, seules des machines virtuelles peuvent être installées dessus.
Pour cela on utilisera VMware ESXi

11
3.2.2 VMware ESXi 5.5 :
est un hyperviseur de type 1 indépendant des systèmes d'exploitation. Il repose lui-même sur le
système d'exploitation VMkernel qui assure l'interface avec les agents dont il soutient
l'exécution. ESXi est l'hyperviseur exclusif des licences VMware vSphere 5.x.

Figure 14: hyperviseur

3.2.2 Etapes et configuration  :

C’ette étape mêne à une configuration virtualisée des disques physiques par la technique
« RAID »
Tout d’abord on commence par une nouvelle configuration de disque admettant la redondance

*RAID : Redandant array of Independant Disks

12
Figure16 : début de Figure 15:debut de configuration
configuration
Creation du groupe de disques

cce

Figure17: les disques


Figure 18 : sélectionne les disques sélectionné

13
Ensuite il est nécessaire de configurer le disque virtuel en spécifiant le niveau « RAID »

Figure 19: disque virtuel configuré


Figure 20:configuration de disque virtuel

Après la configuration on installe le ESXI5.5.0

Figure 21:installation de ESXI Figure 22: ESXI installé

14
Et a la fin de configuration il faut définir une adresse IP fixe

Figure 23:configuration d'une adresse ip

3.3 Installation et configuration :


Avant tout installation Elasticsearch et Logstash nécessitent java, il faut
donc une version récente d'Oracle Java 8 car c'est ce que recommande
Elasticsearch
3.3.1 L’installation d’Elasticsearch :
L’installation d’Elasticsearch nécessite l’importation de package 
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.x.rpm

Puis on installe. Une fois l’installation est terminée on modifier le fichier de


configuration « /etc/elasticsearch/elasticsearch.yml »
en décommentant « network.host: 127.0.0.1 ».

Figure 24:fichier de configuration d’Elasticsearch

15
3.3.2 Installation Kibana :
Apres l’installation de Kibana, on modifier le fichier de configuration
« /etc/kibana/kibana.yml»  on remplaçant l'adresse IP "0.0.0.0" par "localhost"

Figure 25:fichier de configuration de Kibana

3.3.3 Installation de Nginx :


Il faut configurer un proxy inverse pour permettre un accès externe à
Kibana puisque elle configuré a localhost

Figure 26:fichier de configuration de Nginx

3.3.4 Installation Logstash


On effectue l’installation de Logstash mais avant la configuration il faut générer la certificat SSL
puisque je vais utiliser Filebeat pour expédier les journaux de serveurs clients vers serveur ELK,
puis on peut configurer Logstash :

16
Pour les entrées le fichier de configuration est « filebeat-input.conf »
Pour les filtres le fichier de configuration est « syslog-filter.conf »
Pour la sortie le fichier de configuration est « output-elasticsearch.conf »

Figure 27:filebeat-input.conf
:

Figure 28: syslog-filter.conf

Figure 29: output-elasticsearch.con

17
3.3.5 Configuration de Filebeat :
Après le chargement des tableaux de bord Kibana et le modèle
d’index Filebeat dans Elasticsearch on configurer le Filebeat afin d’ajouter
des serveurs clients. Il faut donc copier la certificat SSL et installer le
Filebeat au client serveur puis on configure le Filebeat

Figure 30: fichier de configuration Filebeat

Et si on fait le test toute est bien configuré

Figure 31:le test

18
3.4 Résultat :
On accède à l’interface de Kibana, on définit l’index et tout est marché bien

Figure 32: l’interface Web de Kibana

19
on peut aussi créer des visualisations et des Dashboard

Figure 33: un Dashboard

Figure 34:un Timelion

20
3.5 Consolidation des acquis

Compétences acquises lors de la Habilitations acquises durant


formation le stage
Linux CentOS 7
Administration et surveillance de réseau Surveillance des fichiers logs
Sécurité réseaux Identification et contrôle d’accès
Atelier java Configuration des index

21
Conclusion

Ce stage me permet d’apprendre plusieurs choses sur la vie d’une entreprise en effet la
découverte et l’exploration de l’esprit d’équipe ainsi que la communication ont eu lieu.
En plus ce stage a été l’occasion pour enrichir mes connaissances dans le domaine
d’administration et surveillance de réseau, Il m'a également permis de mettre en pratique les
différents enseignements que j'ai reçus durant mon année d’études en tant qu'étudiant à
ESPRIT. J'ai ainsi pu apporter mon savoir-faire dans ces matières à l'entreprise.
Il m'a montré également que, la rigoureuse et la dynamique sont les caractères le plus
important pour pouvoir atteindre l’objectif de mon travail.
Ce stage a été très bénéfique pour moi et très intéressant, il m’a permis de me guider au
domaine dont lequel je peux continuer.

22
Table d’abréviation
ATI : Agence Tunisienne d’internet
FSI : Fournisseur de service internet
FAI : Fournisseur d’accès internet
TXP : Point d’échange internet
DNS : Nom de domaine de serveur
ANSI : Agence national de sécurité internet
GUI : Graphic user interface
SSL : Secure Sockets Layer

23
Bibliographie
https://www.linuxhelp.com/how-to-install-elasticsearch-on-centos-7-4/
https://www.linuxhelp.com/how-to-install-logstash-on-centos-7-4/
https://www.linuxhelp.com/how-to-install-kibana-on-centos-7-4/
https://www.tuxfixer.com/install-and-configure-elasticsearch-cluster-on-centos-7-
nodes/
https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html
https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-
and-kibana-elk-stack-on-centos-7#install-elasticsearch

24

Vous aimerez peut-être aussi