bb

2025-07-09 15:42:07 +02:00
parent 85eec0f3f4
commit db1bd87827

@ -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
```
<ossec_config>
<global>
@ -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.