Kesako? (Qu’est-ce que c’est)?

Graylog est une plateforme de gestion de la sécurité des informations et des événements (SIEM).Il a pour rôle d’assister a mieux gérer la sécurité des systèmes d’information.Il permet de détecter, de répondre et prévenir les incidents de sécurité informatique. Graylog est une solution Open Source et dispose d’une interface web assez intuitive. C’est un outils idéal pour les Admin Système & Réseau informatique, les passionnés de la cybersécurités et étudiants. Au cours de cette article je vous montre pas à pas l’installation de cette outils sous un système linux (Debian 12)

Lire Aussi:Installer Wazuh sous Linux (Debian 12,Ubuntu,Mint)

Caractéristique minimale du matériel

  • Nombre de processeur : 4
  • Mémoire Ram : 8GB
  • Stockage Interne (Rom): 16GB

Installation de SIEM Graylog se fait en 4 étapes. Dans un premier temps nous allons installer MongoDB, Elasticsearch,Graylog puis en dernière position le reverse proxy NGNIX. Pour ce tutoriel, nous allons tout centraliser sur le même serveur linux (Ubuntu 24.04). Commençons!

Nous allons mettre à jour notre système, sans oublie d’installer les dépendances des paquets linux

sudo apt update && sudo apt upgrade
sudo apt install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr openjdk-17-jre-headless -y

1.Installation de MondgoDB

curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
   gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor
   
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list   


apt update
apt install -y mongodb-org -y

Activation et redémarrage du service mongod.service

systemctl daemon-reload
systemctl enable mongod.service
systemctl restart mongod.service
systemctl status mongod.service

2.Installation de Elasticsearch

Elasticsearch est souvent utilisé dans des solutions de monitoring, de log management (comme avec ELK : Elasticsearch, Logstash, Kibana) et des applications nécessitant des fonctionnalités de recherche avancées. Il permet la recherche en texte intégral, la gestion de documents complexes et offre une scalabilité importante.

Importation de la clé GPG dans le système et Ajout de la source dans le dépôts existant /etc/apt/sources.list/d/

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Installation du paquet elasticsearch

sudo apt update -y
sudo apt install elasticsearch -y

Configuration de Elasticsearch

sudo nano /etc/elasticsearch/elasticsearch.yml

Ajouter les lignes suivantes puis enregistrer

cluster.name: graylog
action.auto_create_index: false

Activation et redémarrage du service elasticsearch

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
sudo systemctl restart elasticsearch

Voyons voir si le nœud répond

curl -X GET http://localhost:9200

3 Installer Graylog

Téléchargement du paquet .deb graylog dans la version 6.0

wget https://packages.graylog2.org/repo/packages/graylog-6.0-repository_latest.deb

Installation du paquet graylog

sudo dpkg -i graylog-6.0-repository_latest.deb

Installation des dépendances du paquets graylog

sudo apt update
sudo apt install graylog-server -y

Nous allons générer un mot passe sécurisé pour les utilisateur à partir de cette commande. Faudrait copier le mot de passe dans un endroit sure,nous en auront besoin pour la suite

< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;

Nous allons générer un deuxième pass pour utilisateurs admin.Faudrait copier le mot de passe dans un endroit sure,nous en auront besoin pour la suite

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Passons à la configuration du serveur graylog

nano /etc/graylog/server/server.conf

Ajouter vos propre pass

password_secret = ThAjDufMLZLmslZTs42ZbUdqJ7LyuxRyP7MuchC7nHPUCHlastq1MHIKH2xGpZu-HGd79S1dc1YkQX0B3Zj6EvzSPbvitTO3
root_password_sha2 = ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f

J’ai centraliser tous les services au même endroit. Nous allons donc permet a Graylog d’écouter au port 9000 du domain local 127.0.0.1 ou localhost

http_bind_address = 127.0.0.1:9000

Nous allons connecté le noeud elasticsearch et la base de donnée MongoDB à partir de cette configuration. Elasticsearch écoute au port 9200, et MongoDB au port 27017

elasticsearch_hosts = http://localhost:9200
mongodb_uri = mongodb://localhost:27017/graylog

Nous allons activer wazuh au démarrage le service wazuh-indexer

systemctl daemon-reload
systemctl start graylog-server
systemctl enable graylog-server
systemctl status graylog-server

4. Configuration proxy nginx

Installation du paquet

apt install nginx -y

Création de l’hôte virtuel Graylog

nano /etc/nginx/sites-available/graylog.conf

Ajouter les lignes suivantes

server {
    listen 80;
    server_name graylog.example.org;

location /
    {
      proxy_pass http://localhost:9000;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/;
    }
}

Vérification des syntaxe du serveur ngnix

nginx -t

Création d’un lien symbolique entre graylog et les sites actif ngnix

ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/

Suppression du fichier de configuration par défaut

rm -rf /etc/nginx/sites-enabled/default

Redémarrage et vérification du service ngnix

systemctl restart nginx
systemctl status nginx

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *