Wazuh OPNsense

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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

Auswahl der zu übertragenden Logs

  • 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

RFC3164-Format für Syslog

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

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:
  <localfile>
    <log_format>json</log_format>
    <location>/path/to/my/file.json</location>
  </localfile>
  

Aktive Reaktionen einrichten

  • Die Aktion opnsense-fw blockt Traffic von einer Quelladresse
  • 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.
  • 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)

Testen der aktiven Reaktionen

  • 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"
      }
    }
  }
  

Testregel-Erkennung

  • 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