Vous êtes sur la page 1sur 9

Documentation Gralog

I. Définition :
Graylog un outil open source d’analyse de logs qui est capable de collecter, indexer et
analyser des données structurées et non structurées en provenance de diverses sources. Ainsi,
Les logs des différents serveurs et applications se retrouvent tous consultables au même
endroits
Il fonctionnant avec MongoDB pour la gestion des métadonnées et Elasticsearch pour le
stockage des logs et la recherche textuelle.

Figure 1 : Architecture de Graylog


II. Pourquoi Graylog :
- Une grosse économie de temps du fait de la consultation de tous les logs au même
endroit
- Système d’alerte
- Pouvoir comparer et corréler les logs des différents services entre eux
- Améliorer la sécurité des applications
- Réduire vos couts.
- Le Log peut être perdu suite à un crash d’une machine, on est alors aveugle sur le
pourquoi du crash
- Le Log peut aussi bien être corrompu par un attaquant pour masquer son attaque
III. Installation de Graylog sur Ubuntu
Pré-requis :
1. sudo apt-get update && sudo apt-get upgrade
2. sudo apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen
Installation de la base de données Mongodb :
3. sudo apt-get install mongodb-server
Installation de Elasticsearch :
4. wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
5. echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee –a
/etc/apt/sources.list.d/elastic-5.x.list
6. sudo apt-get update && sudo apt-get install elasticsearch
Fichier de configuration de Elasticsearch : /etc/elasticsearch/elasticsearch.yml:
Modifications apportées au fichier :
 cluster.name: graylog
 network.host: adresse ip du serveur graylog
 discovery.zen.ping.unicast.hosts: ["adresse ip du serveur graylog"]
 http.port: Numéro de port de Elasticsearch
 list of elasticsearch host: default,host
Démarrage de Elasticsearch :
7. sudo systemctl daemon-reload
8. sudo systemctl enable elasticsearch.service
9. sudo systemctl restart elasticsearch.service
Installation de du serveur Graylog :
10. wget https://packages.graylog2.org/repo/packages/graylog-2.3-
repository_latest.deb
11. sudo dpkg -i graylog-2.3-repository_latest.deb
12. sudo apt-get update && sudo apt-get install graylog-server
Obtenir le mot de passe crypté en SHA
13. echo -n yourpassword | sha256sum
Fichier de configuration de Graylog : /etc/graylog/server/server.conf
Modifications à apporter :
is_master = true
password_secret : mot de passe crypté
root_password_sha2 : mot de passe crypté
rest_listen_uri: rest_listen_uri = http://@graylogserveur:portdugraylogserveur/api/
rest_transport_uri = http://@graylogserveur:portdugraylogserveur/api/
rest_enable_gzip = true
web_listen_uri = http://@graylogserveur:portdugraylogserveur/
Default: http://@elasticsearch:portdeelasticsearch
elasticsearch_hosts = http://@elasticsearch:portdeelasticsearch
root_timezone = UTC
elasticsearch_index_prefix = graylog
message_journal_enabled = true
Démarrer le serveur Graylog
14. sudo systemctl daemon-reload
15. sudo systemctl enable graylog-server.service
16. sudo systemctl start graylog-server.service

IV. Collecter les Event logs de Windows


Télécharger et installer Nxlog sur la machine cliente
Désactiver le Nxlog en ligne de commande avec la syntaxe :
1. net stop nxlog
Modifier ensuite le fichier de configuration de Nxlog : C:\Program Files
(x86)\nxlog\conf\nxlog.conf

<Extension _syslog>
Module xm_gelf
</Extension>
<Input in>
Module im_msvistalog
</Input>
<Output out>
Module om_tcp
Host adresse du serveur graylog
Port port de transmission des log
#Exec to_syslog_snare();
OutputType GELF_TCP
</Output>
<Route 1>
Path in => out
</Route>

Extension : cette section permet de charger des modules, notamment pour le format, dans
le cas qui nous intéresse, on charge l'extension pour le format GELF.
Input (provenance des événements) : ici on charge le module pour se brancher sur
l'observateur d'événements du poste.
Output (destination des événements) : toutes les informations sur le centralisateur sont
spécifiées dans cette section.
Route (routage des événements).

Figure 2 : Exemple de configuration de nxlog.conf


Réactiver ensuite le service en ligne de commande avec la syntaxe :
2. net start nxlog
Connexion au serveur par l’interface web : http://192.168.2.135:9000/
Figure 3 : Page de connexion de Graylog
Les entrées de connexion seront : admin (pour username) et mot de passe crypté lors de la
configuration (pour password)

Figure 4 : première page de Graylog


Création d'input dans Graylog :

- Dans l’onglet System du menu principal, sélectionner Inputs


Figure 5 : system=>inputs

- Sélectionner un input : GELF TCP dans notre cas et cliquer sur Launch new input

Figure 6 : GELF=>Launch new input

- Remplir les champs Node (Selection la machine abritant le serveur Graylog), Title
(donner un titre), Bind adresse (0.0.0.0), Port (port indiqué dans le fichier de
configuration nxlog) et enregistrer
Figure 7 : Configuration de l’input
Cliquer sur « Show received messages » de l’input créé et les messages de la machine cliente
s’affichent.
Figure 8 : input créé

Figure 8 : page d’affichage et de recherche des messages

On peut à présent effectuer des recherches ciblées sur des messages.


Par exemple pour récupérer les messages d’une application (Skype) on écrit la requête
suivante au niveau de la barre de recherche :
gl2_source_input:59de0a1b0f79890fe4fe2f62 AND SourceName :’’Skype’’

Figure 8 : champ de recherche


gl2_source_input:59de0a1b0f79890fe4fe2f62 change d’une machine à une autre et est saisi
automatiquement
Et pour récupérer les messages d’erreur d’une application (Skype) on écrit la requête suivante
au niveau de la barre de recherche :
gl2_source_input:59de0a1b0f79890fe4fe2f62 AND SourceName :’’Skype’’ AND
EventType :’’ERROR’’
Par contre on peut, à la place de gl2_source_input, renseigner le champ source (nom de la
machine) pour effectuer les recherches.
Plusieurs recherches sont possibles en spécifiant les valeurs des champs. Tous les champs
qu’on peut utiliser pour la recherche sont répertoriés à gauche de la page. En haut à gauche
on trouve un champ destiné à affiner la recherche dans le temps

Vous aimerez peut-être aussi