Wazuh
Installation et utilisation de wazuh
Wazuh est une plateforme de sécurité open-source qui offre des fonctionnalités de surveillance des menaces, de détection des intrusions, de gestion de la conformité et de réponse aux incidents. Elle combine des capacités d'analyse de sécurité, comme la détection des malwares, le monitoring de l'intégrité des fichiers, l'analyse des logs, et la gestion des vulnérabilités, pour fournir une visibilité complète sur l'infrastructure informatique. Wazuh est conçu pour être extensible et scalable, ce qui le rend adapté à une variété d'environnements, des petites entreprises aux grandes organisations.
On installera wazuh en single node.
Deux types d'installations seront faites, via le package manager APT puis via Docker
Installation via package manager APT
L'installation via package manager est disponible sur le blog de FIKARA Bilal sur une verison 4.8 de wazuh
Install wazuh on debian using apt
Installation via Docker
Nous installerons wazuh, configurerons un nginx en reverse proxy avec du SSL puis une authentification via LDAP
Installation de Docker
Exécuter le script d'installation de Docker
Démarrez le service Docker
Télécharger le binaire Docker Compose
Accorder des autorisations d'exécution
Tester l'installation pour vous assurer que tout va bien
Installation de Wazuh Docker
Cloner le référentiel Wazuh
Fournir un groupe de certificats pour chaque nœud de la pile afin de sécuriser la communication entre les nœuds

Editer le generate-indexer-certs.yml avec un éditeur de votre choix.
Le fichier devrait ressembler à ça
Sinon, ignorez cette étape particulière
Exécuter la commande suivante pour obtenir les certificats souhaités
Cela enregistre les certificats dans le config/wazuh_indexer_ssl_certsrépertoire.
Démarrer le single node à l'aide de docker compose en arrière plan
Wazuh est maintenant accessible sur https://<ip_de_votre_serveur>
Utilise les identifiants admin
Modification et ajout d'accès
Utilisateurs de l'indexeur Wazuh
Définir un nouveau hachage
Arrêter la pile de déploiement si elle est en cours d'exécution
Exécuter cette commande pour générer le hachage de votre nouveau mot de passe. Une fois le conteneur lancé, saisissez le nouveau mot de passe et appuyez sur Entrée
Si vous comptez modifier deux users, vous devez donc générer deux hash avec la commande précédente
Copier le hachage généré
Ouvrir le config/wazuh_indexer/internal_users.yml fichier. Localisez le bloc correspondant à l'utilisateur pour lequel vous modifiez le mot de passe
Remplacez le hachage
adminutilisateur :

kibanaserverutilisateur

Définition du nouveau mot de passe
Utilisateur de l'Indexer et du Dashboard
Ouvrez le docker-compose.ymlfichier. Remplacez toutes les occurrences de l'ancien mot de passe par le nouveau
Avertissement
N'utilisez pas les caractères $ ou & dans votre nouveau mot de passe. Ces caractères peuvent provoquer des erreurs lors du déploiement.
adminutilisateur :
Modifier SecretPassword par le mot de passe défini lors de la génération du hash
kibanaserverutilisateur
Modifier kibanaserver par le mot de passe défini lors de la génération du hash
Appliquer les modifications
Démarrer la pile de déploiement
Exécuter et noter le nom du premier conteneur de l'indexeur Wazuh : single-node-wazuh.indexer-1
Entrer dans le conteneur
Définir les variables suivantes
Attendre que l'indexeur Wazuh s'initialise correctement.
Le temps d'attente peut varier de deux à cinq minutes. Cela dépend de la taille du cluster, des ressources attribuées et de la vitesse du réseau.
Ensuite, exécutez le securityadmin.shscript pour appliquer toutes les modifications.
Quitter le conteneur de l'indexeur Wazuh
Se connecter avec les nouvelles informations d'identification sur le tableau de bord Wazuh
La connexion se fera sans certificat ssl. Pour configurer le https il faut configurer Nginx
Utilisateurs de l'API Wazuh
Ouvrir le fichier config/wazuh_dashboard/wazuh.ymlet modifiez la valeur du passwordparamètre
Modifier le mot de passe surligné par celui souhaité
Ouvrir le docker-compose.ymlfichier. Remplacez toutes les occurrences de l'ancien mot de passe par le nouveau.
Modifier le mot de passe surligné par celui défini au dessus pour le user wazuh-wui
Par défaut, le docker-composer expose les ports suivants :
1514
Wazuh TCP
1515
Wazuh TCP
514
Wazuh UDP
55000
API Wazuh
9200
Wazuh indexeur HTTPS
443
Tableau de bord Wazuh HTTPS
Installation et configuration de Nginx
Dans notre configuration actuelle, le conteneur "single-node-wazuh.dashboard-1" est configuré pour écouter par défaut sur son port 5601 et sur le port 443 de son hôte (notre serveur). Cependant, l'installation de Nginx posera un conflit car Nginx écoute nativement sur les ports 80 et 443. Pour résoudre ce conflit, deux solutions sont envisageables : soit modifier le port d'écoute de Nginx en le configurant pour écouter sur d'autres ports tels que 8080 et 8443, soit modifier le port d'écoute de l'hôte du conteneur en changeant par exemple le port 443 du conteneur en 5601 sur l'hôte.

On stoppe le conteneur Dashboard, on le supprime des conteneurs actifs et on arrête l'instance Docker en cours
On change le port d'écoute
On ouvre le fichier docker-compose. yml et on modifie le port d'écoute sur notre hôte :
Précédemment en : 443:5601 on le passe en 5601:5601 ( en dessous de ports )
Ca veut dire que notre conteneur écoute sur son port 5601 et sur le port 5601 de notre machine

On redémarre notre instance docker compose
On passe maintenant à la configuration de notre nginx
Dissocier le fichier de configuration NGINX par défaut
Extraire clé du pfx :
Extraire certif
Configurer maintenant le site
La partie importante du site est la partie location qui redirige notre nginx reverse proxy vers notre serveur lui meme en port 5062 pour faire point vers notre conteneur single-node-wazuh.dashboard-1
On lie le fichier de configuration.
tester le site
redémarrer nginx
Connexion LDAP
Config connexion et authentification
Le ldap se configure dans le wazuh indexer
Config du fichier conf config.yml
Générer un certificat pour LDAPS avant de poursuivre. Si vous voulez continuez sans certificats supprimez ou commentez la ligne pemtrustedcas_filepath: ,changez le port au niveau du fichier de conf en 389 et ignorez la prochaine étape situées entre les deux lignes
Attribuer les droits du certificats au user wazuh-indexer
Configurer le fichier de config comme suit :
Exécuter le securityadmin.sh pour charger les modifs apporter au config.yml
Map role à wazuh-dashboard
Config role d'admin
Configurer le fichier roles_mapping.yml pour mapper le rôle (CN) que nous avons dans notre serveur LDAP au rôle du Wazuh_indexer approprié. Dans notre cas, nous mappons les utilisateurs du groupe Sys dans notre AD au all_accessrôle sur le wazuh indexer.
Exécuter le securityadminscript pour charger les modifications de configuration apportées dans le roles_mapping.ymlfichier
Vérifier la valeur de run_asdans le /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.ymlfichier de configuration et passez le à false s'il ne l'est pas
Pour cette vérification il faut changer de conteneur :
La conf ressemble à ca. Le mdp est celui du user pour l'API défini au plus haut ( wazuh-wui )

Sortir du conteneur et le relancer
Se connecter maintenant avec un user de Sys.
Last updated
Was this helpful?



