<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Sophos_Firewall_%28SFW%29_Logs_in_Wazuh</id>
	<title>Sophos Firewall (SFW) Logs in Wazuh - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Sophos_Firewall_%28SFW%29_Logs_in_Wazuh"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Sophos_Firewall_(SFW)_Logs_in_Wazuh&amp;action=history"/>
	<updated>2026-09-17T11:33:43Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=Sophos_Firewall_(SFW)_Logs_in_Wazuh&amp;diff=2873&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Import aus Wazuh-Blog (m.a.x. it, eigenes Copyright)</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Sophos_Firewall_(SFW)_Logs_in_Wazuh&amp;diff=2873&amp;oldid=prev"/>
		<updated>2026-09-15T00:00:00Z</updated>

		<summary type="html">&lt;p&gt;Import aus Wazuh-Blog (m.a.x. it, eigenes Copyright)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Warum „DoS Attack / Denied“ korrekt decodiert wird – und trotzdem nicht immer sichtbar ist ==&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Sophos-Firewall-Logs (SFW / XG / XGS) gehören zu den &amp;#039;&amp;#039;&amp;#039;umfangreichsten und komplexesten Firewall-Logs&amp;#039;&amp;#039;&amp;#039; überhaupt.&lt;br /&gt;
Besonders Felder wie:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
log_component=&amp;quot;DoS Attack&amp;quot;&lt;br /&gt;
log_subtype=&amp;quot;Denied&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sorgen häufig für Verwirrung, wenn sie &amp;#039;&amp;#039;&amp;#039;nicht wie erwartet im &amp;lt;code&amp;gt;wazuh-logtest&amp;lt;/code&amp;gt; oder Dashboard erscheinen&amp;#039;&amp;#039;&amp;#039;, obwohl Decoder vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
Dieser Artikel erklärt:&lt;br /&gt;
&lt;br /&gt;
* wie Sophos-Logs strukturiert sind&lt;br /&gt;
* warum Decoder technisch korrekt sein können, ohne sichtbare Felder zu erzeugen&lt;br /&gt;
* wie man Decoder richtig testet&lt;br /&gt;
* und welche Best Practices bei großen Sophos-Decoder-Sets gelten&lt;br /&gt;
&lt;br /&gt;
== 1. Beispiel: Sophos DoS-Attack-Log ==&lt;br /&gt;
&lt;br /&gt;
Aus dem Thread (gekürzt, relevant):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
device_name=&amp;quot;SFW&amp;quot;&lt;br /&gt;
log_type=&amp;quot;Firewall&amp;quot;&lt;br /&gt;
log_component=&amp;quot;DoS Attack&amp;quot;&lt;br /&gt;
log_subtype=&amp;quot;Denied&amp;quot;&lt;br /&gt;
severity=&amp;quot;Warning&amp;quot;&lt;br /&gt;
src_ip=&amp;quot;91.189.92.23&amp;quot;&lt;br /&gt;
dst_ip=&amp;quot;192.168.99.2&amp;quot;&lt;br /&gt;
protocol=&amp;quot;TCP&amp;quot;&lt;br /&gt;
src_port=80&lt;br /&gt;
dst_port=51358&lt;br /&gt;
hb_status=&amp;quot;No Heartbeat&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
➡️ Ziel:&lt;br /&gt;
&amp;lt;code&amp;gt;log_component=&amp;quot;DoS Attack&amp;quot;&amp;lt;/code&amp;gt; sauber decodieren und später in Regeln verwenden.&lt;br /&gt;
&lt;br /&gt;
== 2. Der wichtigste Punkt: Parent-Decoder (&amp;lt;code&amp;gt;SFW&amp;lt;/code&amp;gt;) ==&lt;br /&gt;
&lt;br /&gt;
=== ❗ Häufigster Fehler ===&lt;br /&gt;
&lt;br /&gt;
Es werden &amp;#039;&amp;#039;&amp;#039;nur Child-Decoder definiert&amp;#039;&amp;#039;&amp;#039;, aber:&lt;br /&gt;
&lt;br /&gt;
* kein sauberer &amp;#039;&amp;#039;&amp;#039;Parent-Decoder&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* oder ein Parent-Decoder, der den Log &amp;#039;&amp;#039;&amp;#039;nicht zuverlässig matched&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Korrektes Grundgerüst ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;decoder name=&amp;quot;SFW&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;prematch&amp;gt;device_name=&amp;quot;SFW&amp;quot;&amp;lt;/prematch&amp;gt;&lt;br /&gt;
&amp;lt;/decoder&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
📘 Decoder-Hierarchie:&lt;br /&gt;
[https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.html https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.html]&lt;br /&gt;
&lt;br /&gt;
== 3. Warum &amp;lt;code&amp;gt;log_component=&amp;quot;DoS Attack&amp;quot;&amp;lt;/code&amp;gt; tricky ist ==&lt;br /&gt;
&lt;br /&gt;
=== Problem 1: Leerzeichen im Wert ===&lt;br /&gt;
&lt;br /&gt;
Viele Decoder verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;regex&amp;gt;log_component=&amp;quot;(\S+)&amp;quot;&amp;lt;/regex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
❌ Das funktioniert &amp;#039;&amp;#039;&amp;#039;nicht&amp;#039;&amp;#039;&amp;#039;, weil:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;\S+&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;keine Leerzeichen matcht&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;quot;DoS Attack&amp;quot;&amp;lt;/code&amp;gt; enthält ein Leerzeichen&lt;br /&gt;
&lt;br /&gt;
=== ✅ Korrekte Regex ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;regex&amp;gt;log_component=&amp;quot;([^&amp;quot;]+)&amp;quot;&amp;lt;/regex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
➡️ Matcht &amp;#039;&amp;#039;&amp;#039;alles bis zum nächsten Anführungszeichen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
📘 Regex-Referenz:&lt;br /&gt;
[https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/regex.html https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/regex.html]&lt;br /&gt;
&lt;br /&gt;
== 4. Warum Felder manchmal „nicht auftauchen“ ==&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Wazuh-Grundregel ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein Decoder erzeugt nur dann ein Feld, wenn das Feld im Log existiert.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Das bedeutet:&lt;br /&gt;
&lt;br /&gt;
* Decoder ≠ Garantie für Feld&lt;br /&gt;
* Logtest zeigt &amp;#039;&amp;#039;&amp;#039;nur tatsächlich gematchte Felder&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Wenn z. B. ein Log &amp;#039;&amp;#039;&amp;#039;kein &amp;lt;code&amp;gt;src_zone_type&amp;lt;/code&amp;gt; enthält&amp;#039;&amp;#039;&amp;#039;, dann:&lt;br /&gt;
&lt;br /&gt;
* wird es nicht decodiert&lt;br /&gt;
* erscheint nicht im Logtest&lt;br /&gt;
* erscheint nicht im Dashboard&lt;br /&gt;
&lt;br /&gt;
➡️ &amp;#039;&amp;#039;&amp;#039;Das ist kein Fehler.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 5. Warum &amp;lt;code&amp;gt;wazuh-logtest&amp;lt;/code&amp;gt; manchmal „zu wenig zeigt“ ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;wazuh-logtest&amp;lt;/code&amp;gt;: ===&lt;br /&gt;
&lt;br /&gt;
* zeigt &amp;#039;&amp;#039;&amp;#039;nur den getesteten Log&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* zeigt &amp;#039;&amp;#039;&amp;#039;keine archivierten Rohlogs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* zeigt &amp;#039;&amp;#039;&amp;#039;keine Felder ohne Match&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Debug-Empfehlung: Archive Logs aktivieren (temporär) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ossec_config&amp;gt;&lt;br /&gt;
  &amp;lt;global&amp;gt;&lt;br /&gt;
    &amp;lt;logall_json&amp;gt;yes&amp;lt;/logall_json&amp;gt;&lt;br /&gt;
  &amp;lt;/global&amp;gt;&lt;br /&gt;
&amp;lt;/ossec_config&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
systemctl restart wazuh-manager&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Logs prüfen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/var/ossec/logs/archives/archives.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
⚠️ &amp;#039;&amp;#039;&amp;#039;Achtung:&amp;#039;&amp;#039;&amp;#039; Sehr hoher Speicherverbrauch&lt;br /&gt;
Nach Debugging wieder deaktivieren!&lt;br /&gt;
&lt;br /&gt;
📘 Event Logging:&lt;br /&gt;
[https://documentation.wazuh.com/current/user-manual/manager/event-logging.html https://documentation.wazuh.com/current/user-manual/manager/event-logging.html]&lt;br /&gt;
&lt;br /&gt;
== 6. Best Practices für große Sophos-Decoder-Sets ==&lt;br /&gt;
&lt;br /&gt;
=== ✅ 1. Ein Decoder pro Feld – okay, aber sauber ===&lt;br /&gt;
&lt;br /&gt;
Sophos-Logs sind &amp;#039;&amp;#039;&amp;#039;Key-Value-Logs&amp;#039;&amp;#039;&amp;#039;, daher ist diese Strategie korrekt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;regex&amp;gt;src_ip=&amp;quot;(\S+)&amp;quot;&amp;lt;/regex&amp;gt;&lt;br /&gt;
&amp;lt;regex&amp;gt;dst_ip=&amp;quot;(\S+)&amp;quot;&amp;lt;/regex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aber:&lt;br /&gt;
&lt;br /&gt;
* nur Felder definieren, die &amp;#039;&amp;#039;&amp;#039;wirklich benötigt werden&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* sonst steigt CPU-Last unnötig&lt;br /&gt;
&lt;br /&gt;
=== ✅ 2. Keine Duplikate ===&lt;br /&gt;
&lt;br /&gt;
Im Thread waren &amp;#039;&amp;#039;&amp;#039;zwei Decoder für &amp;lt;code&amp;gt;log_component&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; vorhanden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;regex&amp;gt;log_component=&amp;quot;(\S+)&amp;quot;&amp;lt;/regex&amp;gt;      ❌&lt;br /&gt;
&amp;lt;regex&amp;gt;log_component=&amp;quot;([^&amp;quot;]+)&amp;quot;&amp;lt;/regex&amp;gt;    ✅&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
➡️ Immer nur &amp;#039;&amp;#039;&amp;#039;eine korrekte Variante&amp;#039;&amp;#039;&amp;#039; behalten.&lt;br /&gt;
&lt;br /&gt;
=== ✅ 3. Felder mit Leerzeichen immer &amp;lt;code&amp;gt;[^&amp;quot;]+&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Gilt u. a. für:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;log_component&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;log_subtype&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;fw_rule_type&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ether_type&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. Typische Sophos-DoS-Regel (Beispiel) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;group name=&amp;quot;sophos,dos,firewall&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;rule id=&amp;quot;120001&amp;quot; level=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;if_matched_sid&amp;gt;SFW&amp;lt;/if_matched_sid&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;log_component&amp;quot;&amp;gt;DoS Attack&amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;log_subtype&amp;quot;&amp;gt;Denied&amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Sophos Firewall: DoS attack blocked from $(src_ip) to $(dst_ip)&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/group&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
📘 Rules-Syntax:&lt;br /&gt;
[https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.html https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.html]&lt;br /&gt;
&lt;br /&gt;
== 8. Warum das Problem im Thread „eigentlich keines war“ ==&lt;br /&gt;
&lt;br /&gt;
Die finale Einschätzung von Wazuh-Support war korrekt:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;„Your decoder is working fine. The fields are not present in every log.“&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
➡️ &amp;#039;&amp;#039;&amp;#039;Decoder funktionieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
➡️ &amp;#039;&amp;#039;&amp;#039;Logs enthalten nicht immer alle Felder&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
➡️ &amp;#039;&amp;#039;&amp;#039;Wazuh verhält sich korrekt&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 9. Weiterführende Quellen ==&lt;br /&gt;
&lt;br /&gt;
=== Wazuh ===&lt;br /&gt;
&lt;br /&gt;
* Decoder Syntax[https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.html https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.html]&lt;br /&gt;
* Regex in Decoders[https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/regex.html https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/regex.html]&lt;br /&gt;
* Event Logging[https://documentation.wazuh.com/current/user-manual/manager/event-logging.html https://documentation.wazuh.com/current/user-manual/manager/event-logging.html]&lt;br /&gt;
&lt;br /&gt;
=== Sophos ===&lt;br /&gt;
&lt;br /&gt;
* Sophos Firewall Log Guidehttps://docs.sophos.com/nsg/sophos-firewall/19.5/Help/en-us/webhelp/onlinehelp/AdministratorHelp/LogsReports/Logs/&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
&lt;br /&gt;
❝ Wenn ein Feld nicht erscheint, heißt das nicht,&lt;br /&gt;
dass der Decoder falsch ist –&lt;br /&gt;
sondern meist, dass der Log es nicht enthält. ❞&lt;br /&gt;
&lt;br /&gt;
Sophos-Logs sind &amp;#039;&amp;#039;&amp;#039;inkonsistent je nach Event-Typ&amp;#039;&amp;#039;&amp;#039;, besonders bei:&lt;br /&gt;
&lt;br /&gt;
* DoS&lt;br /&gt;
* Heartbeat&lt;br /&gt;
* Network Flood Protection&lt;br /&gt;
&lt;br /&gt;
Mit sauberem Parent-Decoder, korrekter Regex (&amp;lt;code&amp;gt;[^&amp;quot;]+&amp;lt;/code&amp;gt;)&lt;br /&gt;
und gezieltem Debugging sind sie jedoch &amp;#039;&amp;#039;&amp;#039;sehr gut in Wazuh integrierbar&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[https://wazuh.slack.com/archives/C0A933R8E/p1766216316132299 https://wazuh.slack.com/archives/C0A933R8E/p1766216316132299]&lt;br /&gt;
&lt;br /&gt;
== Quelle ==&lt;br /&gt;
Dieser Artikel stammt aus dem [https://wazuh-blog.max-it.de/sophos-firewall-sfw-logs-in-wazuh/ Wazuh-Blog von m.a.x. it] (veröffentlicht am 20. März 2026).&lt;br /&gt;
&lt;br /&gt;
== Unterstützung von m.a.x. it ==&lt;br /&gt;
Bei Einführung, Betrieb und Feintuning von Wazuh (SIEM) unterstützt Sie m.a.x. it mit [https://www.max-it.de/it-services/siem-open-source/ SIEM-Services auf Open-Source-Basis].&lt;br /&gt;
&lt;br /&gt;
{{Uebermax}}&lt;br /&gt;
[[Kategorie:Wazuh]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;TechCorner-Redaktion</name></author>
	</entry>
</feed>