Chapitre 1314 minIntermédiaire
Exploiter Wazuh : tri des alertes, rétention, sauvegarde et mises à jour
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- organiser le tri quotidien des alertes ;
- fixer une durée de conservation des alertes et l'appliquer ;
- sauvegarder ce qu'il faut pour reconstruire le serveur ;
- mettre à jour Wazuh dans le bon ordre.
3 exercices corrigés
Exploiter Wazuh, c'est le faire vivre après l'installation : regarder les alertes chaque jour et en tirer des décisions, ajuster les règles, limiter la durée de conservation des données, gérer qui a accès à quoi, sauvegarder ce qui permet de reconstruire le serveur, et le mettre à jour sans le casser. C'est ce qui sépare un SIEM utile d'une démonstration qui s'endort au bout d'un mois. Ce chapitre donne la routine d'exploitation, les réglages qui l'accompagnent, et la façon de présenter ce travail à l'examen.
Une routine d'exploitation
| Rythme | Tâche | Où |
|---|---|---|
| Chaque jour | Trier les alertes de niveau 10 et plus des dernières 24 heures | Threat Hunting, filtre rule.level >= 10 |
| Chaque jour | Vérifier les agents déconnectés | Agents management > Summary |
| Chaque semaine | Revoir les nouvelles vulnérabilités critiques et hautes | Vulnerability Detection |
| Chaque semaine | Examiner les contrôles SCA passés de réussi à échoué (règle 19011) | Configuration Assessment |
| Chaque semaine | Traiter les faux positifs récurrents : corriger la cause ou écrire une exception documentée | local_rules.xml |
| Chaque mois | Relire les exceptions (règles de niveau 0) et retirer celles dont la cause est corrigée | local_rules.xml |
| Chaque mois | Vérifier l'espace disque et la durée réellement conservée | Supervision, Index Management |
| À chaque version | Lire les notes de version, planifier la mise à jour | Documentation de Wazuh |
Cette routine prend une vingtaine de minutes par jour dans une PME comme Sorbier. Sans elle, les alertes s'accumulent, et le jour de l'incident, personne ne sait plus distinguer l'anormal du bruit habituel.
Trier les alertes chaque jour
Le tri quotidien suit la démarche du chapitre 11, en commençant par le haut :
- Les alertes de niveau 12 et plus : chacune est lue et qualifiée. Elles devraient être rares ; si elles ne le sont pas, c'est qu'une règle est mal réglée.
- Les alertes de niveau 10 et 11 : on les regroupe par règle et par source (le graphique des règles les plus fréquentes aide), puis on examine chaque groupe.
- Les nouveautés : une règle qui n'était jamais apparue, un agent qui produit soudain dix fois plus d'alertes, une adresse inconnue.
Chaque alerte grave reçoit une décision écrite dans le ticket : faux positif (avec la cause), vrai positif bénin (avec la justification, le ticket de changement), ou incident (avec le numéro de l'incident). Cette trace sert le jour où l'on se demande « l'avait-on vu ? », et c'est elle qu'un auditeur ou un jury demande à voir.
Gérer la durée de conservation
Par défaut, l'indexeur garde les alertes sans limite : un index par jour, jusqu'à ce que le disque soit plein. C'est un problème technique (l'indexeur bloque les écritures quand le disque est presque plein, et la détection s'arrête) et un problème juridique : les alertes contiennent des données personnelles, que le RGPD interdit de garder plus longtemps que nécessaire. Sorbier retient 180 jours, dans la fourchette de six mois à un an que recommande la CNIL pour les journaux de sécurité, et l'inscrit à son registre des traitements.
Une politique de gestion des index (ISM, Index State Management) supprime automatiquement les index plus anciens que la durée fixée. Dans le tableau de bord :
- Menu ☰ > Indexer management > Index Management.
- State management policies > Create policy > JSON editor > Continue.
- Policy ID :
sorbier-retention-alertes. - Remplace le contenu par la politique ci-dessous, puis Create.
{
"policy": {
"description": "Sorbier : suppression des alertes Wazuh après 180 jours",
"default_state": "conservation",
"states": [
{
"name": "conservation",
"actions": [],
"transitions": [
{ "state_name": "suppression", "conditions": { "min_index_age": "180d" } }
]
},
{
"name": "suppression",
"actions": [
{ "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "delete": {} }
],
"transitions": []
}
],
"ism_template": [
{ "index_patterns": ["wazuh-alerts-*"], "priority": 1 }
]
}
}
Chaque nouvel index d'alertes entre dans l'état conservation ; à 180 jours, il passe dans l'état suppression et il est effacé. Le modèle ism_template applique la politique aux index créés après elle. Pour les index déjà présents : Index Management > Indices, sélectionne-les, Actions > Apply policy, choisis sorbier-retention-alertes.
Comptes et droits dans le tableau de bord
Le compte admin peut tout faire : modifier les règles, supprimer des agents, effacer des index. On ne le partage pas et on ne s'en sert pas au quotidien. Chaque personne a son compte nominatif, avec les droits de son rôle :
| Rôle chez Sorbier | Ce dont il a besoin | Droits |
|---|---|---|
| Antoine Mercier, responsable | Tout administrer | Administrateur |
| Chloé Lambert, Moussa Diallo, techniciens | Trier les alertes, gérer les agents, écrire des règles | Administrateur du serveur Wazuh, lecture des alertes |
| Le prestataire de surveillance, s'il y en a un | Lire les alertes, rien modifier | Lecture seule |
| La direction | Voir les tableaux de synthèse | Lecture seule, sur les tableaux de bord |
Les droits se règlent à deux endroits, parce que Wazuh a deux composants qui protègent chacun leurs données :
- l'indexeur, qui garde les alertes : Indexer management > Security, rubriques des utilisateurs internes (Internal users), des rôles et de leur association ; c'est là qu'on crée le compte et qu'on dit quels index il peut lire ;
- l'API du serveur, qui gère agents, règles et configuration : Server management > Security, où l'on associe le compte à un rôle de l'API, comme
readonlypour la lecture seule.
Un compte de lecture seule mal réglé d'un côté peut encore agir de l'autre : teste chaque compte en te connectant avec lui. Le principe est celui du moindre privilège ; et si l'annuaire de l'entreprise le permet, on préfère brancher le tableau de bord sur une authentification centralisée plutôt que multiplier les comptes locaux.
Sauvegarder la configuration
Si srv-journaux disparaît (disque mort, rançongiciel), il faut pouvoir le reconstruire. Les alertes passées sont précieuses, mais ce qui est irremplaçable, c'est la configuration : sans client.keys, tous les agents doivent être réinscrits un par un ; sans tes règles, des mois de réglage sont perdus.
| À sauvegarder | Chemin |
|---|---|
| Configuration du serveur | /var/ossec/etc/ossec.conf |
| Clés des agents | /var/ossec/etc/client.keys |
| Tes règles, décodeurs et listes | /var/ossec/etc/rules/, /var/ossec/etc/decoders/, /var/ossec/etc/lists/ |
| Configuration des groupes d'agents | /var/ossec/etc/shared/ |
| Mot de passe d'inscription | /var/ossec/etc/authd.pass |
| Configuration de l'API | /var/ossec/api/configuration/ |
| Certificats des composants | /etc/wazuh-indexer/certs/, /etc/filebeat/certs/, /etc/wazuh-dashboard/certs/ |
Une tâche planifiée produit chaque nuit une archive :
sudo tar -czf /var/backups/wazuh-config-$(date +%F).tar.gz \
/var/ossec/etc/ossec.conf /var/ossec/etc/client.keys /var/ossec/etc/authd.pass \
/var/ossec/etc/rules /var/ossec/etc/decoders /var/ossec/etc/lists /var/ossec/etc/shared \
/var/ossec/api/configuration \
/etc/wazuh-indexer/certs /etc/filebeat/certs /etc/wazuh-dashboard/certs
L'archive contient des clés privées et des secrets : elle se copie hors du serveur, chiffrée, vers un emplacement à accès restreint. En plus, la machine virtuelle entière est sauvegardée par la solution de sauvegarde de l'hyperviseur, ce qui permet de tout restaurer d'un bloc ; la stratégie d'ensemble (règle 3-2-1, sauvegardes hors ligne, tests de restauration) est dans le cours Sauvegarde et PRA. Une sauvegarde qu'on n'a jamais essayé de restaurer n'en est pas une : restaure l'archive sur une machine de test une fois par trimestre.
Mettre à jour Wazuh
Les mises à jour corrigent des failles (le serveur Wazuh est une cible de choix : il voit tout) et apportent des règles nouvelles. Elles se préparent :
-
Lire les notes de version : changements incompatibles, ordre et précautions particulières.
-
Prendre un instantané de la machine virtuelle dans Proxmox.
-
Réactiver le dépôt Wazuh, désactivé au chapitre 3 :
sudo sed -i "s/^#deb /deb /" /etc/apt/sources.list.d/wazuh.list sudo apt update -
Mettre à jour dans l'ordre : l'indexeur d'abord, puis le serveur (et Filebeat), puis le tableau de bord, en suivant le guide de mise à niveau de la documentation pour ta version (il précise, par exemple, les opérations à faire sur l'indexeur avant de l'arrêter).
-
Vérifier : les quatre services actifs,
filebeat test output, les alertes qui arrivent, la version affichée dans le tableau de bord. -
Désactiver à nouveau le dépôt.
-
Mettre à jour les agents, en dernier : un agent ne doit jamais être plus récent que le serveur. Le tableau de bord peut mettre à jour les agents à distance depuis Agents management ; sinon, on redéploie le paquet (par la même GPO, avec le nouveau MSI).
Documenter ta réalisation pour le BTS
Un serveur Wazuh bien exploité fait une excellente réalisation professionnelle pour l'épreuve E6 de l'option SISR. Le jury attend que tu expliques tes choix et que tu démontres que cela fonctionne. Une documentation solide contient :
| Partie | Contenu |
|---|---|
| Le contexte et le besoin | L'organisation, ce qu'elle veut détecter et pourquoi (les risques, pas l'outil) |
| L'architecture | Le schéma du laboratoire, le plan d'adressage, la matrice des flux (chapitre 2) |
| L'installation | Les étapes clés, le dimensionnement retenu et sa justification, la sécurisation (mots de passe, pare-feu, dépôt) |
| Les sources collectées | La grille du chapitre 5, avec ce qui a été activé sur chaque machine |
| Les règles personnalisées | Chaque règle, ce qu'elle détecte, pourquoi ce niveau |
| Les tests | Pour chaque détection : l'événement provoqué sur le laboratoire, l'alerte obtenue (capture), la notification reçue |
| L'exploitation | La routine, la durée de conservation et sa justification, la sauvegarde, la procédure de mise à jour |
| Les limites et les suites | Ce qui n'est pas couvert (la matrice ATT&CK du chapitre 10), ce que tu ferais ensuite |
Pendant l'épreuve, prépare une démonstration courte et sûre : un échec de connexion répété sur ton contrôleur de domaine, l'alerte qui monte au niveau 10, la règle personnalisée qui la complète, la carte qui arrive dans Teams. Le cours E6 SISR détaille l'épreuve et l'environnement attendu.
Exercices
Exercice 1 sur 3 Dimensionner la conservation Réussi À revoir
Sur srv-journaux, les index d'alertes occupent en moyenne 0,9 Go par jour. Le disque des données de l'indexeur fait 200 Go, et on veut garder au moins 20 % d'espace libre. Combien de jours d'alertes peut-on conserver ? La durée de 180 jours de Sorbier tient-elle ? Que proposes-tu ?
Voir la réponseMasquer la réponse de l'exercice 1
Espace utilisable : 200 Go × 0,8 = 160 Go. Durée possible : 160 ÷ 0,9 ≈ 177 jours. Les 180 jours ne tiennent pas tout à fait : il manque 3 jours, soit 180 × 0,9 = 162 Go nécessaires contre 160 Go disponibles, et sans aucune marge pour une période d'attaque qui multiplierait les alertes.
Propositions, à combiner : agrandir le disque (c'est simple sur une machine virtuelle : 250 Go donnent 200 Go utilisables, soit environ 222 jours) ; réduire le volume en traitant les sources les plus bruyantes (faux positifs récurrents, règles de faible intérêt) ; ne pas ramener la durée sous ce qu'exige la décision de l'organisation sans en parler au responsable. Dans tous les cas, la supervision doit alerter avant que le disque atteigne le seuil.
Tu avais trouvé ?
Exercice 2 sur 3 Remettre la mise à jour dans l'ordre Réussi À revoir
Remets dans l'ordre les étapes d'une mise à jour de Wazuh 4.14.9 vers une version 4.14 plus récente : (a) mettre à jour le tableau de bord ; (b) prendre un instantané de la VM ; (c) mettre à jour les agents ; (d) lire les notes de version ; (e) mettre à jour l'indexeur ; (f) désactiver le dépôt ; (g) mettre à jour le serveur ; (h) réactiver le dépôt ; (i) vérifier les services et l'arrivée des alertes.
Voir la réponseMasquer la réponse de l'exercice 2
d, b, h, e, g, a, i, f, c. On lit avant d'agir, on se donne un retour arrière (instantané), on réactive le dépôt, on met à jour les composants centraux dans l'ordre indexeur, serveur, tableau de bord, on vérifie, on referme le dépôt, et on termine par les agents, qui ne doivent jamais être plus récents que le serveur.
Tu avais trouvé ?
Exercice 3 sur 3 Que sauvegarder ? Réussi À revoir
Un collègue sauvegarde chaque nuit seulement le dossier /var/ossec/etc/rules. Le disque de srv-journaux tombe en panne. Une fois Wazuh réinstallé et ses règles restaurées, qu'est-ce qui manque ? Classe ce qui manque du plus pénible au moins pénible à reconstituer.
Voir la réponseMasquer la réponse de l'exercice 3
client.keys: sans les clés, aucun agent ne peut plus communiquer ; il faut réinscrire chaque machine (avec la GPO, les postes Windows se réinscrivent seulement si le script est relancé après désinstallation ; les serveurs Linux, à la main). C'est le plus pénible.ossec.conf: réception syslog du pare-feu, réponse active, courriel, intégration Teams, inscription par mot de passe ; tout est à refaire./var/ossec/etc/shared/: la configuration des groupes (agent.conf, politique SCA maison) ; les agents perdent leur collecte de PowerShell et de Sysmon, et le contrôle d'intégrité des dossiers sensibles.- Les décodeurs (
/var/ossec/etc/decoders/) : les règles restaurées qui s'appuient sur un décodeur personnalisé ne fonctionnent plus. - Les alertes passées : perdues si la VM n'était pas sauvegardée ; c'est grave pour une enquête en cours, mais n'empêche pas la détection de repartir.
D'où la liste complète du chapitre, plus la sauvegarde de la machine virtuelle entière.
Tu avais trouvé ?