diff --git a/wazuh.md b/wazuh.md index 81fd169..ff31631 100644 --- a/wazuh.md +++ b/wazuh.md @@ -7,10 +7,10 @@ L'étude se trouve dans un autre document. ## Composants Wazuh L'éco-système Wazuh peut être découpé en 4 éléments : -- l'indexer Wazuh qui tourne coté serveur -- le manager Wazuh qui tourne coté serveur -- le dashboard Wazuh qui tourne coté serveur -- l'agent Wazuh qui tourne sur la machine à surveiller +- l'indexer Wazuh qui s'exécute coté serveur +- le manager Wazuh qui s'exécute coté serveur +- le dashboard Wazuh qui s'exécute coté serveur +- l'agent Wazuh qui s'exécute sur la machine à surveiller Dans ce document, lorsque l'on parle de "serveur Wazuh", on parle des 3 composants coté serveur confondus. @@ -21,7 +21,7 @@ NUO mets à disposition 1 serveur Wazuh de préprod pour des tests : `wazuh-pp.i NUO mets à disposition un service Wazuh de production découpé en 3 serveurs : - xdr-dashboard.in.nuonet.fr pour la partie graphique, accessible en https - xdr-server.in.nuonet.fr pour la communication avec les agents entre autre (API + remontées de logs) -- xdr-indexer.in.nuonet.fr pour l'inexdation (aucune interaction) +- xdr-indexer.in.nuonet.fr pour l'inexdation (aucune interaction notable) ### Ports @@ -29,13 +29,13 @@ Les ports à ouvrir sont décrits dans la doc de Wazuh : https://documentation.w Le port 55000/tcp pour l'API et le port 1514/tcp pour l'envoie de logs sont les 2 ports à ouvrir pour les agents. -Le port 443/tcp est à ouvrir pour les utilisateurs. +Le port 443/tcp pour l'accès à l'interface web est à ouvrir pour les utilisateurs. ### Wazuh server PP -Pour faire des tests, le serveur de PP a été configuré. Tout est dans le dossier ~cadoles/wazuh-docker/single-node (git diff pour voir les changements) ou dans le conteneur docker directement, `/var/ossec/etc/ossec.conf`. La documentation suivie est ici : https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html +Pour faire des tests, le serveur de PP a été configuré. Tout est dans le dossier `~cadoles/wazuh-docker/single-node` (git diff pour voir les changements) ou dans le conteneur docker directement dans `/var/ossec/etc/ossec.conf`. La documentation suivie est ici : https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html -Une fois up, il est possible d'entrer dans le conteneur `single-node-wazuh.manager-1` pour modifier des config, voir ce que le serveur reçoit de la part des agents (dans `/var/ossec/logs/archives/archives.json`) si les options +Une fois up, il est possible d'entrer dans le conteneur `single-node-wazuh.manager-1` pour modifier des configs. Il est possible de voir ce que le serveur reçoit de la part des agents (dans `/var/ossec/logs/archives/archives.json`) si les options ``` @@ -46,16 +46,16 @@ Une fois up, il est possible d'entrer dans le conteneur `single-node-wazuh.manag ``` ont bien été ajoutées au fichier de configuration `/var/ossec/etc/ossec.conf`. -`/var/ossec/bin/wazuh-logtest` permet entre autre de tester les `decoders` et les `rules`. +`/var/ossec/bin/wazuh-logtest` permet entre autre de tester les `decoders` et les `rules` (aussi utilisable depuis l'interface web). ### Règles actuelles -Les règles, décodeurs, dashboards coté serveur sont mis en place par NUO avec l'assistance de Wazuh. Au 07 juillet 2025, il n'y a qu'une détection de comportement malicieux : +Les règles, décodeurs, dashboards coté serveur sont mis en place par NUO avec l'assistance de Wazuh. Au 03 juillet 2025, il n'y a qu'une détection de comportement malicieux : - détection de multiple création de comptes depuis une même IP ### Ajout de règles -Cadoles n'a pas à créer de règles/decoder/dashboard. Cependant, NUO peut demander à Cadoles de produire des logs pour identifier des comportmenets. Par exemple, il a été demandé des logs pour : +Cadoles n'a pas à créer de règles/decoder/dashboard. Cependant, NUO peut demander à Cadoles de produire des logs pour identifier des comportements suspects. Par exemple, il a été demandé des logs pour : - création de compte - tentative de connexion @@ -71,7 +71,7 @@ L'intégration de l'agent Wazuh dans kubernetes se présente sous la forme de pr - https://forge.cadoles.com/Cadoles/wazuh-agent-k8s-autoadd : programme go pour enregistrer (via API) puis démarrer un agent Wazuh + Dockerfile - https://forge.cadoles.com/CadolesKube/wazuh-agent-kustom : kustomization d'un DaemonSet pour déployer un agent Wazuh et wazuh-agent-k8s-autoadd sur chaque noeud d'un cluster k8s, d'une ConfigMap et d'un Secret -L'enregistrement de chaque agent Wazuh se fait par l'API https://documentation.wazuh.com/current/user-manual/api/reference.html#operation/api.controllers.agent_controller.add_agent avec un compte de service créé par NUO et partagé entre les 2 clusters k8s. +L'enregistrement de chaque agent Wazuh se fait par [l'API](https://documentation.wazuh.com/current/user-manual/api/reference.html#operation/api.controllers.agent_controller.add_agent) avec un compte de service créé par NUO et partagé entre les 2 clusters k8s. ### Configuration @@ -103,10 +103,12 @@ En cas de changement de conf pour l'agent Wazuh ou d'upgrade de l'agent Wazuh, s 1. Faire les changements dans le dépôt [wazuh-agent-k8s-autoadd](https://forge.cadoles.com/Cadoles/wazuh-agent-k8s-autoadd) 2. Commit et pousser ces changements 3. Build et pousser une image Docker avec `make build-image` et `docker push` -4. Changer la ref dans le [DaemonSet] (https://forge.cadoles.com/CadolesKube/wazuh-agent-kustom/src/branch/master/resources/daemonset.yaml) -5. Faire une release (git tag, git push --tags) +4. Changer la ref dans le [DaemonSet](https://forge.cadoles.com/CadolesKube/wazuh-agent-kustom/src/branch/master/resources/daemonset.yaml) +5. Faire une release (`git tag`, `git push --tags`) 6. Changer la ref dans les dépôts git liés aux clusters ( [k8s-deploy](https://forge.cadoles.com/CNOUS/k8s-deploy) et [k8s-pp-deploy](https://forge.cadoles.com/CNOUS/k8s-pp-deploy) ), fichier `kustomize/wazuh-agent/kustomization.yaml` -7. Déployer les changements sur les clusters de la même manière que les ont été mis en place (voir partie "Mise en place / déploiement" +7. Commit et pousser ces changements +8. Déployer les changements sur les clusters de la même manière que les ont été mis en place (voir partie "Mise en place / déploiement" +9. Commit et pousser ces changements ### Mise en place / déploiement @@ -129,4 +131,4 @@ L'agent ne doit jamais être plus récent que le serveur. ### Changement de CA -La CA utilisée pour signer le certificat du serveur Wazuh de NUO est dans le fichier `kustomize/trust-manager/resources/wazuh-manager-ca.yaml` dans les dépôts git k8s-deploy et k8s-pp-deploy. Pour changer de CA, il suffit d'éditer le fichier puis de déployer le changement avec kubectl apply. Ne pas oublier de pousser ces changements sur les dépôts git. +La CA utilisée pour signer le certificat du serveur Wazuh de NUO est dans le fichier `kustomize/trust-manager/resources/wazuh-manager-ca.yaml` dans les dépôts git k8s-deploy et k8s-pp-deploy. Pour changer de CA, il suffit d'éditer le fichier puis de déployer le changement en suivant les dernières étapes du Workflow.