Wazuh OPNsense: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
=Wazuh-Agent auf OPNsense=
 +
 +
Der OPNsense-Agent liefert die komplette Perimeter-Telemetrie an das SIEM:
 +
* '''Firewall''' — filter-Log (Pass/Block, Source-IPs, Port-Scans)
 +
* '''IPS''' — Suricata-eve-Feed (inline-IPS-Treffer North-South)
 +
* '''Squid''' — access.log (Layer-7-Egress: welcher Host ruft welche URL)
 +
Zusätzlich wird die '''Active Response''' eingerichtet, mit der der Manager eine Quell-IP auf der Firewall blockt.
 +
 
==== Installation des Wazuh-Plugins ====
 
==== Installation des Wazuh-Plugins ====
 
* Gehe zu ''System → Firmware → Plugins''
 
* Gehe zu ''System → Firmware → Plugins''
Zeile 8: Zeile 16:
 
* Setze die Checkbox ''Enable'' und klicke ''Apply''
 
* Setze die Checkbox ''Enable'' und klicke ''Apply''
 
* Lass das Feld ''Authentication → Password'' '''leer''' — der Manager verlangt im Lab kein Enrollment-Passwort
 
* Lass das Feld ''Authentication → Password'' '''leer''' — der Manager verlangt im Lab kein Enrollment-Passwort
* Öffne das Wazuh-Dashboard, gehe zu '''Agent Management -> Summary''' und prüfe, ob der Agent mit Status '''Active''' erscheint
+
* Öffne das Wazuh-Dashboard, gehe zu ''Agent Management Summary'' und prüfe, ob der Agent mit Status '''Active''' erscheint
  
==== Auswahl der zu übertragenden Logs ====
+
==== Firewall und IPS aktivieren ====
 
* Gehe zu ''Services → Wazuh Agent → Settings''
 
* Gehe zu ''Services → Wazuh Agent → Settings''
 
* Setze unter ''Applications'' die Checkbox bei ''filter''
 
* Setze unter ''Applications'' die Checkbox bei ''filter''
* Setze die Checkbox ''Intrusion detection events'', um den Suricata-''eve''-Feed zu übertragen
+
* Setze die Checkbox ''Intrusion detection events'', um den Suricata-eve-Feed zu übertragen
 
* Klicke ''Apply''
 
* Klicke ''Apply''
  
==== RFC3164-Format für Syslog ====
+
==== Squid-Access-Log anbinden ====
* Wazuh unterstützt nur Syslog-Nachrichten im RFC3164-Format
+
Der Squid-Access-Log lässt sich nicht über eine Checkbox aktivieren und wird als statische localfile-Sektion eingebunden.
* Ereignisse werden unter ''/var/ossec/logs/opnsense_syslog.log'' protokolliert
+
* Lege auf der OPNsense die Datei ''/usr/local/opnsense/service/templates/OPNsense/WazuhAgent/ossec_config.d/099-squid.conf'' an:
 
 
==== Anpassung der ossec.conf ====
 
* Einige Wazuh-Module sind direkt im GUI auswählbar
 
* Lege für zusätzliche Features eine statische Sektion unter ''/usr/local/opnsense/service/templates/OPNsense/WazuhAgent/ossec_config.d/'' an
 
* Für einen eigenen JSON-Feed lege die Datei ''099-my-feed.conf'' mit folgendem Inhalt an:
 
 
   <pre>
 
   <pre>
 
   <localfile>
 
   <localfile>
     <log_format>json</log_format>
+
     <log_format>squid</log_format>
     <location>/path/to/my/file.json</location>
+
     <location>/var/log/squid/access.log</location>
 
   </localfile>
 
   </localfile>
 
   </pre>
 
   </pre>
 +
* Wende die Vorlage an und starte den Agenten neu:
 +
  <pre>
 +
  configctl template reload OPNsense/WazuhAgent
 +
  service wazuh-agent restart
 +
  </pre>
 +
* Der squid-Decoder zerlegt Source-IP, URL, HTTP-Status und Action und liefert damit die Egress-Sichtbarkeit (C2-Beaconing, Datenabfluss)
 +
 +
==== Hinweis: RFC3164-Format ====
 +
* Wazuh unterstützt nur Syslog-Nachrichten im RFC3164-Format
 +
* Ereignisse werden unter ''/var/ossec/logs/opnsense_syslog.log'' protokolliert
  
==== Aktive Reaktionen einrichten ====
+
==== Active Response einrichten ====
* Die Aktion ''opnsense-fw'' blockt Traffic von einer Quelladresse
+
Mit der Aktion ''opnsense-fw'' blockt der Manager eine Quell-IP auf der Firewall.
* '''Wichtig:''' Trage die beiden folgenden Blöcke auf dem '''Wazuh-Manager''' in ''/var/ossec/etc/ossec.conf'' ein — '''nicht''' auf der OPNsense. Die OPNsense ist nur der Agent, der die Aktion ausführt.
+
* '''Wichtig:''' Die beiden folgenden Blöcke werden auf dem '''Wazuh-Manager''' in ''/var/ossec/etc/ossec.conf'' eingetragen — '''nicht''' auf der OPNsense. Die OPNsense ist nur der Agent, der die Aktion ausführt.
 
* Definiere das Kommando:
 
* Definiere das Kommando:
 
   <pre>
 
   <pre>
Zeile 68: Zeile 81:
 
* Teste den POC „Angreifer blocken" vor dem Kurs einmal durch (Issue opnsense/plugins #4738)
 
* Teste den POC „Angreifer blocken" vor dem Kurs einmal durch (Issue opnsense/plugins #4738)
  
==== Testen der aktiven Reaktionen ====
+
==== Active Response testen ====
 
* Aktive Reaktionen werden unter ''Services → Wazuh Agent → Logfile / active-responses'' protokolliert
 
* Aktive Reaktionen werden unter ''Services → Wazuh Agent → Logfile / active-responses'' protokolliert
 
* Öffne zum Testen die API-Konsole unter ''Wazuh → Tools → API console''
 
* Öffne zum Testen die API-Konsole unter ''Wazuh → Tools → API console''
Zeile 85: Zeile 98:
 
   </pre>
 
   </pre>
  
==== Testregel-Erkennung ====
+
==== Logverarbeitung prüfen ====
 
* Sammelt ''/var/ossec/logs/opnsense_syslog.log'' Einträge, erscheinen aber keine Events im Manager, prüfe die Verarbeitung
 
* Sammelt ''/var/ossec/logs/opnsense_syslog.log'' Einträge, erscheinen aber keine Events im Manager, prüfe die Verarbeitung
 
* Öffne dazu ''Wazuh → Tools → Ruleset test'' und gib eine Log-Zeile zur Inspektion ein
 
* Öffne dazu ''Wazuh → Tools → Ruleset test'' und gib eine Log-Zeile zur Inspektion ein
  
 
[[Kategorie:WAZUH]]
 
[[Kategorie:WAZUH]]

Version vom 23. Juni 2026, 19:10 Uhr

Wazuh-Agent auf OPNsense

Der OPNsense-Agent liefert die komplette Perimeter-Telemetrie an das SIEM:

  • Firewall — filter-Log (Pass/Block, Source-IPs, Port-Scans)
  • IPS — Suricata-eve-Feed (inline-IPS-Treffer North-South)
  • Squid — access.log (Layer-7-Egress: welcher Host ruft welche URL)

Zusätzlich wird die Active Response eingerichtet, mit der der Manager eine Quell-IP auf der Firewall blockt.

Installation des Wazuh-Plugins

  • Gehe zu System → Firmware → Plugins
  • Suche nach os-wazuh-agent und klicke auf das [+]-Symbol, um das Plugin zu installieren

Agent konfigurieren

  • Gehe zu Services → Wazuh Agent → Settings
  • Trage unter Manager hostname den FQDN wazuh.dkbi.com ein
  • Setze die Checkbox Enable und klicke Apply
  • Lass das Feld Authentication → Password leer — der Manager verlangt im Lab kein Enrollment-Passwort
  • Öffne das Wazuh-Dashboard, gehe zu Agent Management → Summary und prüfe, ob der Agent mit Status Active erscheint

Firewall und IPS aktivieren

  • Gehe zu Services → Wazuh Agent → Settings
  • Setze unter Applications die Checkbox bei filter
  • Setze die Checkbox Intrusion detection events, um den Suricata-eve-Feed zu übertragen
  • Klicke Apply

Squid-Access-Log anbinden

Der Squid-Access-Log lässt sich nicht über eine Checkbox aktivieren und wird als statische localfile-Sektion eingebunden.

  • Lege auf der OPNsense die Datei /usr/local/opnsense/service/templates/OPNsense/WazuhAgent/ossec_config.d/099-squid.conf an:
  <localfile>
    <log_format>squid</log_format>
    <location>/var/log/squid/access.log</location>
  </localfile>
  
  • Wende die Vorlage an und starte den Agenten neu:
  configctl template reload OPNsense/WazuhAgent
  service wazuh-agent restart
  
  • Der squid-Decoder zerlegt Source-IP, URL, HTTP-Status und Action und liefert damit die Egress-Sichtbarkeit (C2-Beaconing, Datenabfluss)

Hinweis: RFC3164-Format

  • Wazuh unterstützt nur Syslog-Nachrichten im RFC3164-Format
  • Ereignisse werden unter /var/ossec/logs/opnsense_syslog.log protokolliert

Active Response einrichten

Mit der Aktion opnsense-fw blockt der Manager eine Quell-IP auf der Firewall.

  • Wichtig: Die beiden folgenden Blöcke werden auf dem Wazuh-Manager in /var/ossec/etc/ossec.conf eingetragen — nicht auf der OPNsense. Die OPNsense ist nur der Agent, der die Aktion ausführt.
  • Definiere das Kommando:
  <ossec_config>
    <command>
      <name>opnsense-fw</name>
      <executable>opnsense-fw</executable>
      <timeout_allowed>yes</timeout_allowed>
    </command>
  </ossec_config>
  
  • Trage die Active-Response-Regel ein und passe agent_id an:
  <ossec_config>
    <active-response>
      <disabled>no</disabled>
      <command>opnsense-fw</command>
      <location>defined-agent</location>
      <agent_id>001</agent_id>
      <rules_id>87702</rules_id>
      <timeout>180</timeout>
    </active-response>
  </ossec_config>
  
  • Starte den Manager neu:
  systemctl restart wazuh-manager
  

Bekanntes Problem: Block greift nicht

  • Bei os-wazuh-agent 1.2_1 auf OPNsense 25.1.x löst eine Active Response fast zeitgleich ein add- und ein abort-Event aus
  • Folge: Die Quell-IP wird hinzugefügt und sofort wieder entfernt — der Block hält nicht
  • Deaktiviere in /var/ossec/active-response/bin/opnsense-fw den abort-Pfad
  • Teste den POC „Angreifer blocken" vor dem Kurs einmal durch (Issue opnsense/plugins #4738)

Active Response testen

  • Aktive Reaktionen werden unter Services → Wazuh Agent → Logfile / active-responses protokolliert
  • Öffne zum Testen die API-Konsole unter Wazuh → Tools → API console
  • Blocke die IP 172.16.1.30 für Agent 001:
  PUT /active-response?agents_list=001
  {
    "command": "!opnsense-fw",
    "custom": false,
    "alert": {
      "data": {
        "srcip": "172.16.1.30"
      }
    }
  }
  

Logverarbeitung prüfen

  • Sammelt /var/ossec/logs/opnsense_syslog.log Einträge, erscheinen aber keine Events im Manager, prüfe die Verarbeitung
  • Öffne dazu Wazuh → Tools → Ruleset test und gib eine Log-Zeile zur Inspektion ein