« LINUX:Wazuh-WUI » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 150 : Ligne 150 :




Vérifiez que le propriétaire soit bien "wazuh-indexer" et qu'il y aie droit d'accès:
Vérifiez que le propriétaire est bien "wazuh-indexer" et qu'il y a le droit d'accès:
  chmod 660 /etc/wazuh-indexer/opensearch.yml
  chmod 660 /etc/wazuh-indexer/opensearch.yml
  chown wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/opensearch.yml
  chown wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/opensearch.yml
Ligne 156 : Ligne 156 :


==FileBeat==
==FileBeat==
Ce module ne vient pas préconfiguré pour Wazuh. Il faut télécharger plusieurs fichiers.





Version du 26 novembre 2022 à 14:53


retour à Wazuh: HIDS


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.


LINUX:Wazuh.3.pdf


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 est bien "wazuh-indexer" et qu'il y a le droit d'accès:

chmod 660 /etc/wazuh-indexer/opensearch.yml
chown wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/opensearch.yml


FileBeat

Ce module ne vient pas préconfiguré pour Wazuh. Il faut télécharger plusieurs fichiers.



Wazuh-Dashboard


retour à Wazuh: HIDS