Wazuh Decoder: Warum user als dstuser erscheint

Problem

Ihr habt einen Custom-Decoder für Trellix/McAfee Web Gateway gebaut und extrahiert usrName erfolgreich:

<decoder name="McAfee_Web_Gateway">
  <parent>McAfee_Web_Gateway</parent>
  <regex>\.+\pusrName=(\.+)\|</regex>
  <order>username</order>
</decoder>

Sobald ihr aber versucht, das Feld auf einen „statischen“ Namen zu ändern …

<order>user</order>

… taucht das Ergebnis nicht als user, sondern als dstuser auf.


Ursache

Das ist kein Bug in eurem Regex, sondern erwartetes Verhalten:

  • In Wazuh-Decodern ist user ein reservierter Alias
  • Dieser Alias wird automatisch auf das kanonische Feld dstuser gemappt

Darum wird aus <order>user</order> immer dstuser, selbst wenn ihr „user“ erzwingen wollt.


Lösungsmöglichkeiten

Option A (einfach & korrekt): Bleibt bei einem nicht-reservierten Feldnamen, z. B.

  • username (wie bei euch bereits erfolgreich)
  • srcuser / dstuser (falls semantisch passend)

Option B (wenn ihr unbedingt user braucht): Umbenennung nachgelagert durchführen, z. B. in:

  • OpenSearch / Wazuh Indexer Ingest Pipeline (Painless Script / Rename Processor)
  • Logstash/Elastic Ingest (falls im Einsatz)

➡️ Wichtig: Im Decoder selbst könnt ihr kein internes Feld „user“ erzwingen, wenn es mit einem Wazuh-Alias kollidiert.


Takeaway

Wenn ein <order>-Feld „komisch“ umbenannt wird, lohnt sich immer der Blick auf reservierte Decoder-Feldnamen/Aliase. In diesem Fall ist user fest an dstuser gebunden.

https://wazuh.slack.com/archives/C0A933R8E/p1765804058202159

Mehr zu Wazuh …

Mehr zum Wazuh Ambassador Program …