<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Wazuh-Anbindung_der_WAF_%28Coraza%29_Debian</id>
	<title>Wazuh-Anbindung der WAF (Coraza) Debian - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Wazuh-Anbindung_der_WAF_%28Coraza%29_Debian"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Wazuh-Anbindung_der_WAF_(Coraza)_Debian&amp;action=history"/>
	<updated>2026-11-11T14:12:11Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Wazuh-Anbindung_der_WAF_(Coraza)_Debian&amp;diff=73356&amp;oldid=prev</id>
		<title>Thomas.will am 9. September 2026 um 09:49 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Wazuh-Anbindung_der_WAF_(Coraza)_Debian&amp;diff=73356&amp;oldid=prev"/>
		<updated>2026-09-09T09:49:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ixheim.de/index.php?title=Wazuh-Anbindung_der_WAF_(Coraza)_Debian&amp;amp;diff=73356&amp;amp;oldid=73353&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Wazuh-Anbindung_der_WAF_(Coraza)_Debian&amp;diff=73353&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „ =Wazuh-Anbindung der WAF (Coraza)= Die &#039;&#039;&#039;WAF&#039;&#039;&#039; (HAProxy + Coraza-SPOA) liefert die Abwehr-Telemetrie an das SIEM: welcher Angriff wurde von welcher Regel ge…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Wazuh-Anbindung_der_WAF_(Coraza)_Debian&amp;diff=73353&amp;oldid=prev"/>
		<updated>2026-09-09T09:16:15Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „ =Wazuh-Anbindung der WAF (Coraza)= Die &amp;#039;&amp;#039;&amp;#039;WAF&amp;#039;&amp;#039;&amp;#039; (HAProxy + Coraza-SPOA) liefert die Abwehr-Telemetrie an das SIEM: welcher Angriff wurde von welcher Regel ge…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
=Wazuh-Anbindung der WAF (Coraza)=&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;WAF&amp;#039;&amp;#039;&amp;#039; (HAProxy + Coraza-SPOA) liefert die Abwehr-Telemetrie an das SIEM: welcher Angriff wurde von welcher Regel geblockt. Das ergänzt die VulnSite-Sicht — dort sieht Wazuh den Angriffsversuch im Apache-Log, hier sieht es die &amp;#039;&amp;#039;&amp;#039;Abwehr davor&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Wazuhs eingebaute ModSecurity-Regeln greifen nur auf das Apache-error.log klassischer ModSecurity. Coraza-SPOA schreibt ein eigenes Audit-Log und läuft nicht über Apache — daher binden wir das Coraza-JSON-Audit-Log ein und ergänzen einen eigenen Decoder samt Regel auf dem Manager.&lt;br /&gt;
&lt;br /&gt;
==== Repository einrichten ====&lt;br /&gt;
;GPG-Schlüssel importieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import&lt;br /&gt;
chmod 644 /usr/share/keyrings/wazuh.gpg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Repository hinzufügen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main&amp;quot; &amp;gt; /etc/apt/sources.list.d/wazuh.list&lt;br /&gt;
apt update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Agent installieren ====&lt;br /&gt;
;Agent mit Manager-Adresse und Namen installieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
WAZUH_MANAGER=&amp;quot;wazuh.dkbi.com&amp;quot; WAZUH_AGENT_NAME=&amp;quot;waf&amp;quot; apt install -y wazuh-agent&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Dienst aktivieren und starten&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable --now wazuh-agent&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Repository deaktivieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sed -i &amp;quot;s/^deb /#deb /&amp;quot; /etc/apt/sources.list.d/wazuh.list&lt;br /&gt;
apt update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Coraza-Audit-Log auf JSON umstellen ====&lt;br /&gt;
Das Audit-Log liegt standardmäßig im nativen ModSecurity-Format (Multiline mit Trennern wie &amp;#039;&amp;#039;--aaCuCNaqNi-A--&amp;#039;&amp;#039;). Das kann Wazuh nicht sauber parsen. Auf JSON umstellen.&lt;br /&gt;
;In &amp;#039;&amp;#039;/etc/coraza-spoa/coraza-spoa.yaml&amp;#039;&amp;#039; ergänzen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SecAuditLogFormat JSON&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;Daemon neu starten&lt;br /&gt;
* systemctl restart coraza-spoa&lt;br /&gt;
;Eine Zeile prüfen — muss jetzt mit { beginnen&lt;br /&gt;
* tail -1 /var/log/coraza/audit.log&lt;br /&gt;
&lt;br /&gt;
==== Audit-Log anbinden ====&lt;br /&gt;
;In &amp;#039;&amp;#039;/var/ossec/etc/ossec.conf&amp;#039;&amp;#039; auf der WAF&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;localfile&amp;gt;&lt;br /&gt;
  &amp;lt;log_format&amp;gt;json&amp;lt;/log_format&amp;gt;&lt;br /&gt;
  &amp;lt;location&amp;gt;/var/log/coraza/audit.log&amp;lt;/location&amp;gt;&lt;br /&gt;
&amp;lt;/localfile&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Leserechte für den Agent ====&lt;br /&gt;
Der &amp;#039;&amp;#039;wazuh&amp;#039;&amp;#039;-User muss das Audit-Log lesen können, sonst werden keine Ereignisse übertragen.&lt;br /&gt;
;Zugriff testen&lt;br /&gt;
* sudo -u wazuh cat /var/log/coraza/audit.log &amp;gt; /dev/null&lt;br /&gt;
;Bei &amp;quot;Permission denied&amp;quot; Gruppe/Rechte setzen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 640 /var/log/coraza/audit.log&lt;br /&gt;
setfacl -m u:wazuh:rx /var/log/coraza/&lt;br /&gt;
setfacl -m u:wazuh:r /var/log/coraza/audit.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Neustarten des Wazuh Agents ===&lt;br /&gt;
*systemctl restart wazuh-agent.service&lt;br /&gt;
&lt;br /&gt;
==== Decoder und Regel (auf dem Wazuh-Manager) ====&lt;br /&gt;
Coraza-JSON wird vom generischen JSON-Decoder zerlegt, aber von keiner eingebauten Regel klassifiziert. Beides ergänzen.&lt;br /&gt;
&lt;br /&gt;
;Decoder in &amp;#039;&amp;#039;/var/ossec/etc/decoders/local-coraza_decoders.xml&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;decoder name=&amp;quot;coraza-audit&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;prematch&amp;gt;^{&amp;quot;transaction&amp;quot;:&amp;lt;/prematch&amp;gt;&lt;br /&gt;
  &amp;lt;plugin_decoder&amp;gt;JSON_Decoder&amp;lt;/plugin_decoder&amp;gt;&lt;br /&gt;
&amp;lt;/decoder&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;Regel in &amp;#039;&amp;#039;/var/ossec/etc/rules/local_rules.xml&amp;#039;&amp;#039; ergänzen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;group name=&amp;quot;coraza,waf,&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;rule id=&amp;quot;100100&amp;quot; level=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;decoded_as&amp;gt;json&amp;lt;/decoded_as&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;transaction.client_ip&amp;quot;&amp;gt;\.+&amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Coraza WAF Audit-Log.&amp;lt;/description&amp;gt;&lt;br /&gt;
  &amp;lt;/rule&amp;gt;&lt;br /&gt;
  &amp;lt;rule id=&amp;quot;100101&amp;quot; level=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;if_sid&amp;gt;100100&amp;lt;/if_sid&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;transaction.is_interrupted&amp;quot;&amp;gt;true&amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Coraza WAF: Angriff geblockt auf $(transaction.request.uri) von $(transaction.client_ip).&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;group&amp;gt;attack,web,&amp;lt;/group&amp;gt;&lt;br /&gt;
  &amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/group&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
;Eigentümer und Rechte setzen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chown wazuh:wazuh /var/ossec/etc/decoders/local-coraza_decoders.xml /var/ossec/etc/rules/local_rules.xml&lt;br /&gt;
chmod 660 /var/ossec/etc/decoders/local-coraza_decoders.xml /var/ossec/etc/rules/local_rules.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Vor dem Neustart mit logtest prüfen — eine echte JSON-Audit-Zeile reinpasten&lt;br /&gt;
* /var/ossec/bin/wazuh-logtest&lt;br /&gt;
Erwartete Ausgabe: &amp;#039;&amp;#039;transaction.is_interrupted: &amp;#039;true&amp;#039;&amp;#039;&amp;#039; in Phase 2 und &amp;#039;&amp;#039;Rule id: &amp;#039;100101&amp;#039;&amp;#039;&amp;#039; in Phase 3.&lt;br /&gt;
;Erst dann Manager neu starten&lt;br /&gt;
* systemctl restart wazuh-manager&lt;br /&gt;
&lt;br /&gt;
==== Kontrolle ====&lt;br /&gt;
;Angriff von der Kali gegen die WAF&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;http://waf.it213.xinmen.de/?id=1&amp;#039;+OR+&amp;#039;1&amp;#039;=&amp;#039;1&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Im Dashboard&lt;br /&gt;
* Öffne &amp;#039;&amp;#039;Threat Hunting&amp;#039;&amp;#039;, Filter &amp;#039;&amp;#039;rule.id:100101&amp;#039;&amp;#039;&lt;br /&gt;
* Der Alert &amp;quot;Coraza WAF: Angriff geblockt&amp;quot; muss erscheinen&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:WAZUH]]&lt;br /&gt;
[[Kategorie:Coraza]]&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>