CDB-Listen in Wazuh 4.14.1 richtig einsetzen: Warum match_key_value bei IPs scheitert und Datenanreicherung nicht möglich ist

Einleitung

CDB-Listen sind ein zentrales Werkzeug in Wazuh, um große Mengen an Indikatoren wie IPs, Domains oder Hashes performant gegen eingehende Events zu prüfen. Gerade im Kontext von Threat Intelligence und IOC-Matching entsteht jedoch häufig die Erwartung, dass CDB-Listen nicht nur zur Erkennung, sondern auch zur Datenanreicherung genutzt werden können – etwa um eine Beschreibung oder Kampagnenbezeichnung im Alert auszugeben. In Wazuh 4.14.1 führt diese Annahme regelmäßig zu Verwirrung. Dieser Artikel erklärt die Ursachen, ordnet das Verhalten technisch ein und zeigt saubere, unterstützte Lösungswege.

Ausgangslage / Problemstellung

In einer Wazuh-4.14.1-Umgebung sollten WatchGuard-Firewall-Logs gegen eine umfangreiche IOC-IP-Liste mit über 5.000 Einträgen geprüft werden. Die CDB-Liste war korrekt aufgebaut, wobei jede IP einem beschreibenden Wert zugeordnet war, zum Beispiel einer Kampagne oder Bedrohungskategorie.
Ziel war es, bei einem Treffer nicht nur einen Alert auszulösen, sondern die Beschreibung aus der CDB-Liste direkt im Alert-Text anzuzeigen. Trotz korrekter Registrierung der Liste und funktionierender Basisregel trat eines von zwei Problemen auf: Entweder matchte die Regel gar nicht oder die Beschreibung blieb leer.

Technische Analyse

Hier greifen gleich zwei grundlegende Eigenschaften von CDB-Listen in Wazuh, die oft missverstanden werden.

1. match_key_value ist für IP-Felder ungeeignet
Der Lookup-Typ match_key_value führt einen reinen String-Vergleich durch. Er ist nicht IP-bewusst und kann weder IP-Adressen noch Netzlogik korrekt auswerten. Felder wie srcip oder dstip müssen daher zwingend mit address_match_key oder address_match_key_value geprüft werden.
Dass die Regel bei match_key_value überhaupt nicht triggert, ist also kein Bug, sondern erwartetes Verhalten.

2. CDB-Listen unterstützen keine Datenanreicherung
Der entscheidendere Punkt: In Wazuh 4.x dienen CDB-Listen ausschließlich der Entscheidungslogik, nicht der Feldanreicherung.
Der Wert hinter dem Doppelpunkt in einer CDB-Liste kann nicht als Variable in der Regelbeschreibung verwendet werden. Konstrukte wie $(list_srcip) existieren nicht. Intern werden CDB-Werte nur für Bedingungen (z. B. check_value) genutzt, nicht für die Ausgabe in Alerts.

Dieses Verhalten ist dokumentiert und mehrfach als Feature Request diskutiert, jedoch in der aktuellen Architektur nicht umgesetzt.

Lösung / Best Practices

Die technisch saubere und vollständig unterstützte Lösung sieht daher anders aus als ursprünglich geplant:

1. IP-Matching korrekt umsetzen
Für IOC-IP-Listen wird address_match_key verwendet. Die Liste kann dabei rein aus IPs bestehen; Werte sind für das Matching nicht notwendig.

2. Generische, aber verlässliche Alert-Beschreibungen nutzen
Da keine Anreicherung möglich ist, sollte die Beschreibung auf die wesentlichen Felder beschränkt bleiben, etwa Quell- und Ziel-IP sowie Kontext aus dem Decoder oder der Basisregel.

3. Bedrohungen logisch gruppieren
Wenn unterschiedliche Beschreibungen notwendig sind, empfiehlt sich eine Trennung in mehrere CDB-Listen, zum Beispiel nach Kampagnentyp oder Schweregrad. Jede Liste erhält dann eine eigene Regel mit passender Beschreibung.

4. Externe Anreicherung nachgelagert durchführen
Wer zwingend IOC-Metadaten im Alert oder Dashboard benötigt, muss die Anreicherung außerhalb von Wazuh realisieren. Ein gängiger Ansatz ist die Weiterverarbeitung von alerts.json oder archives.json über Logstash, das mit Dictionary- oder Translate-Filtern echte Lookups und Feldanreicherung unterstützt.

Lessons Learned / Best Practices

  • match_key_value ist nicht für IP-Felder geeignet – immer IP-spezifische Lookups verwenden.
  • CDB-Listen in Wazuh sind Detektionsmechanismen, keine Enrichment-Datenbanken.
  • Werte aus CDB-Listen können nicht in Regelbeschreibungen ausgegeben werden.
  • Große IOC-Listen sind mit CDB technisch gut handhabbar, aber nur für Matching.
  • Für kontextreiche Threat-Intelligence-Ausgaben ist eine nachgelagerte Pipeline erforderlich.

Fazit

Das geschilderte Verhalten in Wazuh 4.14.1 ist weder ein Bug noch ein Konfigurationsfehler, sondern eine konsequente Folge der aktuellen CDB-Architektur. CDB-Listen leisten exzellente Arbeit bei der schnellen Erkennung von IOCs, sind jedoch bewusst nicht für Datenanreicherung ausgelegt. Wer diese Trennung versteht und akzeptiert, kann stabile und wartbare Regeln bauen – und bei Bedarf externe Tools für weitergehende Kontextanreicherung einsetzen.

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/C0A933R8E/p1767619656928939