5. 5
Introduction
Centralisation des logs
La centralisation des logs est une solution qui consiste à
rassembler tous les logs d’un groupe de machines sur la même
plateforme. Toutes les informations des logs deviennent ainsi
accessibles via une interface unique, simple d’accès et
d’exploitation
6. 6
Introduction
Centralisation des logs
La centralisation des logs est un processus continu qui se décompose
en plusieurs étapes :
o La génération des logs : vous choisissez les logs à produire selon les objectifs
et besoins du projet.
o La collecte : les logs sont ensuite envoyés vers une plateforme commune.
o Le filtrage : vous analysez et filtrez les différentes metrics et variables
pour répondre aux besoins spécifiques du monitoring.
o La présentation des données : cette étape permet de créer des Dashboard
personnalisés regroupant les données synthétisées, pour permettre de lire
et comprendre les données des logs.
7. 7
Introduction
Comparison des outils des logs
installation Très simple
d’installation : creation
d’un compte et
récupération du fichier
d’installation sur le site
officiel de Splunk.
L’installation est plus
complexe que Splunk
mais reste relativement
simple grâce à la
documentation en ligne.
Installation similaire à ELK
configuration Configuration simple qui
se fait depuis l’interface
Web (configuration de
port d’écoute, ajout de
données…)
Configuration plus
complexe car il faut
configurer Logstash (il
faut donc maîtriser un
minimum de langages
de script)
Configuration simple et
similaire à Splunk car ellese
fait là aussi depuis l’interface
web.
Recherche
Simple pour une
utilisation basique. Il
suffit de taper le mot
clérecherché pour qu’il
s’affiche en
surbrillance.
Simple également pour
une basique utilisation.
Similaire à Splunk
Utilisation basique
simple, similaire à Splunk
et ELK
8. 8
Introduction
Comparison des outils des logs
Tableau de bord
(Dashboard
Dashboard non interactif.
Barre de recherche et
temps non disponible par
défaut. Il faut configurer
les dashboards pour les
rendre compatibles avec
les visualisations
Dashboard interactif
par défaut. Barre de
recherche et barre de
temps toujours
disponibles.
Dashboard facile à créer
et à modifier mais ces
deux aspects ne sont pas
interactifs et la barre de
recherche / temps n’est
pas disponible ; Point
faible de Graylog.
alertes Nécessite la version «
Splunk Enterprise ».
Nécessite le « X-Pack » et
donc la souscription à un
abonnement.
Alertes disponibles
gratuitement. Point fort de
Graylog.
Identification
et gestion des
utilisateurs
Nécessite la version «
Splunk Enterprise » pour
créer des utilisateurs et
gérer leurs droits.
Gestion des utilisateurs
disponible gratuitement.
Nécessite « X-Pack » pour
bénéficier de la fonction
d’identification et la
gestion des utilisateurs
9. 9
Graylog
Introduction
C’est une plate-forme de gestion log open source. Il permet de
collecter, d'indexer et d'analyser les logs dans un emplacement
centralisé. Tous les messages sont stockés dans une base de
données MongoDB. Le serveur Graylog a été écrit en Java et accepte
les logs des systèmes via UDP ou TCP.
10. 10
Graylog
Introduction
Graylog a quatre composants principaux:
1.Graylog Server: reçoit et traite les messages et communique avec tous les
autres composants
2.Elasticsearch: gére l'indexation et la recherche de données.
1.MongoDB: stocke les métadonnées et ne subit pas beaucoup de charge.
2.Interface Web: l'interface utilisateur.
12. 12
Installation
Graylog peut être installé de différentes manières:
o Paquets de système d'exploitation
o Installation d'Ubuntu
o Installation de Debian
o Installation de CentOS
o Installation SLES
o Docker
13. 13
Installation
Graylog 4.3 requiert les éléments suivants pour maintenir la compatibilité avec
ses dépendances logicielles :
OpenJDK (17 ou 11 )
Elasticsearch 7.10.2 OU OpenSearch 2.x
MongoDB (5.x ou 6.x)
Déployez un serveur Ubuntu 20.04 entièrement mis à jour avec au moins 4 Go de
RAM .
Conditions préalables
15. 15
Installation
Elasticsearch
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$ echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo
tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt -y install elasticsearch-oss
• Importez la clé de signature Elasticsearch PGP.
• Ajoutez le référentiel Elasticsearch.
• Installez Elasticsearch.
16. 16
Configuration
Elasticsearch
$ sudo nano /etc/elasticsearch/elasticsearch.yml
• Ajoutez ces deux lignes à la fin du fichier:
$ sudo nano /etc/elasticsearch/elasticsearch.yml
17. 17
Installation
MongoDB
• Activez le service MongoDB pour qu'il démarre au démarrage du système:
• Installez le serveur MongoDB:
$ sudo apt install mongodb-server -y
$ sudo systemctl enable mongodb
• Démarrez le service MongoDB:
$ sudo systemctl start mongodb
19. 19
Configuration
Graylog
• Choisir un mot de passe fort pour votre compte administrateur et générez un
hachage de 64 caractères. Par exemple:
$ echo -n StrongPassword | sha256sum
• Modifier le fichier de configuration Graylog: nano /etc/graylog/server/server.conf
21. 21
Configuration
Graylog
• Redémarrez le démon système:
$ sudo systemctl daemon-reload
• Redémarrez le service Graylog:
$ sudo systemctl restart graylog-server
• Activez le service Graylog pour qu'il s'exécute au démarrage du système:
$ sudo systemctl enable graylog-server
23. 23
Agent Graylog
C’est un agent autonome qui envoie des données de journal à Graylog Cloud ou
à un cluster Graylog Server sur site.
AGENT LINUX GRAYLOG
• Filebeat
• nxlog
AGENT WINDOWS GRAYLOG
• Filebeat
• Nxlog
• winlogbeat
24. Agent Windows Graylog
24
Agent Graylog
• Téléchargez l'agent NXlog pour Windows à partir
de https://nxlog.co/products/nxlog-community-edition/download
• Installer l'agent Nxlog
• créer un input
System > Input
27. Agent linux Graylog
27
Agent Graylog
Graylog Sidecar est un cadre de gestion de configuration agile pour divers
collecteurs de journaux appelés backends.
28. Agent linux Graylog
28
Agent Graylog
• Installer la configuration du référentiel Graylog Sidecar et Graylog Sidecar
lui-même avec les commandes suivantes :
$ wget https://packages.graylog2.org/repo/packages/graylog-sidecar-repository_1-2_all.deb
$ sudo dpkg -i graylog-sidecar-repository_1-2_all.deb
$ sudo apt-get update && sudo apt-get install graylog-sidecar
• Modifier la configuration (voir Configuration ) et activez le Sidecar en tant
que service système :
$ vi /etc/graylog/sidecar/sidecar.yml
$ sudo graylog-sidecar -service install
$ sudo start graylog-sidecar
$ sudo systemctl enable graylog-sidecar
$ sudo systemctl start graylog-sidecar
• Installer la configuration du référentiel Graylog Sidecar et Graylog Sidecar
lui-même avec les commandes suivantes :
$ wget https://packages.graylog2.org/repo/packages/graylog-sidecar-repository_1-2_all.deb
$ sudo dpkg -i graylog-sidecar-repository_1-2_all.deb
$ sudo apt-get update && sudo apt-get install graylog-sidecar
29. Agent linux Graylog
29
Agent Graylog
• Configurer votre entrée pour recevoir les journaux Windows Sidecar sur le
port 5044
30. Agent linux Graylog
30
Agent Graylog
• Installation des collecteurs sous linux par exemple filebeat
• Configuration du side-car
37. Autre méthode pour collecter les journaux sur linux
37
Rsyslog
Rsyslog est un logiciel libre utilisé sur des systèmes d'exploitation de type Unix
transférant les messages des journaux d'événements sur un réseau IP.
• Modifier fichier de configuration Rsyslog:
39. 39
Les fonctionnalités du graylog
• Search : tous les messages apparaissent ici, il est aussi possible d’en rechercher
spécifiquement
• Streams : Permet de créer des flux, afin de filtrer les messages entrants, et donc
pouvoir ne donner les droits à un utilisateur que sur certains flux et non toute la
base, mais aussi créer des alertes, forwarder les messages entrants etc. C’est la
base pour la gestion des droits sur graylog.
Par exemple stream « create_user» :
• Search : tous les messages apparaissent ici, il est aussi possible d’en rechercher
spécifiquement
• Streams : Permet de créer des flux, afin de filtrer les messages entrants, et donc
pouvoir ne donner les droits à un utilisateur que sur certains flux et non toute la
base, mais aussi créer des alertes, forwarder les messages entrants etc. C’est la
base pour la gestion des droits sur graylog.
Par exemple stream « create_user» :
40. 40
Les fonctionnalités du graylog
• Alerts : Permet de crée des alertes( par exemple envoi des notifications par mail)
41. 41
Les fonctionnalités du graylog
• Dasboard : Pages d’accueils en widget permettant d’afficher des résumés
d’informations sur un Stream, ou une recherche. On peut aussi donner les
droits à un utilisateur que sur certains dashboard.
42. 42
Les fonctionnalités du graylog
Sources : Vue d’ensemble des sources des messages entrants.
•Overview : vue d’ensemble de l’état du système.
•Nodes : affiche l’état du cluster graylog et des nœuds le composant.
•Inputs : permet d’ouvrir des flux en acceptant les messages entrants suivant
certains protocoles/ports.
•Output : Permet de Forwarder(Transférer) des messages (d’un stream, etc.) vers un
autre nœud ou équipement, etc (nous n’y utiliserons pas).
43. 43
Les fonctionnalités du graylog
•Collectors : Les graylog-collector (agent java léger développé par l’équipe graylog à
installer sur des OS utilisé pour transmettre les logs à graylog),
44. 44
Les fonctionnalités du graylog
•Logging : configure la politique de journalisation des activités du système graylog.
•Users : permet de gérer les utilisateurs/droits.
46. 46
Graylog https
Sécuriser l’installation Graylog à l'aide de SSL/TLS pour vous assurer qu'aucune
donnée sensible n'est envoyée sur le réseau en texte brut
Génération du certificat :
#nano openssl-
graylog.cnf
Vérifier que le certificat soit valide pour le nom DNS et pour l’adresse IP
Sécuriser l’installation Graylog à l'aide de SSL/TLS pour vous assurer qu'aucune
donnée sensible n'est envoyée sur le réseau en texte brut
47. 47
Graylog https
$ openssl req -x509 -days 365 -nodes -newkey rsa:2048 -config openssl-graylog.cnf -keyout
pkcs5-privatekey.pem -out graylog-certificate.pem
• Génération du certificat au format x.509 et la clé privé au format
PKSC#5 :
Géneration du certificat
$ openssl pkcs8 -in pkcs5-privatekey.pem -topk8 -nocrypt -out graylog-privatekey.pem (permet de
convertir la clé privée sans protection par mot de passe)
• Graylog ne prend en compte que les clés privées au format PKCS#8.
Nous allons convertir la clé privée en ce format :
48. 48
Graylog https
• Créer un dossier “certificates” dans le répertoire de Graylog afin que
Graylog puisse lire les certificats sans avoir de problèmes :
Génération du certificat
• déplacer les certificats dans le nouveau dossier :
# mkdir /etc/graylog/server/certificates
# mv graylog-* /etc/graylog/server/certificates/
50. 50
Graylog https
Si on s’arrête là notre Graylog fonctionnera bien en HTTPS. Cependant les
composants comme les Inputs, Pipelines (API) etc… eux ne fonctionneront pas.
• Importer notre certificat dans le java keystore :
# keytool -importcert -keystore /usr/lib/jvm/java-17openjdk-17 . 252.b09-
2.el7_8.x86_64/jre/lib/security/cacerts -alias graylog-selfsigned-certificate -file
/etc/graylog/server/certificates/graylog-certificate.pem
# systemctl restart graylog-server
59. 59
Exemples d’attaques
Détection d’un scan de port sur une machine
o Create Event pour détecter le scan de port par exemple:
Détection d’un scan de port sur une machine
o Create Event pour détecter le scan de port par exemple:
Détection d’un scan de port sur une machine
62. Conclusion
• Graylog est donc un outil puissant est modulable , qui permet de s’adapter
à beaucoup d’équipements, et différents infrastructures.
• Son interface est claire et rapide à utiliser , elle permet aussi de mettre en
avant les informations jugées importantes.
Notes de l'éditeur
Open ssl est une implementation open source des
On va créer un stream en cliquant sur l’onglet Steams puis create steam et on donne un titre et une description au steam
Notre steam est alors visible on va accéder sur manager rules afin de le configurer puis on sélectionne notre input pour notre cas ici l’input est windows puis Add steam rules
Dans la partie filed on doit déterminer sur quel champ on veut définir notre régle pour notre cas on veut surveiller la création du compte utilisateur on rentre donc le champs Event Id une fois on sauvgarde on peut demarrer notre steam
Pour vérifier nous allons créér un user sur windows
On retourne sur notre steam on peut voir que le steam parse et affiche que les logs qui ont event ID4720