Wazuh Vulnerability Detection: Lebenszyklus von CVEs zwischen State- und Alert-Indizes


Einleitung

Die Vulnerability Detection ist eine der zentralen Funktionen von Wazuh und wird in vielen Umgebungen als Grundlage für Compliance, Patch-Management und Threat Hunting genutzt. Gleichzeitig sorgt sie immer wieder für Rückfragen, insbesondere wenn es um das Zusammenspiel der verschiedenen Index-Typen geht. Eine häufige Unsicherheit betrifft den Umgang mit behobenen Schwachstellen: Bleiben CVEs im Index erhalten, werden sie aktualisiert oder vollständig entfernt? Dieser Beitrag klärt anhand eines Community-Threads das tatsächliche Verhalten der Wazuh-Indizes und ordnet es architektonisch korrekt ein.


Ausgangslage / Problemstellung

In einer typischen Wazuh-Installation wird pro Agent, Paket und CVE ein Dokument im Index wazuh-states-vulnerabilities-* erzeugt, sobald eine Schwachstelle erkannt wird. Nach einem Patch oder Betriebssystem-Update stellt sich die Frage, wie Wazuh diesen Zustand abbildet:

  • Wird das Dokument gelöscht?
  • Wird der Status auf „solved“ oder „resolved“ gesetzt?
  • Oder bleibt es aus historischen Gründen erhalten?

Zusätzlich besteht oft Unklarheit über die Abgrenzung zum Index wazuh-alerts-* sowie darüber, welche Daten in den Dashboards „Inventory“, „Dashboard“ und „Events“ tatsächlich angezeigt werden.


Technische Analyse

Zweck der wazuh-states-vulnerabilities-* Indizes

Die State-Indizes sind zustandsorientiert. Sie bilden eine Momentaufnahme des aktuellen Vulnerability-Inventars ab:
Welche CVEs sind jetzt auf welchem Agenten relevant?

Sobald eine Schwachstelle nicht mehr zutrifft – etwa weil ein Paket aktualisiert oder ein Betriebssystem gepatcht wurde – wird das entsprechende Dokument aus dem wazuh-states-vulnerabilities-* Index entfernt. Es findet keine dauerhafte Speicherung eines „solved“-Status im State-Index statt.

Diese Logik wird auch in der offiziellen Dokumentation bestätigt:
https://documentation.wazuh.com/current/user-manual/wazuh-indexer/wazuh-indexer-indices.html#the-wazuh-states-vulnerabilities-indices

Die Vulnerability Detection Dashboards:

  • Dashboard / Inventory Tabs
    → Lesen ausschließlich aus wazuh-states-vulnerabilities-*
    → Zeigen nur aktuell relevante CVEs

Zweck der wazuh-alerts-* Indizes

Die Alert-Indizes sind ereignisorientiert. Sie speichern:

  • die erstmalige Erkennung einer CVE auf einem Agenten
  • optional die Erkennung, dass eine zuvor bekannte CVE nicht mehr zutrifft (Resolution)

Diese Events erscheinen im Events-Tab der Vulnerability Detection und im allgemeinen Threat-Hunting-Kontext.

Wichtig:
Nicht jede Erkennung oder Behebung einer Schwachstelle erzeugt zwingend einen Alert. Es existieren bekannte Design-Einschränkungen, durch die bestimmte Statusänderungen ohne Alert bleiben können. Dieses Verhalten ist als bekanntes Problem dokumentiert und soll erst mit Wazuh Version 5 konsistent adressiert werden.


Lösung / Best Practices

Korrekte Interpretation der Indizes

  • wazuh-states-vulnerabilities-*
    • Enthält nur aktive, aktuell zutreffende CVEs
    • Entfernt Einträge automatisch nach erfolgreicher Remediation
    • Geeignet für:
      • aktuelles Schwachstelleninventar
      • Compliance- und Patch-Status
  • wazuh-alerts-*
    • Enthält historische Ereignisse
    • Dokumentiert Änderungen am Vulnerability-Zustand
    • Geeignet für:
      • Audits
      • Incident- und Timeline-Analysen

Queries und Korrelation

  • Aktueller Vulnerability-Status
    → Abfrage ausschließlich auf wazuh-states-vulnerabilities-*
  • Historie und Statuswechsel
    → Analyse über wazuh-alerts-* mit passenden Rule-IDs und CVE-Feldern

Eine direkte 1:1-Korrelation ist nicht immer möglich, da Alerts nicht garantiert für jede Statusänderung erzeugt werden.


Lessons Learned / Best Practices

  • Die State-Indizes sind kein Archiv, sondern ein Live-Inventar.
  • „Solved“-Informationen sind Alert-Daten, keine State-Daten.
  • Dashboards können identische Begriffe („Solved“) anzeigen, obwohl sie aus unterschiedlichen Indizes stammen.
  • Für Reporting und Audits sollten Alerts langfristig aufbewahrt werden.
  • Für operative Sicherheit zählt ausschließlich der State-Index.
  • Aktuelle Design-Limitationen sollten bei Automatisierungen und Compliance-Auswertungen berücksichtigt werden.

Fazit

Wazuh trennt bewusst zwischen Zustand und Ereignis.
wazuh-states-vulnerabilities-* zeigt, welche Schwachstellen jetzt relevant sind – und nichts weiter. Sobald eine CVE behoben ist, verschwindet sie aus diesem Index. Die Historie lebt ausschließlich in wazuh-alerts-*, sofern ein entsprechender Alert erzeugt wurde. Wer diese Architektur sauber versteht, vermeidet Fehlinterpretationen in Dashboards, Reports und automatisierten Auswertungen.


Mehr zu Wazuh …
https://wazuh.com/?utm_source=ambassadors&utm_medium=referral&utm_campaign=ambassadors+program

Mehr zum Wazuh Ambassador Program …
https://wazuh.com/ambassadors-program/?utm_source=ambassadors&utm_medium=referral&utm_campaign=ambassadors+program

https://wazuh.slack.com/archives/C07BZJY86G3/p1767001720771809