Ordre contre-intuitif : dans ce lab, la chaîne d'analyse est montée avant le capteur. La raison est simple — quand Suricata démarrera, il produira immédiatement des milliers d'événements, et il vaut mieux avoir déjà de quoi les recevoir.
OpenSearch : le socle qui reçoit
Le collecteur est installé depuis les dépôts officiels du projet. Trois points de configuration méritent d'être expliqués, parce qu'ils conditionnent le démarrage.
Le réglage système sans lequel rien ne démarre
sysctl -w vm.max_map_count=262144 echo "vm.max_map_count=262144" > /etc/sysctl.d/99-opensearch.conf
Le moteur alloue un grand nombre de zones mémoire pour ses index. La valeur par défaut du noyau Linux est très inférieure à ce qu'il exige, et il refuse purement et simplement de démarrer tant qu'elle n'est pas relevée. La seconde ligne rend le réglage persistant — sans elle, tout fonctionne jusqu'au premier redémarrage.
Nœud unique, déclaré comme tel
discovery.type: single-node network.host: 0.0.0.0 http.port: 9200
OpenSearch est conçu pour fonctionner en grappe : sans cette déclaration, il attend indéfiniment des pairs qui n'existent pas. Sur un lab, on assume le nœud unique.
Le module de sécurité désactivé — et pourquoi il faut le dire
plugins.security.disabled: true
C'est un choix pédagogique : il évite de gérer certificats et comptes avant même d'avoir ingéré un événement. Il doit rester un choix de lab. Un moteur d'indexation exposé sans authentification, ce sont tous les journaux de sécurité accessibles à qui connaît l'adresse — c'est-à-dire, potentiellement, la cartographie complète du réseau offerte à un attaquant.
Grafana : le cockpit, pas le microscope
Grafana est installé sur une machine séparée, depuis les dépôts du projet, puis connecté à OpenSearch comme source de données — en précisant le motif d'index à interroger.
La distinction de rôles mérite d'être posée clairement :
- l'interface du moteur d'indexation sert à investiguer : explorer les champs, filtrer finement, reconstituer une chronologie ;
- Grafana sert à superviser : une vision macroscopique, quelques indicateurs, l'évolution dans le temps, et la possibilité d'afficher d'autres sources à côté.
Les deux répondent à deux questions différentes — « que s'est-il passé exactement ? » et « comment se porte le réseau ce matin ? ». Vouloir faire l'investigation dans un tableau de bord conduit à des vues illisibles ; vouloir superviser depuis un outil d'exploration conduit à ne rien regarder du tout.
Ce qu'on a à ce stade
Une plateforme prête à recevoir des journaux — et rigoureusement vide. C'est normal, et c'est même l'intérêt : le premier événement qui apparaîtra dans un tableau de bord sera venu du capteur, ce qui valide toute la chaîne d'un coup.
La documentation du lab le formule joliment : à ce stade, on dispose d'une plateforme prête à recevoir des logs, pas à les comprendre. Comprendre viendra après, et c'est le vrai travail.
La série « détection réseau »
Cinq articles pour comprendre, cinq pour construire :
- Qu'est-ce qu'un IDS ?
- Qu'est-ce qu'un IPS ?
- Suricata, le moteur
- OpenSearch, le socle analytique
- Détection réseau et NIS2 : la logique de sécurité
- Lab (1) : architecture et passerelle
- Lab (2) : OpenSearch et Grafana — vous y êtes
- Lab (3) : Suricata en mode IDS
- Lab (4) : la chaîne d'ingestion
- Lab (5) : les tableaux de bord