Wazuh-Custom-rules/README.md

58 lines
1.7 KiB
Markdown

# Wazuh - Custom Rules (local_rules)
Repo de gestion de version pour les **custom rules Wazuh** (et optionnellement decoders / lists).
Objectif : versionner, documenter, tester, et déployer proprement sur un ou plusieurs Wazuh Manager.
---
## Contenu
- `rules/` : règles locales (`local_rules.xml` ou fichiers découpés par thèmes)
- `decoders/` : decoders locaux (si utilisés)
- `lists/` : CDB lists (si utilisées)
- `tests/` : exemples d'événements/logs de test
- `scripts/` : scripts de validation / déploiement (optionnel)
---
## Prérequis
- Accès au Wazuh Manager
- Droits root / wazuh selon votre infra
- Connaissance de base Wazuh ruleset (`<group>`, `<rule>`, `<if_sid>`, etc.)
Chemins classiques sur le manager :
- Rules locales : `/var/ossec/etc/rules/local_rules.xml`
- Decoders locaux : `/var/ossec/etc/decoders/local_decoder.xml`
- Lists : `/var/ossec/etc/lists/`
---
## Bonnes pratiques
### 1) Règles : petites et lisibles
- 1 règle = 1 objectif
- Commenter les règles non triviales
- Garder une logique de nommage
Exemple de convention :
- IDs : réserver une plage (ex: `100000` - `109999`) pour votre org
- Groupes : `local,windows,authentication` / `local,linux,hardening` etc.
### 2) Ne pas casser le pipeline
- Toujours valider la syntaxe XML
- Tester avec des logs réels/samples avant mise en prod
- Éviter les conditions trop larges (sinon alert storm)
### 3) Versionner ce qui est "source"
- Versionner : règles, decoders, lists, samples de test
- Ne pas versionner : secrets, exports complets, archives, fichiers temporaires
---
## Déploiement (manuel)
### 1) Sauvegarde (recommandé)
```bash
sudo cp /var/ossec/etc/rules/local_rules.xml /var/ossec/etc/rules/local_rules.xml.bak.$(date +%F_%H%M)