F5 AFM-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie F5 AFM-Logs (Advanced Firewall Management) mit dem Bindplane-Agent in Google Security Operations aufnehmen.

F5 BIG-IP AFM ist ein Netzwerkfirewallmodul, das Syslog-Meldungen für Firewallregelaktionen (Annehmen, Verwerfen, Ablehnen), IP-Intelligence-Ereignisse und TCP-Fehler generiert. Der Parser extrahiert Felder aus CSV- oder Syslog-formatierten Logs und ordnet sie dem Unified Data Model (UDM) zu.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agent und dem F5 BIG-IP-Gerät
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Privilegierter Zugriff auf F5 BIG-IP und F5 Advanced Firewall Management

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der BindPlane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

Fenstereinbau

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING (Wird ausgeführt) angezeigt werden.

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. Führen Sie dazu diesen Befehl aus:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als aktiv (wird ausgeführt) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/f5_afm:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: F5_AFM
            raw_log_field: body
    
    service:
        pipelines:
            logs/f5_afm_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/f5_afm
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf die gewartet werden soll:
      • 0.0.0.0, um alle Schnittstellen zu überwachen (empfohlen)
      • Port 5145 wird für die F5 AFM-Hochgeschwindigkeitsprotokollierung verwendet (an Ihre F5-Konfiguration anpassen).
  • Exporter-Konfiguration:

    • creds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Kunden-ID, die aus der Google SecOps Console kopiert wurde
    • endpoint: Regionale Endpunkt-URL:
      • USA: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Eine vollständige Liste finden Sie unter Regionale Endpunkte.

Konfigurationsdatei speichern

  • Speichern Sie die Datei nach der Bearbeitung:
    • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
    • Windows: Klicken Sie auf Datei > Speichern.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart observiq-otel-collector
    
    1. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    2. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agent unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Services-Konsole:

      1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
      2. Suchen Sie nach observIQ OpenTelemetry Collector.
      3. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Logs auf Fehler prüfen:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

F5 BIG-IP Advanced Firewall Manager aktivieren

  1. Melden Sie sich in der Verwaltungskonsole der BIG-IP-Appliance an.
  2. Gehen Sie zu System > Lizenz.
  3. Prüfen Sie, ob der Advanced Firewall Manager lizenziert und aktiviert ist.
  4. Um den Advanced Firewall Manager zu aktivieren, gehen Sie zu System > Ressource > Bereitstellung.
  5. Setzen Sie ein Häkchen in der Spalte „Bereitstellung“ und wählen Sie Nominal aus der Liste aus.
  6. Klicken Sie auf Senden.

Logging-Pool in F5 AFM konfigurieren

  1. Gehen Sie zu Lokaler Traffic > Pools.
  2. Klicken Sie auf Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen Namen für den Logging-Pool ein, z. B. logging_pool.
    • Health Monitor (Zustandsmonitor): Wählen Sie in der Liste Available (Verfügbar) die Option TCP aus und klicken Sie auf <<.
  4. Wählen Sie auf dem Tab Ressource in der Liste Knotenname den zuvor erstellten Logging Pool (Protokollierungspool) aus.
  5. Geben Sie im Feld Adresse die IP-Adresse des Bindplane-Agents ein.
  6. Geben Sie im Feld Service Port (Serviceport) 5145 oder einen anderen Port ein, den Sie im Bindplane-Agenten definiert haben.
  7. Klicken Sie auf Hinzufügen.
  8. Klicken Sie auf Beenden.

Ziel für formatiertes Log in F5 AFM konfigurieren

  1. Gehen Sie zu System> Protokolle> Konfiguration> Protokollziele.
  2. Klicken Sie auf Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen Namen für das Ziel des Logging-Formats ein, z. B. Logging_Format_Destination.
    • Beschreibung: Geben Sie eine Beschreibung ein.
    • Typ: Wählen Sie Remote-Syslog aus.
    • Syslog Format (Syslog-Format): Wählen Sie Syslog aus.
    • High-Speed Log Destination (Ziel für High-Speed-Logs): Wählen Sie das Ziel für High-Speed-Logs aus, z. B. Logging_HSL_Destination.
  4. Klicken Sie auf Fertig.

Log Publisher in F5 AFM konfigurieren

  1. Gehen Sie zu System > Protokolle > Konfiguration > Log Publishers.
  2. Klicken Sie auf Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen Namen für den Verlag oder Webpublisher ein, z. B. Log_Publisher.
    • Beschreibung: Geben Sie eine Beschreibung ein.
    • Ziele: Wählen Sie den Namen des Protokollziels aus, den Sie im Schritt Logging-Pool in F5 AFM konfigurieren erstellt haben, und klicken Sie auf <<, um Elemente der Liste Ausgewählt hinzuzufügen.

Logging-Profil in F5 AFM konfigurieren

  1. Rufen Sie Sicherheit > Ereignisprotokolle > Protokollierungsprofil auf.
  2. Klicken Sie auf Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen Namen für das Logprofil ein, z. B. Logging_Profile.
    • Network Firewall (Netzwerk-Firewall): Klicken Sie das Kästchen Aktiviert an.
    • Publisher: Wählen Sie den Log-Publisher aus, den Sie zuvor konfiguriert haben (z. B. Log_Publisher).
    • Log Rule Matches (Regelübereinstimmungen protokollieren): Aktivieren Sie die Kästchen Accept (Annehmen), Drop (Verwerfen) und Reject (Ablehnen).
    • IP-Fehler protokollieren: Wählen Sie das Kästchen Aktiviert aus.
    • TCP-Fehler protokollieren: Klicken Sie das Kästchen Aktiviert an.
    • TCP-Ereignisse protokollieren: Klicken Sie das Kästchen Aktiviert an.
    • Speicherformat: Wählen Sie Feldliste aus.
    • Trennzeichen: Geben Sie , (Komma) als Trennzeichen für Ereignisse ein.
    • Speicheroptionen: Wählen Sie in der Liste Verfügbare Elemente alle Optionen aus und klicken Sie auf <<.
    • Wählen Sie auf dem Tab IP Intelligence den konfigurierten Log-Publisher aus (z. B. Log_Publisher).
  4. Klicken Sie auf Fertig.

Zuordnung von Virtual Server-Profilen in F5 AFM konfigurieren

  1. Gehen Sie zu Lokaler Traffic > Virtuelle Server.
  2. Wählen Sie den zu ändernden virtuellen Server aus.
  3. Rufen Sie den Tab „Sicherheit“ > „Richtlinien“ auf.
  4. Wählen Sie in der Liste Log Profile (Log-Profil) die Option Enabled (Aktiviert) aus.
  5. Wählen Sie im Feld Profil die Option Logging_Profile aus und klicken Sie auf <<.
  6. Klicken Sie auf Aktualisieren.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
acl_policy_name security_result.detection_fields.acl_policy_name Wert von „column22“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column13“
acl_policy_type security_result.detection_fields.acl_policy_type Wert von column21, wenn das Logformat SYSLOG ist, andernfalls Wert von column18
acl_rule_name security_result.rule_name Wert von column23, wenn das Logformat SYSLOG ist, andernfalls Wert von column11
acl_rule_uuid security_result.rule_id Wert des Felds „acl_rule_uuid“ aus dem Grok-Muster
Aktion security_result.action Wenn der Wert von „column25“ Drop, Reject oder Block ist, dann BLOCK. Andernfalls, wenn der Wert von „column25“ Accept, Accept decisively, Established oder Allow ist, dann ALLOW.
attackID security_result.detection_fields.attackID Wert von column12, wenn das Logformat CSV ohne src_ip ist
bigip_hostname intermediary.hostname Wert von „column2“, wenn das Log-Format SYSLOG ist, andernfalls Wert von „column3“
bigip_ip intermediary.ip Wert von „column2“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column1“
context_name additional.fields.context_name.string_value Wert von „column4“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column10“, wenn „src_ip“ vorhanden ist, andernfalls Wert von „column5“
context_type additional.fields.context_type.string_value Wert von „column3“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column4“, wenn „src_ip“ vorhanden ist, andernfalls Wert von „column4“
dest_fqdn additional.fields.dest_fqdn.string_value Wert von „column7“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column13“
dest_geo additional.fields.dest_geo.string_value Wert von column14
dest_ip target.asset.ip, target.ip Wert von „column8“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column6“, wenn „src_ip“ vorhanden ist, andernfalls Wert von „column6“
dest_port target.port Wert von „column10“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column8“, wenn „src_ip“ vorhanden ist, andernfalls Wert von „column8“
drop_reason security_result.summary Wert von „column26“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column19“
eventId additional.fields.eventId.string_value Im Grok-Muster erfasster Wert
flow_id additional.fields.flow_id.string_value Wert von „column29“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column17“
loglevel security_result.severity Wenn der Wert des Felds „loglevel“ aus dem Grok-Muster warning, debug oder notice ist, dann MEDIUM. Wenn der Wert info oder informational ist, dann INFORMATIONAL. Wenn der Wert err oder error ist, dann HIGH. Wenn der Wert alert, crit oder emer ist, dann CRITICAL.
packetsReceived network.received_packets Wert von column15, wenn das Logformat CSV ohne src_ip ist
verarbeiten target.application Wert des Prozessfelds aus dem Grok-Muster
protocol_number_src network.ip_protocol Wert von „column12“, wenn das Logformat SYSLOG ist. Andernfalls wird der Wert aus der Variablen „ip_protocol_out“ extrahiert.
route_domain additional.fields.route_domain.string_value Wert von „column13“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column9“
source_fqdn additional.fields.source_fqdn.string_value Wert von „column5“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column7“
src_geo additional.fields.src_geo.string_value Wert von „column8“
src_ip principal.asset.ip, principal.ip Wert von „column6“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column9“, wenn das Logformat CSV ohne „src_ip“ ist, andernfalls Wert von „column5“
src_port principal.port Wert von „column9“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column7“, wenn das Logformat CSV ohne „src_ip“ ist, andernfalls Wert von „column7“
ts metadata.event_timestamp Wert des Felds „ts“ aus dem Grok-Muster
vlan additional.fields.vlan.string_value Wert von „column11“, wenn das Logformat SYSLOG ist, andernfalls Wert von „column21“
metadata.event_type Wenn src_ip und dest_ip vorhanden sind, dann NETWORK_CONNECTION, andernfalls, wenn nur src_ip vorhanden ist, dann STATUS_UPDATE, andernfalls GENERIC_EVENT
metadata.log_type F5_AFM
metadata.product_name Erweiterte Firewall-Verwaltung
metadata.vendor_name F5

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten