« LINUX:Wazuh-WUI » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 122 : | Ligne 122 : | ||
=Configuration= | |||
Avant de lancer les services, il est utile de vérifier et, dans certains cas, de modifier certains fichiers de configuration. | |||
==[[LINUX:Wazuh-API|API de Wazuh]]== | |||
Nous renvoyons à cet article pour la configuration de l'API de Wazuh qui est primordial pour cet module Web. | |||
==Wazuh-Indexer== | |||
Sa configuration se retrouve dans le fichier '''"/etc/wazuh-indexer/opensearch.yml"'''. | |||
Comme ce service doit interagir avec les services "filebeat.service" et "wazuh-dashboart.service" localement, on modifie dans ce fichier, la ligne: | |||
---- | |||
network.host: "0.0.0.0" | |||
---- | |||
par la ligne: | |||
---- | |||
network.host: "127.0.0.1" | |||
---- | |||
Dès lors, après le lancement du service "wazuh-indexer.service", les ports d'écoute seront locaux. Quand on lancera la commande: | |||
netstat -ntl | |||
Nous aurons les lignes qui nous concernent, suivantes: | |||
---- | |||
tcp 0 0 127.0.0.1:9300 0.0.0.0:* LISTEN | |||
tcp 0 0 127.0.0.1:9200 0.0.0.0:* LISTEN | |||
---- | |||
Vérifiez que le propriétaire soit bien "wazuh-indexer" et qu'il y aie droit d'accès: | |||
chmod 660 /etc/wazuh-indexer/opensearch.yml | |||
chown wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/opensearch.yml | |||
==FileBeat== | |||
==Wazuh-Dashboard== | |||
Version du 26 novembre 2022 à 14:20
But
Wazuh dispose d'un outil additionnel sous forme d'interface utilisateur Web. Il permet de consulter les résultats des diverses analyses effectuées accompagnées de nombreux graphiques, d'avoir accès à la configuration,... Les alertes sont regroupées par jour et les graphiques qui en découlent sont présentés sous forme chronologiques.
Architecture
L'ensemble des pièces interagissant pour cette partie, peuvent être organisées dans une architecture complexe. Dans notre cas, les besoins sont très limités; nous opterons pour l'organisation la plus simple; tous les éléments seront rassemblés sur la même machine, celle hébergeant le service "wazuh-manager.service".
Le schéma suivant nous présente l'organisation retenue.
Par rapport aux schémas précédents, diverses pièces viennent s'ajouter:
- Wazuh-Indexer (ElasticSearch): est la pièce centrale. Il est constitué du logiciel ElasticSearch qui a été personnalisé pour Wazuh. Il est chargé de classer, d'organiser, les alertes qu'il va recevoir du logiciel Filebeat. Le résultat de ce travail pourra à son tour être consulté par le logiciel Wazuh-Dashboard. Il reçoit ses données et distribue ses résultats via le port réseau TCP 9200.
- Filebeat: est chargé d'intercepter les alertes émises par Wazuh-Manager en inspectant ses journaux. Il les transmet au logiciel Wazuh-Indexer via son port d'écoute réseau TCP 9200.
- Wazuh-Dashboard (Kibana): est l'interface graphique Web qui sera utilisé par tout explorateur Web tel Firefox d'un PC du réseau. Il est constitué du logiciel Kibana qui a été personnalisé pour Wazuh. Il sera accessible sur le port réseau TCP 444. A la base, c'est le port réseau TCP 443 (HTTPS) qui est implémenté mais comme ce port est déjà utilisé par le serveur Apache, ce port a dû être changé. Il va récolter les alertes de Wazuh-Manager centralisées par le logiciel Wazuh-Indexer via son port d'écoute réseau TCP 9200. D'autre part, il récupère la configuration de Wazuh-Manager en utilisant son Wazuh-API qui écoute sur le port réseau TCP 55000.
- Wazuh-API: est un interface de type HTTP qui permet de consulter le contenu des informations dont dispose Wazuh-Manager via son port réseau TCP 55000.
Installation
Anciennement, il fallait installer Elasticsearch et Kibana et ensuite procéder à l'exécution de divers scripts disponibles sur le site de Wazuh. Maintenant cette partie a été fortement simplifiée.
Notons qu'il est fortement conseillé de consulter la document en ligne sur le site de Wazuh pour effectuer cette installation aux adresses:
- https://documentation.wazuh.com/current/installation-guide/wazuh-indexer/step-by-step.html pour Wazuh-Indexer.
- https://documentation.wazuh.com/current/installation-guide/wazuh-dashboard/step-by-step.html pour Wazuh-Dashboard.
- https://documentation.wazuh.com/current/installation-guide/wazuh-server/step-by-step.html (seconde partie) pour Filebeat.
Elle est bien faite.
Nous procédons à l'installation grâce aux commandes suivantes sur la machine (A) hébergeant Wazuh-Manager:
dnf install wazuh-indexer dnf install filebeat dnf install filebeat
La documentation demande d'installer d'autres paquets; dans mon cas ils étaient déjà installés:
dnf install coreutils initscripts chkconfig libcap
Création des certificats
Comme vu dans le schéma, les différents échangent se font via le réseau. Pour les sécuriser, ces échanges se font de façon cryptée sur base de certificats. Normalement cette machine ne doit pas être accessible à partie d'Internet. Ces certificats sont faits au plus simple; ils sont auto-signés au nom de la société Wazuh.
Le nécessaire vient avec le logiciel Wazuh-Indexer. Cet outil se trouve dans le répertoire "/usr/share/wazuh-indexer/plugins/opensearch-security/tools".
Anciennement on devait le télécharger sur le site de Wazuh via les commandes suivantes:
curl -sO https://packages.wazuh.com/4.3/wazuh-certs-tool.sh curl -sO https://packages.wazuh.com/4.3/config.yml
Actuellement on est à la version 4.3 de Wazuh.
On le rend exécutable:
chmod 700 wazuh-passwords-tool.sh
Si vous de disposez pas de l'utilitaire "curl", installez-le:
dnf install curl
Les deux fichiers qui nous intéressent sont:
- config.yml : fichier de configuration
- wazuh-certs-tool.sh : script de création des clés et des certificats
On peut éventuellement les recopier dans un répertoire de travail.
La première tâche consiste à adapter le fichier de configuration avec un éditeur de texte. Dans le fichier "config.yml", on remplace les 3 lignes contenant le texte hors commentaire "ip: <indexer-node-ip>" par "ip: 127.0.0.1" car nous restons sur la même machine, "localhost".
On exécute alors le script:
./wazuh-certs-tool.sh -A
S'il n'est pas exécutable, exécutez:
bash ./wazuh-certs-tool.sh -A
Le sous-répertoire "wazuh-certificates" est créé contenant les clés et les certificats.
Chacun des 3 logiciels installés ci-dessus vont recevoir leurs clés et certificats. Dans la documentation, cette installation est plus compliquée mais elle se place dans le contexte plus général d'une installation sur les machines séparées. J'ai fait un script que voici que l'on peut nommer "copy.certificat.bat", il est à mettre au même endroit où se trouve le sous-répertoire "wazuh-certificates":
#!/bin/bash # Wazuh-Indexer mkdir /etc/wazuh-indexer/certs cp ./wazuh-certificates/node-1.pem /etc/wazuh-indexer/certs/ cp ./wazuh-certificates/node-1-key.pem /etc/wazuh-indexer/certs/ cp ./wazuh-certificates/admin.pem /etc/wazuh-indexer/certs/ cp ./wazuh-certificates/admin-key.pem /etc/wazuh-indexer/certs/ cp ./wazuh-certificates/root-ca.pem /etc/wazuh-indexer/certs/ mv -f /etc/wazuh-indexer/certs/node-1.pem /etc/wazuh-indexer/certs/indexer.pem mv -f /etc/wazuh-indexer/certs/node-1-key.pem /etc/wazuh-indexer/certs/indexer-key.pem chmod 500 /etc/wazuh-indexer/certs chmod 400 /etc/wazuh-indexer/certs/* chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs # Wazuh-Dashboard mkdir /etc/wazuh-dashboard/certs cp ./wazuh-certificates/dashboard.pem /etc/wazuh-dashboard/certs/ cp ./wazuh-certificates/dashboard-key.pem /etc/wazuh-dashboard/certs/ cp ./wazuh-certificates/root-ca.pem /etc/wazuh-dashboard/certs/ #mv -f /etc/wazuh-dashboard/certs/dashboard.pem /etc/wazuh-dashboard/certs/dashboard.pem #mv -f /etc/wazuh-dashboard/certs/dashboard-key.pem /etc/wazuh-dashboard/certs/dashboard-key.pem chmod 500 /etc/wazuh-dashboard/certs chmod 400 /etc/wazuh-dashboard/certs/* chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs # Filebeat mkdir /etc/filebeat/certs cp ./wazuh-certificates/wazuh-1.pem /etc/filebeat/certs/ cp ./wazuh-certificates/wazuh-1-key.pem /etc/filebeat/certs/ cp ./wazuh-certificates/root-ca.pem /etc/filebeat/certs/ mv -f /etc/filebeat/certs/wazuh-1.pem /etc/filebeat/certs/filebeat.pem mv -f /etc/filebeat/certs/wazuh-1-key.pem /etc/filebeat/certs/filebeat-key.pem chmod 500 /etc/filebeat/certs chmod 400 /etc/filebeat/certs/* chown -R root:root /etc/filebeat/certs
Rendez ce script exécutable:
chmod 700 copy.certificat.bat
et exécutez-le:
./copy.certificat.bat
Chacun des 3 logiciels a un répertoire de fichiers de configuration dans le répertoire "/etc". Sous ceux-ci un sous-répertoire "certs" est créé où viennent se placer les clés et certificats.
Il est crucial de bien respecter les droits et propriétaires; dans la documentation de l'ancienne version utilisant Elasticsearch et Kibana, des imperfections conduisaient ces services à un état d'erreur.
Configuration
Avant de lancer les services, il est utile de vérifier et, dans certains cas, de modifier certains fichiers de configuration.
API de Wazuh
Nous renvoyons à cet article pour la configuration de l'API de Wazuh qui est primordial pour cet module Web.
Wazuh-Indexer
Sa configuration se retrouve dans le fichier "/etc/wazuh-indexer/opensearch.yml".
Comme ce service doit interagir avec les services "filebeat.service" et "wazuh-dashboart.service" localement, on modifie dans ce fichier, la ligne:
network.host: "0.0.0.0"
par la ligne:
network.host: "127.0.0.1"
Dès lors, après le lancement du service "wazuh-indexer.service", les ports d'écoute seront locaux. Quand on lancera la commande:
netstat -ntl
Nous aurons les lignes qui nous concernent, suivantes:
tcp 0 0 127.0.0.1:9300 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9200 0.0.0.0:* LISTEN
Vérifiez que le propriétaire soit bien "wazuh-indexer" et qu'il y aie droit d'accès:
chmod 660 /etc/wazuh-indexer/opensearch.yml chown wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/opensearch.yml