Graylog est un outil de gestion des journaux open source qui vous aide à collecter, stocker et analyser les journaux des machines dans un emplacement central.
Configuration Graylog
Pour mettre en place un Graylog sur votre environnement, vous avez besoin des logiciels ci-dessous.
- MongoDB :stocke les configurations et les métadonnées.
- Elasticsearch :stocke les messages de journal reçus du serveur Graylog et fournit une fonction permettant de les rechercher chaque fois que nécessaire. Elasticsearch est un marchand de ressources car il indexe les données, alors allouez plus de mémoire et utilisez des disques SAS ou SAN.
- Serveur Graylog :analyse les journaux provenant de diverses entrées et fournit une interface Web intégrée pour gérer ces journaux.
Ce guide vous aidera à installer Graylog sur CentOS 8 / RHEL 8.
Prérequis
Référentiel EPEL
Nous devons activer le référentiel EPEL pour télécharger et installer les utilitaires requis.
Installer des packages
Vous devrez installer les packages ci-dessous pour l'installation de Graylog.
dnf install -y wget pwgen perl-Digest-SHA
Installer Java
Elasticsearch nécessite l'installation de Java sur la machine. Installez donc OpenJDK ou Oracle JDK.
dnf install -y java-1.8.0-openjdk-headless
Vérifiez la version Java.
java -version
Sortie :
openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
Installer Elasticsearch
Elasticsearch est l'un des logiciels importants dans la configuration de Graylog. Le but d'Elasticsearh est de stocker les données provenant de l'entrée Graylog et de les afficher sur l'interface Web intégrée Graylog sur demande.
Graylog prend en charge Eleasticsearch v6.x.
Importez la clé de signature GPG avant l'installation.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Configurez un référentiel pour obtenir le package Elasticsearch v6.x à partir du référentiel officiel.
cat << EOF > /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
Maintenant, installez le package Elasticsearch à l'aide de la commande dnf.
dnf install -y elasticsearch-oss
Pour faire fonctionner Elasticsearch avec la configuration de Graylog, nous devons définir le nom du cluster sur graylog.
Modifiez le fichier elasticsearch.yml.
vi /etc/elasticsearch/elasticsearch.yml
Mettez-le à jour, comme indiqué ci-dessous.
cluster.name: graylog action.auto_create_index: false
Rechargez le démon systemctl et activez Elasticsearch pour qu'il démarre automatiquement au démarrage du système.
systemctl daemon-reload
systemctl enable elasticsearch
Redémarrez Elasticsearch.
systemctl restart elasticsearch
Donnez une minute ou deux pour permettre à Elasticsearch de démarrer pleinement.
Elastisearch devrait maintenant écouter 9200 pour traiter les requêtes HTTP. Utilisez la commande CURL pour vérifier la réponse.
curl -X GET http://localhost:9200
Le nom du cluster doit être graylog.
{ "name" : "eaTfFg6", "cluster_name" : "graylog", "cluster_uuid" : "u-ageNH-RHGIzpfxDtNsgQ", "version" : { "number" : "6.8.6", "build_flavor" : "oss", "build_type" : "rpm", "build_hash" : "3d9f765", "build_date" : "2019-12-13T17:11:52.013738Z", "build_snapshot" : false, "lucene_version" : "7.7.2", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Installer MongoDB
MongoDB agit comme une base de données pour stocker les configurations et les méta-informations.
Graylog prend uniquement en charge MongoDB v4.0.Nous utiliserons le référentiel officiel de MongoDB pour obtenir la version requise.
cat << EOF > /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Installez l'édition communautaire de MongoDB à l'aide de la commande suivante.
dnf install -y mongodb-org
Démarrez le service MongoDB et activez-le au démarrage du système.
systemctl start mongod
systemctl enable mongod
Installer Graylog
Le serveur Graylog accepte et traite les messages de journal provenant de diverses entrées et affiche les données aux requêtes provenant de l'interface Web graylog à l'aide d'Elasticsearch.
Installez le RPM du référentiel Graylog pour configurer automatiquement la configuration du référentiel.
dnf install -y https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm
Installez le serveur Graylog à l'aide de la commande suivante.
dnf install -y graylog-server
Modifiez le fichier server.conf pour commencer la configuration du graylog.
vi /etc/graylog/server/server.conf
Utilisez la commande suivante pour créer un secret
pwgen -N 1 -s 96
Sortie :
1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
Placez le secret dans le fichier server.conf.
password_secret = 1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
Définissez le mot de passe de hachage pour l'utilisateur root, c'est-à-dire l'administrateur de graylog. Vous aurez besoin de ce mot de passe pour vous connecter à l'interface Web Graylog.
Si jamais vous souhaitez modifier/réinitialiser le mot de passe oublié de l'administrateur Gralog, vous pouvez modifier/mettre à jour le server.conf avec un mot de passe haché.Générez un mot de passe haché à l'aide de la commande ci-dessous. Remplacez votre mot de passe par votre choix.
echo -n yourpassword | shasum -a 256
Sortie :
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Placez le mot de passe de hachage.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Vous pouvez configurer une adresse e-mail pour l'utilisateur administrateur.
root_email = "[email protected]"
Définir le fuseau horaire de l'utilisateur root (admin).
root_timezone = UTC
Configurer l'interface Web Graylog
A partir de la version 2.x de Graylog, l'interface web est servie directement par le serveur Graylog. Activez l'interface Web Graylog en modifiant le fichier server.conf.
vi /etc/graylog/server/server.conf
Modifiez les entrées pour permettre à l'interface Web Graylog de se connecter au serveur Graylog. Remplacez 192.168.0.10 par l'adresse IP de votre système.
http_bind_address = 192.168.0.10:9000S'il vous arrive d'accéder au Graylog en utilisant une adresse IP publique en raison du NAT, mettez à jour les valeurs ci-dessous. Sinon, ignorez-le.
http_external_uri = http://public_ip:9000/
Redémarrez le service Graylog.
systemctl daemon-reload
systemctl restart graylog-server
Faites en sorte que le serveur Graylog démarre automatiquement au démarrage du système.
systemctl enable graylog-server
Vous pouvez consulter les journaux de démarrage du serveur pour dépanner Graylog en cas de problème.
tail -f /var/log/graylog-server/server.log
Si tout se passe bien, vous devriez voir le message de fonctionnement du serveur dans le fichier server.log.
2020-02-08T10:26:54.484-05:00 INFO [ServerBootstrap] Graylog server up and running.
Pare-feu
Dans CentOS 8 / RHEL 8, les règles de pare-feu sont définies pour bloquer la plupart du trafic provenant des machines externes par défaut.
Ajoutez une règle d'autorisation pour l'interface Web Graylog afin que nous puissions y accéder à partir de machines externes.
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --reload
Accéder à l'interface Web Graylog
Accédez à l'interface Web en accédant à l'URL ci-dessous.
http://ip.add.re.ss:9000Connectez-vous avec le nom d'utilisateur admin et le mot de passe que vous avez configuré à root_password_sha2 sur server.conf.

Une fois connecté, vous verrez la page de démarrage.

Cliquez sur Système » Aperçu pour connaître l'état du serveur Graylog.

Conclusion
C'est tout. Vous avez installé avec succès Graylog sur CentOS 8 / RHEL 8. Dans le prochain article, nous configurerons Graylog pour recevoir les journaux Rsyslog de sources externes. Pour en savoir plus, vous pouvez essayer de configurer Nginx ou Apache en tant que proxy inverse et configurer HTTPS pour l'interface Web Graylog.