Wazuh OPNsense
Version vom 23. Juni 2026, 19:10 Uhr von Thomas.will (Diskussion | Beiträge)
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