SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Synthèse
Mise en place d’une gestion des logs
Squid avec une pile logicielle ELK
1PELHÂTE Alexis
Table des matières
Pré-requis à l’installation de ELK ..................................................................................................... 2
Installation de Java 8 JDK update 181 ......................................................................................... 2
Installation & Configuration de Nginx (Facultatif) ....................................................................... 2
Installation de la suite ELK............................................................................................................... 5
Installation de ElasticSearch........................................................................................................ 5
Installation de Kibana.................................................................................................................. 6
Installation de Logstash............................................................................................................... 7
Configuration de la suite ELK .......................................................................................................... 8
Configuration de Logstash........................................................................................................... 8
Configuration de Kibana.............................................................................................................. 9
Mise en place d’une gestion des logs squid.................................................................................... 9
Le transport des logs SQUID vers ELK ......................................................................................... 9
Filebeat Unix ............................................................................................................................. 10
Configuration de Filebeat.......................................................................................................... 10
Configuration du filtre Logstash................................................................................................ 11
Pourquoi mettre en place une gestion des logs............................................................................ 13
Pourquoi utiliser Elasticsearch ? ................................................................................................... 14
2PELHÂTE Alexis
Ce document décrira la trame à suivre pour installer & configurer la pile logicielle ELK (version 6.4), ainsi que la
mise en place d’une infrastructure de gestion des logs SQUID (4.2)
Le document décrira également les prérequis logiciels pour le bon fonctionnement de la pile ELK.
J’ai choisi le système d’exploitation Centos 7 les commandes seront donc adaptées à cette distribution.
En conclusion les enjeux de la mise en place de cette solution.
Pré-requis à l’installation de ELK
L’installation de la suite ELK nécessite un serveur LAMP fonctionnel
Sauf httpd si on souhaite sécuriser l’infrastructure web avec nginx
Installation de Java 8 JDK update 181
ELK fonctionne avec Java, le logiciel fonctionne bien avec OpenJDK mais l’utilisation de la dernière version d’Oracle
(Java 8) est recommandée par ElasticSearch.
wget --no-cookies --no-check-certificate --header "Cookie:
gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie"
"http://download.oracle.com/otn-pub/java/jdk/8u181-
b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm"
sudo yum -y localinstall jdk-8u181-linux-x64.rpm
Installation & Configuration de Nginx (Facultatif)
Par défaut, Kibana est configuré de façon qu’il ne puisse écouter que localement sur la machine ou il est installé, ce qui
signifie que si on veut y accéder par le réseau, on doit installer un serveur proxy inverse (étant sur linux j’ai donc choisi
Nginx).
Il sera possible d’utiliser du chiffrement grâce au serveur Nginx et lets-encrypt
J’installerais également la suite d’outils d’apache2 que j’aurais besoin par la suite pour compiler des fichiers nécessaires
au fonctionnement de ELK :
3PELHÂTE Alexis
sudo yum install nginx apache2-utils
Ainsi que la suite de paquets EPEL (Regroupement de paquets de haute qualité destinés aux entreprises qui utilisent
linux).
sudo yum -y install epel-release
Nous allons créer un utilisateur elkadmin qui sera uniquement utilisé pour se connecter à l’interface Kibana par le biais
de la commande htpasswd.
L’attribut –c permet de créer le fichier passwdfile (ATTENTION : remplacement si déjà crée) :
L’édition du mot de passe est active après avoir exécuté la commande.
sudo htpasswd -c /etc/nginx/htpasswd.users elkadmin
Après cela il faut éditer le fichier nginx.conf et supprimer le bloc de code, « server {} »
sudo vi /etc/nginx/nginx.conf
On peut voir dans les deux dernières lignes que nginx prend en compte les fichiers de configuration dans /conf.d
include /etc/nginx/conf.d/*.conf;
}
Donc on remplacera ce bloc par un fichier de configuration kibana.conf personnalisé qui sera localisé dans ce dossier
4PELHÂTE Alexis
1. Localisation du fichier : /etc/nginx/conf.d/kibana.conf
2. server {
3. listen 80;
4. server_name localhost;
5. auth_basic "Restricted Access";
6. auth_basic_user_file /etc/nginx/htpasswd.users;
7. location / {
8. proxy_pass http://127.0.0.1:5601;
9. proxy_http_version 1.1;
10. proxy_set_header Upgrade $http_upgrade;
11. proxy_set_header Connection 'upgrade';
12. proxy_set_header Host $host;
13. proxy_cache_bypass $http_upgrade;
14. }
15. }
16.
Cette configuration permet de rediriger tout le trafic HTTP vers Kibana qui écoute sur le port 5601. Nginx permet d’avoir
une authentification basique via le htpasswd
sudo systemctl restart nginx
Si SELinux est installé il faut penser à autoriser nginx
setsebool -P httpd_can_network_connect 1
5PELHÂTE Alexis
Installation de la suite ELK
Installation de ElasticSearch
Pour installer ElasticSearch avec yum on ajoute le repositery officiel d’Elastic.
Il faut en permanence installer une la clé GPG pour vérifier la provenance des paquets rpm.
sudo rpm --import http://packages.elastic.co/GPG-KEY-elasticsearch
On modifie la configuration de yum
Localisation du fichier : /etc/yum.repos.d/elasticsearch.repo
1. [elasticsearch-6.x]
2. name=Elasticsearch repository for 6.x packages
3. baseurl=https://artifacts.elastic.co/packages/6.x/yum
4. gpgcheck=1
5. gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
6. enabled=1
7. autorefresh=1
8. type=rpm-md
On installe elasticsearch :
sudo yum install elasticsearch
Elasticsearch n’est pas démarré automatiquement après l’installation, il faut activer le service pour permettre un
démarrage automatique.
systemctl enable elasticsearch
Puis on démarre le service
sudo systemctl start elasticsearch.service
6PELHÂTE Alexis
Elasticsearch ne possède aucune sécurité pour l’instant, on va donc dans le fichier de configuration pour restreindre
l’accès extérieur du port utilisé par elasticsearch :
sudo vi /etc/elasticsearch/elasticsearch.yml
On décommente la ligne suivante puis on remplace la valeur par 127.0.0.1 (Attention 1 espace entre le caractère “:” et
« 127.0.0.1 »
1. #Set the bind address to a specific IP (IPv4 or IPv6)
2. #
3. Network.host: 127.0.0.1
On redémarre le service :
sudo systemctl restart elasticsearch.service
Installation de Kibana
Kibana utilise la même clé GPG que Elasticsearch donc on a juste besoin de créer le fichier de dépôt pour Kibana :
4. Localisation du fichier : /etc/yum.repos.d/kibana.repo
5. [kibana-6.x]
6. name=Kibana repository for 6.x packages
7. baseurl=https://artifacts.elastic.co/packages/6.x/yum
8. gpgcheck=1
9. gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
10. enabled=1
11. autorefresh=1
12. type=rpm-md
Puis on installe kibana avec la commande :
sudo yum install kibana
Kibana est donc installé mais non configuré
7PELHÂTE Alexis
Installation de Logstash
Logstash utilise la même clé GPG que Elasticsearch donc on a juste besoin de créer le fichier de dépôt pour Logstash :
sudo vi /etc/yum.repos.d/logstash.repo
1. #Localisation : /etc/yum.repos.d/logstash.repo
2. [logstash-6.x]
3. name=logstash repository for 6.x packages
4. baseurl= https://artifacts.elastic.co/packages/6.x/yum
5. gpgcheck=1
6. gpgkey= https://artifacts.elastic.co/GPG-KEY-elasticsearch
7. enabled=1
8. autorefresh=1
9. type=rpm-md
Puis on installe Logstash
sudo yum -y install logstash
Logstash est installé mais pas encore configuré
8PELHÂTE Alexis
Configuration de la suite ELK
Configuration de Logstash
Les fichiers de configurations de logstash sont au format JSON, ils sont localisés dans le répertoire /etc/logstash/conf.d/
Logstash accepte trois types de configurations :
Input içi ce sera les clients Filebeat (Unix)
Output ici ce sera elasticsearch
Filter pour parser les données (décrit page ..)
On va donc créer un input pour Filebeat (collecteur unix)
02-beats-input.conf :
1. input {
2. beats {
3. port => 5044
4. ssl => false
5. Type => squid
6. }
7. }
On va créer l’output qui permettre d’alimenter la BDD d’elasticsearch
/etc/logstash/conf.d/30-elasticsearch-output.conf
1. output {
2. elasticsearch {
3. hosts => ["127.0.0.1:9200"]
4. manage_template => false
5. index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
6. document_type => "%{[@metadata][type]}"
7. }
8. }
9PELHÂTE Alexis
Note : impossible d’attribuer l’adresse locale sous la forme « localhost » à la variable host sans faire planter logstash au
bout de quelques envois
Le serveur logstash est maintenant configuré pour écouter sur le port 5044, il faut donc ouvrir ce port.
L’entrée et la sortie sont donc configurées, c’est sur ce serveur que seront placés les fichiers de filtres pour
« uniformiser les logs »
Configuration de Kibana
Kibana ne requiert pas de configuration particulière, il doit juste être connecté à la base de données elasticsearch en
permanence, kibana écoute sur le port 5601.
Le service nginx permet d’accéder à ce port au travers du port 80, sans créer de réel problème de sécurité (nginx
redirige tout le trafic du port 80 vers 127.0.0.1 :5601).
Pour configurer correctement kibana, on modifie le .yml de kibana situé dans le repertoire /etc/kibana/kibana.yml :
Modifier les lignes suivantes :
1. Server.port 5601
2. …
3. Server.host : « 127.0.0.1 »
4. …
5. Elasticsearch.url : http://127.0.0.1:9200
Mise en place d’une gestion des logs squid
Le transport des logs SQUID vers ELK
Pour les clients linux, l’outil principal pour collecter les logs est Filebeat. Cet outil permet d’envoyer un fichier de log (ou
un fichier texte peu importe le format) à travers le réseau de façon sécurisée ou non.
10PELHÂTE Alexis
Pour le transport des logs Elasticsearch donne des « beats »
Filebeat Unix
On télécharge le paquet Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.0-
x86_64.rpm
Puis on installe le paquet :
sudo rpm -vi filebeat-6.4.0-x86_64.rpm
Configuration de Filebeat
Avant de lancer le service il faut configurer Filebeat pour lui donner la localisation de logstash (input-beat.conf crée
précédemment)
ATTENTION : ce type de fichier n’accepte pas les tabulations
6. Filebeat.inputs:
7. – type : log
8. paths:
9. – /var/log/squid/access.log
10. – /var/log/squid/cache.log
11PELHÂTE Alexis
Il faut maintenant configurer “l’output”, c’est à dire ou vont être envoyés ces fichiers.
Pour ce client, je veux que les fichiers soient filtrés par logstash mais il est tout à fait possible d’envoyer directement les
fichiers à elasticsearch pour les stocker (certains fichiers n’ont pas besoin d’être parsés).
Dans le fichier de configuration par défaut l’output elasticsearch, il faut donc commenter les lignes pour désactiver
l’envoi direct.
Puis on dé commente l’output logstash :
11. output.logstash:
hosts: ["10.XX.XX.XX:5044"]
Les logs qui ont subi une erreur de transfert sont parfois non retransmis. Il existe un outil (open-source) pour contrer ce
défaut : REDIS
Il est possible de vérifier la configuration (syntaxe) grâce à une commande :
Filebeat test config
Si le fichier est correct la commande renvoi « Config OK », dans le cas inverse la ligne et l’erreur associée s’affichera.
Kibana n’affiche pour l’instant aucune donnée mais il est possible de vérifier que les données sont envoyées en
regardant le fichier de log Filebeat
DBG 2 events out of 2 events sent to logstash. Continue sending...
DBG send completed
Configuration du filtre Logstash
Pour rendre exploitable les données dans Kibana il faut découper les fichiers de logs en plusieures parties afin d’utiliser
la recherche a facette.
Pour effectuer ce genre de découpage plus de 30 filtres sont maintenu à jour par Elastic comme : dns, xml, json, grok,
csv, etc …
Le filtre le plus utilisé est le filtre grok : En effet ce filtre ce démarque des autres par sa forte polyvalence en matière de
découpage de données, il est de loin le filtre le plus complet car grok fait appel à un « annuaire » d’expression régulières
qui contient par défaut 120 « schémas » sans compter les regroupements de « schémas ».
12PELHÂTE Alexis
Par exemple, dans les « schémas » fournis par défaut on peut voir l’expression régulière de l’IPv4 et celle de l’IPv6 qui
sont différentes. Cependant un « schéma » IP existe regroupant l’expression régulière de l’IPv4 et celle de l’IPv6. Ce
schéma pourra donc découper un
champ d’une ligne de log tant
qu’elle contient une IPv4 ou une
IPv6.
Un « schéma » ou « pattern » grok a
un modèle bien précis :
La partie orange : %{} indique qu’un
champ va être identifié
La partie jaune : içi « IP »
correspond au pattern grok utilisée
pour identifier une adresse IP de
type IPv4 ou IPv6
La partie verte : içi « clientip » correspond au nom que l’on va donner à notre champ, la valeur si elle est correctement
découpée par le pattern IP sera attribué au champ « clientip ». Note si aucun nom n’est donné le champ sera identifié
mais pas indexé.
La partie bleue : correspond au format de votre ligne, s’il y a un espace entre deux champs, il faudra mettre un espace
entre les deux patterns, certains symboles devront être échappés par un backslash comme ci-dessus.
Exemple de configuration pour SQUID
10-squid-filter.conf :
12. filter {
13. if [type] == "squid" {
14. grok {
15. match => { "message" =>
"A%{BASE10NUM:reponse_time}%{SPACE}%{INT:time}%{SPACE}%{IPORHOST:src_ip}%{S
PACE}%{WORD:named_http_code}%{PATH:http_code}%{SPACE}%{INT:reply_size}%{SPAC
E}%{WORD:action}%{SPACE}%{NOTSPACE:url}%{SPACE}%{NOTSPACE}%{SPACE}%{WOR
D:squid_h_status}%{PATH:ip_dst}%{SPACE}%{NOTSPACE:mime_content}" }
16.
17. }
18. }
19. }
Source de l’image : qbox.io
13PELHÂTE Alexis
On remarquera que ce genre de filtre peut vite devenir complexe et il est important de tester son filtre sur un grand
nombre de lignes de logs différentes sous peine de voir un nombre grandissant de tags _grokparsefailure
Un site existe pour construire facilement ce type de pattern : grokconstructor.appspot.com
Ce site est recommandé par l’équipe de développement Elastic.co
Exemple d’un graphique obtenu (Codes http)
Pourquoi mettre en place une gestion des logs
Centraliser les logs va permettre de renforcer deux points très importants.
En premier la sécurité pour plusieurs raisons :
Il est possible d’ajouter une surcouche type IDS/IPS. Ce qui va permettre par exemple de bloquer l’accès réseau a une
machine via plusieurs occurrences sur un fichier de log via la recherche à facettes (IPS). Par exemple une tentative de
brute-force (essai d’un nombre conséquent de mot de passes) sur un équipement.
Ceux-ci n’utilisent donc pas l’écoute du réseau pour effectuer leur surveillance mais bien les logs, on appelle alors ces IDS
des log-based IDS (IDS basé sur les logs). Des exemples connus de tels systèmes sont Fail2ban et DenyHosts par exemple.
Une très bonne alternative est la distribution S E L K S qui utilise une pile logicielle ELK pour faire fonctionner son IPS/IDS
Suricata
Il va être beaucoup plus simple de mettre en place ce type d’infrastructure si les logs sont déjà centralisés.
Cela va permettre de répondre également à la législation qui demande de garder des logs de connexion horodatés
14PELHÂTE Alexis
pendant 1 an. La mise en place d’un tel système va permettre de sécuriser ces logs dans le cas d’une attaque ils seront
protégés d’une éventuelle suppression pour effacer les traces
En deuxième la gestion pour plusieurs raisons :
Le fait de centraliser la collecte des logs sur un seul point de l’infrastructure va faciliter l’archivage et la sauvegarde de
ses archives. Il est beaucoup plus simple de sauvegarder les logs d’une seule machine que de mettre en place une
sauvegarde des logs de chaque machine
Plus le SI sera grand plus il y aura de fichiers de logs et plus la centralisation sera bénéfique.
La centralisation permet également de garantir la pérennité des logs, il est nécessaire de ne pas les stocker sur un
système en production qui peut tomber à tout instant car s’il devient injoignable, la récupération des logs devient plus
compliquée alors que, s’ils sont exportés sur une machine disponible, la vitesse de récupération de ces derniers sera
beaucoup plus rapide et le problème sera traité plus facilement.
Avec la mise en place d’une plateforme de centralisation des logs il va devenir possible de mettre à disposition les logs à
des utilisateurs sans leur donner accès directement à la machine source
La centralisation permet d’effectuer des corrélations de manière plus simple sur plusieurs fichiers et ainsi avoir une
vision globale de l’infrastructure.
Pourquoi utiliser Elasticsearch ?
En effet avec Elasticsearch il va de venir possible de découper les fichiers et utiliser la recherche a facette pour créer de
nombreux graphiques, de rendre en fin de compte les fichiers de log, visuels.
Elasticsearch bénéficie de nombreuses fonctionnalités adaptées au « bigdata ».
Il a été conçu dans l'optique d'être évolutif, avec un système de clustering, de loadbalancing et est capable de
reconstruire les données perdues dû à, par exemple, un node défectueux.
Le support de la solution, il existe deux solutions payantes pour obtenir un support direct avec l’équipe Elasticsearch et
quelques fonctionnalités apportant de la sécurité « native » ainsi que du machine learning.
15PELHÂTE Alexis
Abstract
Elasticsearch is a free open source solution who allow you to index and analyze a large volume of data. Elastic use
Lucene for indexing and to provide a fast text-based research. On top of that ES is accesible by a REST Interface. The
REST interface work with http method to provide a access to the document trought theses methods (If you want to
retrieve a document use GET)
ES is popular because it can be easily scalable. The ability to extend resources and balance the load between the nodes
in a cluster. It also clone the data automatically to prevent data loss in case of server node failure.
This solution can be used to create a centralised log management plateform . Effective log management is essential to
both security and management
Elasticsearch is very accessible for someone who manage to learn quickly, Elastic.co provide a large documentation for
every part of the Elastic stack.
The great thing about Elastic is the possibility to use gathered data to create graphics based on log files and use them to
gain a global view of the infrastructure state.

Contenu connexe

Tendances

Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1easyopenerp
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogngKiemde Franck
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesThierry Gayet
 
Les développeurs aussi maitrisent le systèmD - Devoxx 2015
Les développeurs aussi maitrisent le systèmD - Devoxx 2015Les développeurs aussi maitrisent le systèmD - Devoxx 2015
Les développeurs aussi maitrisent le systèmD - Devoxx 2015Publicis Sapient Engineering
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trCheikh Tidiane DIABANG
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpGaëtan Trellu
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Pierre-jean Texier
 
T2 corrections-qc md
T2 corrections-qc mdT2 corrections-qc md
T2 corrections-qc mdinfcom
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linuxKhalid ALLILI
 
Rapport administration systèmes et supervision réseaux tp3 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp3 diabang master1 trRapport administration systèmes et supervision réseaux tp3 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp3 diabang master1 trCheikh Tidiane DIABANG
 
Rapport administation systèmes et supervision réseaux tp1 diabang master1 tr
Rapport administation systèmes et supervision réseaux tp1 diabang master1 trRapport administation systèmes et supervision réseaux tp1 diabang master1 tr
Rapport administation systèmes et supervision réseaux tp1 diabang master1 trCheikh Tidiane DIABANG
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Pierre-jean Texier
 
Rapport administration systèmes et supervision réseaux tp2 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp2 diabang master1 trRapport administration systèmes et supervision réseaux tp2 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp2 diabang master1 trCheikh Tidiane DIABANG
 

Tendances (20)

Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1
 
Pgbackrest meetup
Pgbackrest meetupPgbackrest meetup
Pgbackrest meetup
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogng
 
Nagios twil
Nagios twilNagios twil
Nagios twil
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Compilation noyau linux depuis les sources
Compilation noyau linux depuis les sourcesCompilation noyau linux depuis les sources
Compilation noyau linux depuis les sources
 
Les développeurs aussi maitrisent le systèmD - Devoxx 2015
Les développeurs aussi maitrisent le systèmD - Devoxx 2015Les développeurs aussi maitrisent le systèmD - Devoxx 2015
Les développeurs aussi maitrisent le systèmD - Devoxx 2015
 
Mise en place nagios
Mise en place nagiosMise en place nagios
Mise en place nagios
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dump
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
 
Apache Open SSL
Apache Open SSLApache Open SSL
Apache Open SSL
 
T2 corrections-qc md
T2 corrections-qc mdT2 corrections-qc md
T2 corrections-qc md
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
Rapport administration systèmes et supervision réseaux tp3 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp3 diabang master1 trRapport administration systèmes et supervision réseaux tp3 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp3 diabang master1 tr
 
Rapport administation systèmes et supervision réseaux tp1 diabang master1 tr
Rapport administation systèmes et supervision réseaux tp1 diabang master1 trRapport administation systèmes et supervision réseaux tp1 diabang master1 tr
Rapport administation systèmes et supervision réseaux tp1 diabang master1 tr
 
nodejs vs vertx
nodejs vs vertxnodejs vs vertx
nodejs vs vertx
 
Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'Mender 2.0 101: Bien démarrer avec les 'update modules'
Mender 2.0 101: Bien démarrer avec les 'update modules'
 
Rapport administration systèmes et supervision réseaux tp2 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp2 diabang master1 trRapport administration systèmes et supervision réseaux tp2 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp2 diabang master1 tr
 

Similaire à Synthese

Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatMohamed Ben Bouzid
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
optimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdfoptimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdfPascal Ponzoni
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxZakariyaa AIT ELMOUDEN
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravoSoumia Brabije
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natifHenri Gomez
 
Install oracle 11g sous RedHat
Install oracle 11g sous RedHatInstall oracle 11g sous RedHat
Install oracle 11g sous RedHatTaoufik AIT HSAIN
 
Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerMohamet Lamine DIOP
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busyboxAyoub Rouzi
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas yassine87
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembeddedAyoub Rouzi
 

Similaire à Synthese (20)

Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
optimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdfoptimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 3.pdf
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linux
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Snort implementation
Snort implementationSnort implementation
Snort implementation
 
Installation et configuration d'openbravo
Installation et configuration d'openbravoInstallation et configuration d'openbravo
Installation et configuration d'openbravo
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
 
Jenkins
JenkinsJenkins
Jenkins
 
M211-V1-0909.pptx.pdf
M211-V1-0909.pptx.pdfM211-V1-0909.pptx.pdf
M211-V1-0909.pptx.pdf
 
Install oracle 11g sous RedHat
Install oracle 11g sous RedHatInstall oracle 11g sous RedHat
Install oracle 11g sous RedHat
 
Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzer
 
Install oracle
Install oracleInstall oracle
Install oracle
 
graylog.pptx
graylog.pptxgraylog.pptx
graylog.pptx
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busybox
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
OpenNMS
OpenNMSOpenNMS
OpenNMS
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 

Synthese

  • 1. Synthèse Mise en place d’une gestion des logs Squid avec une pile logicielle ELK
  • 2. 1PELHÂTE Alexis Table des matières Pré-requis à l’installation de ELK ..................................................................................................... 2 Installation de Java 8 JDK update 181 ......................................................................................... 2 Installation & Configuration de Nginx (Facultatif) ....................................................................... 2 Installation de la suite ELK............................................................................................................... 5 Installation de ElasticSearch........................................................................................................ 5 Installation de Kibana.................................................................................................................. 6 Installation de Logstash............................................................................................................... 7 Configuration de la suite ELK .......................................................................................................... 8 Configuration de Logstash........................................................................................................... 8 Configuration de Kibana.............................................................................................................. 9 Mise en place d’une gestion des logs squid.................................................................................... 9 Le transport des logs SQUID vers ELK ......................................................................................... 9 Filebeat Unix ............................................................................................................................. 10 Configuration de Filebeat.......................................................................................................... 10 Configuration du filtre Logstash................................................................................................ 11 Pourquoi mettre en place une gestion des logs............................................................................ 13 Pourquoi utiliser Elasticsearch ? ................................................................................................... 14
  • 3. 2PELHÂTE Alexis Ce document décrira la trame à suivre pour installer & configurer la pile logicielle ELK (version 6.4), ainsi que la mise en place d’une infrastructure de gestion des logs SQUID (4.2) Le document décrira également les prérequis logiciels pour le bon fonctionnement de la pile ELK. J’ai choisi le système d’exploitation Centos 7 les commandes seront donc adaptées à cette distribution. En conclusion les enjeux de la mise en place de cette solution. Pré-requis à l’installation de ELK L’installation de la suite ELK nécessite un serveur LAMP fonctionnel Sauf httpd si on souhaite sécuriser l’infrastructure web avec nginx Installation de Java 8 JDK update 181 ELK fonctionne avec Java, le logiciel fonctionne bien avec OpenJDK mais l’utilisation de la dernière version d’Oracle (Java 8) est recommandée par ElasticSearch. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u181- b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm" sudo yum -y localinstall jdk-8u181-linux-x64.rpm Installation & Configuration de Nginx (Facultatif) Par défaut, Kibana est configuré de façon qu’il ne puisse écouter que localement sur la machine ou il est installé, ce qui signifie que si on veut y accéder par le réseau, on doit installer un serveur proxy inverse (étant sur linux j’ai donc choisi Nginx). Il sera possible d’utiliser du chiffrement grâce au serveur Nginx et lets-encrypt J’installerais également la suite d’outils d’apache2 que j’aurais besoin par la suite pour compiler des fichiers nécessaires au fonctionnement de ELK :
  • 4. 3PELHÂTE Alexis sudo yum install nginx apache2-utils Ainsi que la suite de paquets EPEL (Regroupement de paquets de haute qualité destinés aux entreprises qui utilisent linux). sudo yum -y install epel-release Nous allons créer un utilisateur elkadmin qui sera uniquement utilisé pour se connecter à l’interface Kibana par le biais de la commande htpasswd. L’attribut –c permet de créer le fichier passwdfile (ATTENTION : remplacement si déjà crée) : L’édition du mot de passe est active après avoir exécuté la commande. sudo htpasswd -c /etc/nginx/htpasswd.users elkadmin Après cela il faut éditer le fichier nginx.conf et supprimer le bloc de code, « server {} » sudo vi /etc/nginx/nginx.conf On peut voir dans les deux dernières lignes que nginx prend en compte les fichiers de configuration dans /conf.d include /etc/nginx/conf.d/*.conf; } Donc on remplacera ce bloc par un fichier de configuration kibana.conf personnalisé qui sera localisé dans ce dossier
  • 5. 4PELHÂTE Alexis 1. Localisation du fichier : /etc/nginx/conf.d/kibana.conf 2. server { 3. listen 80; 4. server_name localhost; 5. auth_basic "Restricted Access"; 6. auth_basic_user_file /etc/nginx/htpasswd.users; 7. location / { 8. proxy_pass http://127.0.0.1:5601; 9. proxy_http_version 1.1; 10. proxy_set_header Upgrade $http_upgrade; 11. proxy_set_header Connection 'upgrade'; 12. proxy_set_header Host $host; 13. proxy_cache_bypass $http_upgrade; 14. } 15. } 16. Cette configuration permet de rediriger tout le trafic HTTP vers Kibana qui écoute sur le port 5601. Nginx permet d’avoir une authentification basique via le htpasswd sudo systemctl restart nginx Si SELinux est installé il faut penser à autoriser nginx setsebool -P httpd_can_network_connect 1
  • 6. 5PELHÂTE Alexis Installation de la suite ELK Installation de ElasticSearch Pour installer ElasticSearch avec yum on ajoute le repositery officiel d’Elastic. Il faut en permanence installer une la clé GPG pour vérifier la provenance des paquets rpm. sudo rpm --import http://packages.elastic.co/GPG-KEY-elasticsearch On modifie la configuration de yum Localisation du fichier : /etc/yum.repos.d/elasticsearch.repo 1. [elasticsearch-6.x] 2. name=Elasticsearch repository for 6.x packages 3. baseurl=https://artifacts.elastic.co/packages/6.x/yum 4. gpgcheck=1 5. gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 6. enabled=1 7. autorefresh=1 8. type=rpm-md On installe elasticsearch : sudo yum install elasticsearch Elasticsearch n’est pas démarré automatiquement après l’installation, il faut activer le service pour permettre un démarrage automatique. systemctl enable elasticsearch Puis on démarre le service sudo systemctl start elasticsearch.service
  • 7. 6PELHÂTE Alexis Elasticsearch ne possède aucune sécurité pour l’instant, on va donc dans le fichier de configuration pour restreindre l’accès extérieur du port utilisé par elasticsearch : sudo vi /etc/elasticsearch/elasticsearch.yml On décommente la ligne suivante puis on remplace la valeur par 127.0.0.1 (Attention 1 espace entre le caractère “:” et « 127.0.0.1 » 1. #Set the bind address to a specific IP (IPv4 or IPv6) 2. # 3. Network.host: 127.0.0.1 On redémarre le service : sudo systemctl restart elasticsearch.service Installation de Kibana Kibana utilise la même clé GPG que Elasticsearch donc on a juste besoin de créer le fichier de dépôt pour Kibana : 4. Localisation du fichier : /etc/yum.repos.d/kibana.repo 5. [kibana-6.x] 6. name=Kibana repository for 6.x packages 7. baseurl=https://artifacts.elastic.co/packages/6.x/yum 8. gpgcheck=1 9. gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 10. enabled=1 11. autorefresh=1 12. type=rpm-md Puis on installe kibana avec la commande : sudo yum install kibana Kibana est donc installé mais non configuré
  • 8. 7PELHÂTE Alexis Installation de Logstash Logstash utilise la même clé GPG que Elasticsearch donc on a juste besoin de créer le fichier de dépôt pour Logstash : sudo vi /etc/yum.repos.d/logstash.repo 1. #Localisation : /etc/yum.repos.d/logstash.repo 2. [logstash-6.x] 3. name=logstash repository for 6.x packages 4. baseurl= https://artifacts.elastic.co/packages/6.x/yum 5. gpgcheck=1 6. gpgkey= https://artifacts.elastic.co/GPG-KEY-elasticsearch 7. enabled=1 8. autorefresh=1 9. type=rpm-md Puis on installe Logstash sudo yum -y install logstash Logstash est installé mais pas encore configuré
  • 9. 8PELHÂTE Alexis Configuration de la suite ELK Configuration de Logstash Les fichiers de configurations de logstash sont au format JSON, ils sont localisés dans le répertoire /etc/logstash/conf.d/ Logstash accepte trois types de configurations : Input içi ce sera les clients Filebeat (Unix) Output ici ce sera elasticsearch Filter pour parser les données (décrit page ..) On va donc créer un input pour Filebeat (collecteur unix) 02-beats-input.conf : 1. input { 2. beats { 3. port => 5044 4. ssl => false 5. Type => squid 6. } 7. } On va créer l’output qui permettre d’alimenter la BDD d’elasticsearch /etc/logstash/conf.d/30-elasticsearch-output.conf 1. output { 2. elasticsearch { 3. hosts => ["127.0.0.1:9200"] 4. manage_template => false 5. index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 6. document_type => "%{[@metadata][type]}" 7. } 8. }
  • 10. 9PELHÂTE Alexis Note : impossible d’attribuer l’adresse locale sous la forme « localhost » à la variable host sans faire planter logstash au bout de quelques envois Le serveur logstash est maintenant configuré pour écouter sur le port 5044, il faut donc ouvrir ce port. L’entrée et la sortie sont donc configurées, c’est sur ce serveur que seront placés les fichiers de filtres pour « uniformiser les logs » Configuration de Kibana Kibana ne requiert pas de configuration particulière, il doit juste être connecté à la base de données elasticsearch en permanence, kibana écoute sur le port 5601. Le service nginx permet d’accéder à ce port au travers du port 80, sans créer de réel problème de sécurité (nginx redirige tout le trafic du port 80 vers 127.0.0.1 :5601). Pour configurer correctement kibana, on modifie le .yml de kibana situé dans le repertoire /etc/kibana/kibana.yml : Modifier les lignes suivantes : 1. Server.port 5601 2. … 3. Server.host : « 127.0.0.1 » 4. … 5. Elasticsearch.url : http://127.0.0.1:9200 Mise en place d’une gestion des logs squid Le transport des logs SQUID vers ELK Pour les clients linux, l’outil principal pour collecter les logs est Filebeat. Cet outil permet d’envoyer un fichier de log (ou un fichier texte peu importe le format) à travers le réseau de façon sécurisée ou non.
  • 11. 10PELHÂTE Alexis Pour le transport des logs Elasticsearch donne des « beats » Filebeat Unix On télécharge le paquet Filebeat curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.0- x86_64.rpm Puis on installe le paquet : sudo rpm -vi filebeat-6.4.0-x86_64.rpm Configuration de Filebeat Avant de lancer le service il faut configurer Filebeat pour lui donner la localisation de logstash (input-beat.conf crée précédemment) ATTENTION : ce type de fichier n’accepte pas les tabulations 6. Filebeat.inputs: 7. – type : log 8. paths: 9. – /var/log/squid/access.log 10. – /var/log/squid/cache.log
  • 12. 11PELHÂTE Alexis Il faut maintenant configurer “l’output”, c’est à dire ou vont être envoyés ces fichiers. Pour ce client, je veux que les fichiers soient filtrés par logstash mais il est tout à fait possible d’envoyer directement les fichiers à elasticsearch pour les stocker (certains fichiers n’ont pas besoin d’être parsés). Dans le fichier de configuration par défaut l’output elasticsearch, il faut donc commenter les lignes pour désactiver l’envoi direct. Puis on dé commente l’output logstash : 11. output.logstash: hosts: ["10.XX.XX.XX:5044"] Les logs qui ont subi une erreur de transfert sont parfois non retransmis. Il existe un outil (open-source) pour contrer ce défaut : REDIS Il est possible de vérifier la configuration (syntaxe) grâce à une commande : Filebeat test config Si le fichier est correct la commande renvoi « Config OK », dans le cas inverse la ligne et l’erreur associée s’affichera. Kibana n’affiche pour l’instant aucune donnée mais il est possible de vérifier que les données sont envoyées en regardant le fichier de log Filebeat DBG 2 events out of 2 events sent to logstash. Continue sending... DBG send completed Configuration du filtre Logstash Pour rendre exploitable les données dans Kibana il faut découper les fichiers de logs en plusieures parties afin d’utiliser la recherche a facette. Pour effectuer ce genre de découpage plus de 30 filtres sont maintenu à jour par Elastic comme : dns, xml, json, grok, csv, etc … Le filtre le plus utilisé est le filtre grok : En effet ce filtre ce démarque des autres par sa forte polyvalence en matière de découpage de données, il est de loin le filtre le plus complet car grok fait appel à un « annuaire » d’expression régulières qui contient par défaut 120 « schémas » sans compter les regroupements de « schémas ».
  • 13. 12PELHÂTE Alexis Par exemple, dans les « schémas » fournis par défaut on peut voir l’expression régulière de l’IPv4 et celle de l’IPv6 qui sont différentes. Cependant un « schéma » IP existe regroupant l’expression régulière de l’IPv4 et celle de l’IPv6. Ce schéma pourra donc découper un champ d’une ligne de log tant qu’elle contient une IPv4 ou une IPv6. Un « schéma » ou « pattern » grok a un modèle bien précis : La partie orange : %{} indique qu’un champ va être identifié La partie jaune : içi « IP » correspond au pattern grok utilisée pour identifier une adresse IP de type IPv4 ou IPv6 La partie verte : içi « clientip » correspond au nom que l’on va donner à notre champ, la valeur si elle est correctement découpée par le pattern IP sera attribué au champ « clientip ». Note si aucun nom n’est donné le champ sera identifié mais pas indexé. La partie bleue : correspond au format de votre ligne, s’il y a un espace entre deux champs, il faudra mettre un espace entre les deux patterns, certains symboles devront être échappés par un backslash comme ci-dessus. Exemple de configuration pour SQUID 10-squid-filter.conf : 12. filter { 13. if [type] == "squid" { 14. grok { 15. match => { "message" => "A%{BASE10NUM:reponse_time}%{SPACE}%{INT:time}%{SPACE}%{IPORHOST:src_ip}%{S PACE}%{WORD:named_http_code}%{PATH:http_code}%{SPACE}%{INT:reply_size}%{SPAC E}%{WORD:action}%{SPACE}%{NOTSPACE:url}%{SPACE}%{NOTSPACE}%{SPACE}%{WOR D:squid_h_status}%{PATH:ip_dst}%{SPACE}%{NOTSPACE:mime_content}" } 16. 17. } 18. } 19. } Source de l’image : qbox.io
  • 14. 13PELHÂTE Alexis On remarquera que ce genre de filtre peut vite devenir complexe et il est important de tester son filtre sur un grand nombre de lignes de logs différentes sous peine de voir un nombre grandissant de tags _grokparsefailure Un site existe pour construire facilement ce type de pattern : grokconstructor.appspot.com Ce site est recommandé par l’équipe de développement Elastic.co Exemple d’un graphique obtenu (Codes http) Pourquoi mettre en place une gestion des logs Centraliser les logs va permettre de renforcer deux points très importants. En premier la sécurité pour plusieurs raisons : Il est possible d’ajouter une surcouche type IDS/IPS. Ce qui va permettre par exemple de bloquer l’accès réseau a une machine via plusieurs occurrences sur un fichier de log via la recherche à facettes (IPS). Par exemple une tentative de brute-force (essai d’un nombre conséquent de mot de passes) sur un équipement. Ceux-ci n’utilisent donc pas l’écoute du réseau pour effectuer leur surveillance mais bien les logs, on appelle alors ces IDS des log-based IDS (IDS basé sur les logs). Des exemples connus de tels systèmes sont Fail2ban et DenyHosts par exemple. Une très bonne alternative est la distribution S E L K S qui utilise une pile logicielle ELK pour faire fonctionner son IPS/IDS Suricata Il va être beaucoup plus simple de mettre en place ce type d’infrastructure si les logs sont déjà centralisés. Cela va permettre de répondre également à la législation qui demande de garder des logs de connexion horodatés
  • 15. 14PELHÂTE Alexis pendant 1 an. La mise en place d’un tel système va permettre de sécuriser ces logs dans le cas d’une attaque ils seront protégés d’une éventuelle suppression pour effacer les traces En deuxième la gestion pour plusieurs raisons : Le fait de centraliser la collecte des logs sur un seul point de l’infrastructure va faciliter l’archivage et la sauvegarde de ses archives. Il est beaucoup plus simple de sauvegarder les logs d’une seule machine que de mettre en place une sauvegarde des logs de chaque machine Plus le SI sera grand plus il y aura de fichiers de logs et plus la centralisation sera bénéfique. La centralisation permet également de garantir la pérennité des logs, il est nécessaire de ne pas les stocker sur un système en production qui peut tomber à tout instant car s’il devient injoignable, la récupération des logs devient plus compliquée alors que, s’ils sont exportés sur une machine disponible, la vitesse de récupération de ces derniers sera beaucoup plus rapide et le problème sera traité plus facilement. Avec la mise en place d’une plateforme de centralisation des logs il va devenir possible de mettre à disposition les logs à des utilisateurs sans leur donner accès directement à la machine source La centralisation permet d’effectuer des corrélations de manière plus simple sur plusieurs fichiers et ainsi avoir une vision globale de l’infrastructure. Pourquoi utiliser Elasticsearch ? En effet avec Elasticsearch il va de venir possible de découper les fichiers et utiliser la recherche a facette pour créer de nombreux graphiques, de rendre en fin de compte les fichiers de log, visuels. Elasticsearch bénéficie de nombreuses fonctionnalités adaptées au « bigdata ». Il a été conçu dans l'optique d'être évolutif, avec un système de clustering, de loadbalancing et est capable de reconstruire les données perdues dû à, par exemple, un node défectueux. Le support de la solution, il existe deux solutions payantes pour obtenir un support direct avec l’équipe Elasticsearch et quelques fonctionnalités apportant de la sécurité « native » ainsi que du machine learning.
  • 16. 15PELHÂTE Alexis Abstract Elasticsearch is a free open source solution who allow you to index and analyze a large volume of data. Elastic use Lucene for indexing and to provide a fast text-based research. On top of that ES is accesible by a REST Interface. The REST interface work with http method to provide a access to the document trought theses methods (If you want to retrieve a document use GET) ES is popular because it can be easily scalable. The ability to extend resources and balance the load between the nodes in a cluster. It also clone the data automatically to prevent data loss in case of server node failure. This solution can be used to create a centralised log management plateform . Effective log management is essential to both security and management Elasticsearch is very accessible for someone who manage to learn quickly, Elastic.co provide a large documentation for every part of the Elastic stack. The great thing about Elastic is the possibility to use gathered data to create graphics based on log files and use them to gain a global view of the infrastructure state.