Présentation Mise en Place Centralisation Des Logs - PMUC
Présentation Mise en Place Centralisation Des Logs - PMUC
Présentation Mise en Place Centralisation Des Logs - PMUC
CAS DU PMUC
PLAN:
V- Prise en main
I- Gestion centralisée des logs
Un log désigne une notification d’un événement d’une importance plus ou moins élevée envoyée
par un service, un système, un élément réseau ou une application.
C’est une sorte de journal de bord horodaté de toutes les différentes actions qui ont été effectués
sur sa source.
Les systèmes d’exploitation, les processus et les applications ont été écrits pour envoyer des
messages de leurs propres états ou pour indiquer que certains événements se sont produits.
Exemple: Logs d’un routeur Mikrotik
• Ces messages peuvent contenir un grand nombre d’informations
pouvant par exemple signaler un danger, ou une activité anormale
au sein du réseau. La complexité grandissante des systèmes
d’exploitation, processus et applications a emmené à la
conception de processus afin de catégoriser ces différents
messages pour permettre au personnel chargé des opérations de
rapidement différencier les notifications concernant les problèmes
à résoudre, des messages simples concernant l’état de la source.
Il apparait donc qu’une analyse plus poussée des logs pourrait permettre la résolution
rapide de certains types de problèmes notamment ceux liés à la sécurité. Cependant, afin
d’exploiter les logs, il faudra se connecter unitairement à chacun des équipements ; ce qui
rend la tâche difficile et fastidieuse pour des systèmes d’informations complexes. La
construction d’un « puits de logs » semble donc être une première brique de réponse. Il
s’agira de collecter l’ensemble des journaux d’événements des équipements dans un espace
de stockage unique ; en d’autres termes, effectuer une gestion centralisée des logs.
Les Atouts D’un Système
de Gestion Des Logs
Les principaux atouts d’un système de gestion des logs sont les suivants :
- La collecte des données de consignation : selon les cas, l’agent récupère les journaux d’événements et se charge de les
transmettre au serveur Syslog
- La conservation rationnelle : cette fonction est essentielle aux systèmes de gestion des logs étant donné le nombre de
réglementations incluant des conditions spécifiques exigeant la conservation des données de consignation, très souvent pendant
plusieurs années.
- La recherche : elle est indispensable pour utiliser les logs à des fins d’enquête, mener des analyses d’expertise et identifier les
défaillances tout en dépannant les applications à l’aide des logs.
- L’indexation et l’analyse des logs : l’indexation permet des recherches cent fois plus rapides. La technologie d’indexation crée
une structure de données appelée un index. Ce dernier permet d’effectuer des recherches très rapides à l’aide de mots-clés ou
d’opérateurs logiques sur l’ensemble du système de stockage des logs.
- Création des rapports standards et planifiés : ces fonctions concernent toutes les données recueillies par le produit de gestion
des logs ; les rapports doivent être créés rapidement, personnalisables et faciles à utiliser à diverses fins.
- Les alertes : Il est important d’avoir la capacité d’émettre des alertes selon des conditions émises sur les données enregistrées.
II- Etude des différentes solutions SYSLOG
III- Implémentation de la
solution choisie
L’objectif de notre travail était de pouvoir centraliser et analyser les
logs provenant de quatre différentes sources notamment :
- Les logs provenant du routeur
- Les logs applicatifs
- Les logs provenant des serveurs (journal d’événements)
- Les logs provenant des bases de données
Pour ce faire, nous avons opté pour le triplet: Graylog – Rsyslog –
NXLog.
Graylog et Rsyslog seront installés sur notre serveur Syslog tandis
que NXLog sera installé au niveau des serveurs dont on veut récupérer
les logs (serveur de bases de données, serveur hébergeant les
applications, …)
Elasticsearch sera chargé de stocker les logs récupérés tandis que
MongoDB va stocker les informations de configuration de Graylog.
Etapes
d’installation de
Graylog
Fonctionnant uniquement sur les systèmes GNU/Linux, Graylog possède deux dépendances
que sont Elasticsearch et MongoDB. Les étapes de sa mise en place sont les suivantes :
- Installation d’une distribution Linux: nous avons choisie Ubuntu 16.04
- Installation de Java 8
- Installation et configuration d’Elasticsearch 5.4
- Installation de MongoDB 3.4
- Installation et configuration de Graylog 2.3.1
Une fois que ces étapes ont été suivies, il est possible d’accéder à l’interface Web de
Graylog à partir de n’importe quel navigateur en saisissant dans la barre de recherche
https://172.18.100.15:9000
Présentation de l’interface web de Graylog :
Les inputs
Les inputs Graylog sont les parties chargées d’accepter les messages de logs provenant des différentes sources. Ils sont lancés à
partir de l'interface Web dans la section System -> Inputs; ils sont lancés et configurés sans avoir besoin de redémarrer une partie du
système.
Les Streams
Les streams Graylog sont un mécanisme permettant de router les messages en catégories en temps réel pendant leur traitement. O
définit des règles qui indiquent à Graylog quel message router dans quels stream. Un message sera acheminé dans chaque stream dont
toutes les règles (ou certaines de ses règles) correspondent. Cela signifie qu'un message peut faire partie de plusieurs stream et pas
seulement un.
Les Alertes
Les alertes sont basées sur les streams. On peut définir les conditions qui déclenchent des alertes. Graylog est livré avec des
conditions d’alerte et des notifications d’alerte par défaut pouvant être étendus avec des plugins.
Présentation de l’interface web de Graylog :
Les Dashboards
L'utilisation de tableaux de bord permet de créer des vues prédéfinies sur les données afin de toujours avoir tout à portée de clic.
Utilisateurs et rôles
Graylog a un système d'autorisation granulaire qui sécurise l'accès à ses fonctionnalités. Chaque interaction qui peut examiner les données ou
modifier la configuration dans Graylog doit être effectuée en tant qu'utilisateur authentifié. Chaque utilisateur peut avoir différents niveaux d'accès
aux fonctionnalités de Graylog, qui peuvent être contrôlés en attribuant des rôles aux utilisateurs.
Graylog Collector Sidecar
Il s’agit d’un système de gestion de configuration léger pour différents collecteurs de journaux, également appelé Backends. Le ou les nœuds
Graylog agissent comme un concentrateur centralisé contenant les configurations des collecteurs de journaux. Sur les périphériques / hôtes produisant
des messages, Sidecar peut s'exécuter en tant que service (hôte Windows) ou démon (hôte Linux). Ces configurations sont gérées de manière
centralisée et graphique via l'interface web de Graylog. Lors de sa première exécution, ou lorsqu'un changement de configuration a été détecté,
Sidecar va générer des fichiers de configuration Backend pertinents. Ensuite, il démarrera ou redémarrera ces collecteurs de journaux reconfigurés.
Configuration de base de
Graylog
Les premières configurations à effectuer une fois notre plateforme
Graylog mise en place concernent la création des « inputs » qui vont recevoir
les logs des différentes sources. Pour ce faire on ouvre l’onglet « Inputs »
du menu « System ».
Une fois que nos Inputs ont été créées, la suite de la procédure
consiste à configurer nos différentes sources afin qu’elles renvoient leurs
logs vers ces inputs.
IV- Configurations des sources
1- Cas du routeur Mikrotik
- La réception des logs via UDP sur le port 514 : ceci se fait
en effaçant le signe dièse (#) devant les lignes concernées
après l’ouverture du fichier rsyslog.conf
*.* @127.0.0.1:5140
Une fois que Rsyslog a été configuré pour permettre ces deux actions,
on redémarre le service Rsyslog et on suit les étapes suivantes:
Se connecter au routeur à travers l’application Winbox
C:\Program Files\nxlog\nxlog –u
C:\Program Files\Graylog\collector-sidecar\Graylog-
collector-sidecar.exe –service install
C:\Program Files\Graylog\collector-sidecar\Graylog-
collector-sidecar
C:\Program Files\nxlog\nxlog –u
NB: sur certains serveurs Program Files devra être remplacé par Program Files (x86)
Ouvrir le dossier d’installation de Graylog-collector-sidecar et modifier le fichier YML collector_sidecar comme présenté
précedemment
Ouvrir l’interface web de Graylog et aller dans l’onglet « Collector » du menu « System » ; cliquer sur « manage
configurations » puis sur « create new configuration »
Sélectionner NXLog et configurer une Output et une Input sans oublier les tags comme l’indique les figures suivantes
4- Cas des Applications
Les applications stockent leurs logs dans des fichiers textes ; pour la gestion des logs applicatifs, se référer au cas précédent du
SGBD SQL Server et suivre les mêmes étapes.
Après avoir suivi toutes ces étapes on observe que tous les logs provenant de nos diverses sources sont bel et bien transférés vers
Graylog et stockés dans la base de données Elasticsearch. Afin d’optimiser le rendement et l’utilisation de notre serveur Syslog, des
points importants tels que la gestion des alertes, les sauvegardes et les restaurations, ainsi que la gestion de l’espace disque ont été
abordés,
V- Prise En Main
1- Envoi des alertes
L’un des atouts de Graylog réside en sa capacité d’envoyer des alertes par mail lorsque des conditions prédéfinies sont atteintes.
Pour ce faire, la première étape consiste à mettre en place un MTA (Mail Transfert Agent) qui permettra l’envoi d’email ; nous avons
opté pour Postfix car plus rapide, plus facile à administrer et plus sécurisée. Pour notre démo, Postfix a été configuré pour envoyer des
mails avec Gmail. Les étapes suivantes ont donc été suivies :
Mailutils permet la gestion des courriels par la console, libsasl2-2 est l’implémentation de l’interface de programmation de
Cyrus SASL, ca-certificates contient des fichiers PEM de certificats CA et libsasl2-modules contient des modules
pour le paquet libsasl2-2.
[smtp.gmail.com]:587 [email protected]:password
Username désigne le nom d’utilisateur gmail.com et password le mot de passe de la boite Gmail. On enregistre et on quitte ; puis
on attribue les droits pour pouvoir utiliser ce fichier :
Exécuter un Postmap
Une fois que notre MTA a bien été mis en place, la deuxième étape consiste à modifier la section « Email Transport » du fichier de
configuration de Graylog comme suit:
A ce stade, Graylog est maintenant capable d’envoyer des alertes par mails sur les conditions qu’on aura définies.
2- Backup/Restauration des logs
Les logs étant stockés dans la base de données Elasticsearch, les processus de backup et de restauration des logs vont être
effectués par les fonctionnalités Snapshot et Restore d’Elasticsearch. Les étapes pour effectuer un backup des logs sont les
suivantes :
Path.repo : [“/chemin/vers/répertoire/backup”]
Redémarrer Elasticsearch et modifier les permissions sur le répertoire de backup de sorte qu’Elasticsearch puisse écrire ses
informations
Supprimer les indices concernés de la base de données Elasticsearch à partir de l’interface web de Graylog