F5 AFM-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie F5 Advanced Firewall Management-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser wandelt die Logs entweder aus SYSLOG- und CSV- oder CSV-Formaten in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Zuerst wird versucht, die Log-Nachricht mit Grok-Mustern zu parsen, die für das SYSLOG-Format spezifisch sind. Wenn das nicht gelingt, wird sie als CSV-Datei verarbeitet und Felder werden extrahiert und der UDM-Struktur zugeordnet.

Hinweise

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

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
  • Berechtigter 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 SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > „Profil“ 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
    

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
    

Zusätzliche Installationsressourcen

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

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

  1. Rufen Sie die Konfigurationsdatei auf:
    • Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'F5_AFM'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.
    • Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

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 bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Services verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

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-Agent definiert haben.
  7. Klicken Sie auf Hinzufügen.
  8. Klicken Sie auf Beenden.

Ziel für formatierte Logs 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> „Logs“ > „Konfiguration“ > „Log-Publisher“.
  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: 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: Klicken Sie das Kästchen Aktiviert an.
    • 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 Profilen zu virtuellen Servern 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 (Protokollprofil) 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. 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 Logformat 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