33
Stage de 2ème année → Centralisation des Logs - Synthèse - BONHOMME GWENDAL 2017

Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

Stage de 2ème année → Centralisation des Logs

- Synthèse -

BONHOMME GWENDAL 2017

Page 2: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

SOMMAIRE A - Introduction :

B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 - Kibana 4 - Les indexs et filtres Logstash

4.1 - Index Filebeat : 4.1.1 - Les patterns 4.1.2 - Les expressions régulières (REGEX)

4.2 - Filtre grok 4.3 : Filtre GeoIP 4.4 : Filtre kv 4.5 : Filtre date 4.6 - Index Packetbeat : 4.7 - NetFlow :

5 - Utilisation de Kibana : 5.1 - Discover : 5.2 - Visualize :

5.2.1 - Graphique en Camembert (Pie Chart) 5.2.2 - Tableau de visualisation (Data Table) 5.2.3 - Histogramme (Module Vertical Bar Chart) 5.2.4 - Représentation sur Planisphère (Tile Map) 5.2.5 - Graphiques réalisés :

A - Vue générale des logs B - Logs Forti C - Analyse des paquets réseaux (netflow) D - Logs Iptables E - Logs Nginx

5.3 - Dashboard : 8 - Timelion : 9 - Elastalert 10 - Logtrail

C - Conclusion

D - Bibliographie & Annexes 1 - Bibliographie : 2 - Fichiers de configuration essentiel au bon fonctionnement. 3 - Compétences acquises

1

Page 3: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

A - Introduction : Qu’est-ce que la centralisation des logs ? (Définition) La centralisation des logs consiste à mettre sur un système, une même plateforme, l’ensemble des logs des systèmes, applications et services des machines environnantes. On reprend alors le principe de la supervision, dont la surveillance des logs doit être une branche, qui consiste à centraliser les éléments de surveillance sur une plate-forme unique. On appellera cela un point unique de communication, ou point unique de contact (Single Point Of Contact – SPOC) pour l’analyse des logs. La centralisation de l’information permettra ici de mener plusieurs opérations qui iront toutes dans le sens de la sécurité et de la meilleure gestion du système d’information. On utilise la centralisation des logs pour avoir une vue d’ensemble des équipements d’un SI et pouvoir y mener des traitements tels que la recherche /statistique, la détection d’intrusion ou bien diagnostiquer un crash. Rappel du projet de l’ancien stagiaire : Déterminer quel logiciel de centralisation gratuit est le meilleur pour VIF par des caractéristiques fonctionnel et ergonomique. La solution retenue a été celle de la suite ELK ELK qu’est-ce que c’est ? (Elasticsearch, Logstash, Kibana) appelé Elastic Stack aujourd’hui. Elastic Stack permet d’extraire une information qui est dissimulée dans un lot de données volumineux. Peu importe le format sous lequel est stocké l’information: fichier de logs, base de données, autre média… la finalité est toujours d’extraire certaines données et de les synthétiser dans un graphique ou un dashboard. Deux cas de figure sont alors possibles : soit l’information existe déjà, et il reste à aller la chercher dans le flot de données; soit elle n’existe pas encore, et dans ce cas il faut modifier son application ou son infrastructure pour qu’elle soit disponible et ensuite incorporée dans la chaîne ELK. Dans notre cas, on souhaite utiliser les logs de plusieurs sources et de types différents. Des équipement réseaux (switchs, routeurs..) reçu via rsyslog ou de serveurs. - /rsyslog/swl2-nantes-1.vif.tm.fr.log - /rsyslog/swl2-nantes-2.vif.tm.fr.log - /rsyslog/swl2-nantes-3.vif.tm.fr.log - /rsyslog/swl3-nantes-1.vif.tm.fr.log - /rsyslog/proxy1.log - /rsyslog/cisco-capwap-controller.vif.tm.fr.log (logs iptables) - /rsyslog/cisco-lwapp-controller.vif.tm.fr.log (logs iptables) - /rsyslog/fortiinternet.vif.tm.fr.log (logs forti) - /rsyslog/uFwTelem.log - /rsyslog/nas59.log - /rsyslog/nascom.log - /var/log/messages

2

Page 4: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

B - Développement : Schéma de l’architecture :

1 - Elasticsearch : C’est moteur de recherche libre open source utilisant Lucene (un des projets de l’Apache Software Foundation).

- Il est distribué (architecture de type cloud computing) - Il utilise Lucene pour le stockage de ses données dans un format NoSQL - Il utilise la méthode REST (d'architecture qui repose sur le protocole HTTP) - Utilisation de l’outil Kopf, un outil d’administration en AngularJS avec différentes

fonctionnalitées dont un superviseur pour les index, un outils de requêtes et un analyseur pour visualiser le stockage des données.

2 - Logstash : C’est un ETL (Extract Transform Load) destiné principalement au traitement des logs, qui compte plus de 160 plugins. Sa devise est « Collect, Enrich & Transport Data » Dans notre cas, nous allons l’utiliser pour récupérer les logs, les traiter (découpe, traitement …) puis les stocker dans Elasticsearch. Elasticsearch et Logstash fonctionnent en JAVA Fichier de configuration de logstash : /etc/logstash/logstash.yml

3

Page 5: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Dans ce fichier, il faut renseigner le répertoire où on récupère les logs : path.logs: /var/log/logstash Le répertoire de configuration de logstash qui se découpe en plusieurs fichiers de configuration path.config: /etc/logstash/conf.d Dans ce répertoire se situe un fichier pour les entrée dans logstash, un fichier pour les filtres appliqués et ensuite un fichier de configuration pour définir la sortie des données.

3 - Kibana Kibana est un visualiseur de données en Javascript, directement relié à Elasticsearch. Il permet de créer des recherches personnalisés, qui mène à la création de graphs qui ensuite mènent à la mis en place de Dashboards (tableau de bords). Kibana s’organise en 4 parties principales : Discover – Les logs sont affichés ici de manière « brut », une barre de recherche permet de faire des tries. Les recherches personnalisées se créer dans cette partie. Visualize – Partie de création de graphique, se basant sur les recherches créées dans la partie Discover. Dashboard – Partie d’affichage de recherches et de graphiques sur un ou plusieurs dashboards personnalisables. Settings – Partie de modification des paramètres de Kibana.

4 - Les indexs et filtres Logstash

4.1 - Index Filebeat : Collecte les fichiers de logs dans les fichiers et récupère leur contenu de manière brut. Filebeat envoie les lignes de logs non parsées/traitées vers elasticsearch Il permet d’analyser le contenu des fichiers des logs.

4.1.1 - Les patterns pattern = modèle Les logs sont reçus en message brut sans traitement. Pour les traiter, on utilise des variables appelé patterns pour parser les messages et pouvoir mieux les lire ou traiter avec Kibana. Pour bien traiter les logs, on utilise des expressions régulières pour que les messages se parsent correctement.

4

Page 6: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

4.1.2 - Les expressions régulières (REGEX) Les expressions régulières constituent un système très puissant et très rapide pour faire des recherches dans des chaînes de caractères comme les logs. C'est une sorte de fonctionnalité Rechercher / Remplacer très poussée.

4.2 - Filtre grok Utilisation des filtres Grok, mutate, GeoIP, kv pour parser les lignes. Logstash est capable d’envoyer les informations analysées vers ElasticSearch Le module grok permet d’associer des patterns ou des expression régulières aux logs pour pouvoir les parser et en faire des valeur manipulable dans kibana et pouvoir les traiter en graphique.

4.3 : Filtre GeoIP Les paramètres GeoIP permettent de récupérer à partir d'adresses IP des informations de géolocalisation de celle-ci. Cela est utile pour pouvoir afficher par exemple la provenance d’une attaque ou de blocage de connexion via un planisphère sur kibana. Exemple :

4.4 : Filtre kv La fonction kv (key values) permet d’associer chaque termes possédant la valeur ”=“. En effet certains logs comme Forti (ci-dessous) sont représentés par une suite comme ceci : NOM=VALEUR. Le module kv va récupérer le nom et la valeur et les associer ensemble.

5

Page 7: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

On ajoute un préfix “forti_” par exemple pour qu’il s’ajoute au NOM. Exemple :

4.5 : Filtre date Ce module permet de mettre au bon format la date des logs reçus. Exemple :

4.6 - Index Packetbeat : Collecte les paquets réseaux tcp/udp Capture du trafic réseau Permet de visualiser le trafic réseau.

4.7 - NetFlow : Netflow est un index similaire à packetbeat mais moins consommateur de performance CPU, il analyse l’état du trafic réseau à partir de flux. On peut représenter ces données exactement de la même manière qu’avec packetbeat.

5 - Utilisation de Kibana :

5.1 - Discover : Discover permet d’afficher les logs, et leurs découpage avec les patterns. On peut effectuer des recherches avec la barre prévue à cet effet mais on peut également enregistrer ces recherches pour les afficher dans un dashboard. Il peut être déjà filtrer ou bien l’insérer sans filtre, et avec la sélection par cliquer sur les graphiques et le filtrer par la suite. On peut construire des requêtes pour filtrer les logs. Ces requêtes peuvent être utilisés dans les filtres des graphiques décrit plus bas. Elle se construisent - par correspondance de phrases entières : “recherche” - dans des domaines spécifique : type:forti - on peut exprimer des requêtes complexe avec les mot AND et OR :

6

Page 8: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

type:forti AND NOT type:iptables - avec des parenthèses : type:forti AND forti_tunneltype:"ssl-web" AND ( forti_reason:"login successfully" OR forti_action:"ssl-login-fail" ) - tout rechercher : * Exemple d’affiches des logs sans avoir appliqué de filtre.

Exemple d'affichages des logs après avoir effectué une recherche dans la barre prévu à cet effet. On prend comme exemple l’affichage des logs de type iptables et qui utilise la le port eth0 en entrée. type:iptables AND iptables_IN:eth0

Ce module est très utile pour vérifier si le parsage c’est correctement effectué. Si le traitement des logs ne se fait pas bien, un tag est ajouté avec une syntaxe de type “error. (exemple de mauvais parsage pour le module Grok : grok_parse_failure).

7

Page 9: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

On peut également développer chaque messages qui séparent les clés-valeurs créer avec des patterns.

5.2 - Visualize : La partie visualize permet de créer des représentation des données traitées par logstash dans kibana via des graphiques, des tableaux, des planisphères, des compteurs… Ces représentations se configurent relativement de la même manière. Avec des éléments relatifs au type de représentation. On retrouve toujours une option numérique obligatoire des fichiers affichés.

On peut ensuite filtrer et/ ou afficher les données intéressantes à exploiter. Cela se trouve dans la catégorie agrégation.

8

Page 10: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Pour les logs “Terms” et “Significant terms” ont été les plus utilisé pour représenter les données parser par logstash

5.2.1 - Graphique en Camembert (Pie Chart)

La représentation de certaines informations récupérées dans les logs en un graphique de type “camembert” a été retenue, cette représentation permet également la sélection de filtre (ou de ciblage sur les données sélectionnées) ce qui est pratique pour la navigation sur un dashboard. Pour l’utiliser, il faut aller dans le menu “Visualize”, sélectionner l’index où l’on souhaite récupérer des informations. Un camembert apparaît. On applique les paramètres souhaités. On valide.

Dans les options on peut choisir le mode donut (comme l’exemple ci-dessus). Il est également possible de subdiviser le graphique pour avoir des information supplémentaire. (En prenant appuie sur l’exemple ci-dessous, on représente la proportion du nombre de logs par serveur, puis on subdivise par type.

9

Page 11: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

5.2.2 - Tableau de visualisation (Data Table) Les tableaux sont très utiles pour pouvoir afficher des informations choisi sur les logs sans utiliser le module Discover de kibana et de pouvoir les afficher en permanence sur le tableau de bord. De cette manière on peut afficher par exemple pour des logs iptables l’heure où les logs ont été reçu, leurs adresses IP source et destination et leurs nombre.

5.2.3 - Histogramme (Module Vertical Bar Chart) Pour visualiser le nombre de logs reçu sur une durée, le diagramme de type histogram est très utile. Pour le configurer, dans la catégorie bucket, on introduit les données pour l’axe des abscisse avec le pattern @timestamp avec un interval définit automatiquement. Ensuite on applique un ou des filtres au résultat pour pouvoir afficher les donnés que l’on souhaite.

5.2.4 - Représentation sur Planisphère (Tile Map) Cette représentation permet de visualiser des informations sur une carte du monde.

10

Page 12: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

5.2.5 - Graphiques réalisés :

A - Vue générale des logs

Histogramme : - Représentation des logs reçus sur la durée.

Camembert :

- Représentation différentielle des logs en fonction de leurs sources et de leurs types.

11

Page 13: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Tableaux :

- Nombre de logs réparties en fonction des différents serveurs

- Liste des logs réparties en fonction de leurs types avec le nombre.

12

Page 14: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Recherche enregistré (Discover) :

- Affichage de la date et heure des logs et leurs messages.

B - Logs Forti

Histogrammes : - Affichage du nombre de logs de type “forti” sur la durée.

- Affichage du statut des connections SSL (Down ou Up)

On crée deux filtres pour notre représentation : filtre 1: type:forti AND forti_action:tunnel-down filtre 2: type:forti AND forti_action:tunnel-up Pour ne pas empiler les résultats et afficher deux barres distinctes, il faut sélectionner grouped dans les options.

13

Page 15: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

- Visualisation des attaques et des connexions bloqués

Camembert :

- Affichage / Sélection des attaques et connections bloqués

Tableau :

- Blocage de connection (action=blocked)

- Blocage d’attaques (action=deny)

Planisphères :

- Géolocalisation des connection bloqués

14

Page 16: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

- Géolocalisation des attaques reçus

Recherche enregistré (Discover) :

- Affichage de la date et heure du log et son message ainsi que l’action effectué (blocked ou deny)

C - Analyse des paquets réseaux (netflow)

Pour cette représentation, on utilise l’index packetbeat ou netflow.

15

Page 17: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Dans les options de représentation, on sélectionne le type “stacked”. Cela permet d’empiler les données. Après des premiers essais avec l’index packetbeat, le choix c’est tourné vers l’index netflow car packetbeat utilisait beaucoup trop de performance CPU. Download :

Upload :

D - Logs Iptables

Histogrammes : - Représentation des logs iptables sur la durée

- Affichage différentiel des ports utilisés (eth1 et eth2)

Camemberts / Donuts :

16

Page 18: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

- Représentation / Sélection de l’adresse IP destination

- Représentation / Sélection de l’adresse IP source

- Représentation / Sélection des protocoles employé

17

Page 19: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

- Représentation /Sélection des différents types de logs iptables

- Visualisation / Sélection des ports destination

Recherche enregistré (Discover) :

- Affichage de la date et heure du log et son message

18

Page 20: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

E - Logs Nginx

Histogramme : - Représentation du nombres de logs sur la durée avec une distinction des réponses

web.

Camemberts :

- Représentation des clients ip (à droite) - Représentation des réponses web.

-

Recherches enregistrées : - Affichage des messages d’erreurs logs et leurs dates.

- Affichage des messages et leurs dates.

Compteurs :

- Affichage du nombre de message d’erreur dans les logs nginx. (à gauche) - Affichage du nombre total de logs nginx. (à droite)

19

Page 21: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

5.3 - Dashboard : Les informations sont affichées sur des tableau de bord personnalisé, représentée de manière très visuelle à la guise de l’utilisateur. Présentation des différents dashboard réalisés : Forti_Dashboard : Représentation des logs de type forti. On retrouve un histogramme du nombre de logs reçut sur la durée, un autre histogramme avec le changement d’état des tunnel SSL sur une même durée. On retrouve également un compteur du nombre de logs forti total. Un tableau donnant le nombre de logs en fonction de leurs type et le message qui y correspond. Un graphique de type “camembert” pour sélectionner et visualiser la représentation proportionnelle des statuts des tunnel SSL.

20

Page 22: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Forti_Dashboard_State_SSL :

21

Page 23: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Forti_StatusChange

Logs_Dashboard :

22

Page 24: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Nginx_Dashboard :

Traffic :

23

Page 25: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Web_Dashboard :

Dahsboard_IPtables

8 - Timelion : Réunit des sources de données totalement indépendantes dans une seule interface, obtenue grâce à un langage qui tient en une ligne et qui associe récupération des données, combinaison chronologique et transformation plus visualisation. Chaque expression Timelion commence avec une fonction identifiant la source de données. Par exemple .elasticsearch(*) (ou .es(*) en raccourci). Pour l’exemple ci-dessous on distingue en rouge les logs de type “iptables” et en bleu les logs de type “forti” sur une durée de 15 minutes. Filtre : .es(type:forti) .es(type:iptables)

24

Page 26: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Quelques exemples d’option dans timelion. .es(*) ⇒ données de elasticsearch q= ⇒ filtres (voir exemple ci-dessous) .color() ⇒ change la couleurs de la courbe .label() ⇒ donne un nom à la courbe (dans la légende) .title() ⇒ titre du graph .bars() ⇒ graphique en bars : width ⇒ nb de pxl .condition () ⇒ permet d’insérer des conditions pératrice, if, then else .legend() ⇒ donne la position de la légende nw - ne - se - sw .point() ⇒ graphique en points

9 - Elastalert Elastalert est un module ajouté à elasticsearch qui permet d’envoyer un mail à l’administrateur pour pouvoir être informé lors d’un pic de téléchargement ou une attaque sur le réseau par exemple.

25

Page 27: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

10 - Logtrail Logtrail est un plugin de Kibana qui permet de voir, chercher et analyser les logs en temps réel.

C - Conclusion La suite Elastic stack est un outil très utile pour superviser les logs d’un système d’information. Cette suite offre des possibilités très étendues par ces nombreuses entrées possibles traitées par Logstash et les filtres applicables sur les données récoltées, les dashboards (tableau de bord) de Kibana qui est un excellent outil d’analyse de logs qui offre également des fonctionnalités de configurations très riches. Cet outil donne une vision rapide, efficace, et claire de ce qui se passe sur les applications, ou matériel à surveillées. De plus la possibilité d’installer des plugins pour améliorer les performance de notre solution de centralisation de logs et de leurs consultation simple ou bien d’ajouter de nouveaux outils pour évaluer le niveau de données émisent et réceptionnées, mais encore un système d’alerte mail automatique. Ces fonctionnalité rendent la supervision d’un SI beaucoup plus rapide et moins fastidieuse que de chercher les logs correspondants à des erreurs à un landa temps. Les dashboards apporte également une vision claire et simple de plusieurs représentations d’information des logs, cette fonctionnalité rend la lectures des logs beaucoup plus facile et accessible via un seul écran.

26

Page 28: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

D - Bibliographie & Annexes

1 - Bibliographie : ELK : http://linuxfr.org/news/gestion-des-logs-avec-logstash-elasticsearch-kibana http://blog.netapsys.fr/vos-logs-passent-la-seconde-avec-elk-elasticsearch-logstash-kibana/ https://connect.ed-diamond.com/MISC/MISC-083/Supervision-de-securite-analyse-exhaustive-d-evenements-avec-les-outils-ELK https://www.elastic.co/guide/en/kibana/current/index.html http://blog.netapsys.fr/vos-logs-passent-la-seconde-avec-elk-elasticsearch-logstash-kibana/comment-page-1/ Logs Oracle: https://bdrouvot.wordpress.com/2016/03/26/push-the-oracle-alert-log-and-listener-log-into-elasticsearch-and-analyzevisualize-their-content-with-kibana/ Plugins kibana: https://github.com/snuids/Elastic-5.0-Country-Map-Visualizer Elastalert http://elastalert.readthedocs.io/en/latest/

2 - Fichiers de configuration essentiel au bon fonctionnement. Ce sont les fichiers de configuration qui ont été le plus traités durant la période de stage. Filtre Logstash : /etc/logstash/conf.d/10-syslog-filter.conf

27

Page 29: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

28

Page 30: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

29

Page 31: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Input Logstash : /etc/logstash/conf.d/02-beats-input.conf

Output Logstash : /etc/logstash/conf.d/30-elasticsearch-output.conf

30

Page 32: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Filebeat : /etc/filebeat/filebeat.yml

31

Page 33: Stage de 2ème année - Synthèse · 2017-04-05 · BONHOMME Stage 2 - BTS SIO Gwendal 2017 SOMMAIRE A - Introduction : B - Développement : 1 - Elasticsearch : 2 - Logstash : 3 -

BONHOMME Stage 2 - BTS SIO Gwendal 2017

Patterns personnalisés : /etc/logstash/patterns/grok-custom-patterns

Patterns par défaut : /etc/logstash/patterns/00-grok-patterns

3 - Compétences acquises Compétences acquises et reformulation dans le contexte du stage. A1.3.3 , Accompagnement de la mise en place d'un nouveau service Mise en place d’une solution de supervision (centralisation de logs) Installation de ELK + plugins A3.2.1 , Installation et configuration d'éléments d'infrastructure Installation d’un outil de supervision et de traitement des logs A3.2.3 , Mise à jour de la documentation technique d'une solution d'infrastructure A3.3.4 , Automatisation des tâches d'administration Parssage automatique à l’aide des patterns et d’expressions régulières dans un fichier de configuration qui traite tous les logs d’un même type, de la même manière ce qui rend automatique l’association clé-valeur des données dans les logs. A4.1.9 , Rédaction d'une documentation technique Rédaction partagée d’une documentation sur l'installation des services au fur et à mesure via google drive. Rédaction d’une documentation de l’utilisation de kibana un utilisateur. A5.2.3 , Repérage des compléments de formation ou d'auto-formation ... Documentation et autoformation sur les patterns, expressions régulières, installation ELK et plugins en ligne. Présentation à l’équipe de l’utilisation de la solution A5.2.4 , Étude d’une technologie, d'un composant, d'un outil ou d'une méthode Logs traités : Logs iptables Logs linux_message et secure logs Samba

32