F5 AFM-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- 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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- 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
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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
- 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).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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
- Melden Sie sich in der Verwaltungskonsole der BIG-IP-Appliance an.
- Gehen Sie zu System > Lizenz.
- Prüfen Sie, ob der Advanced Firewall Manager lizenziert und aktiviert ist.
- Um den Advanced Firewall Manager zu aktivieren, gehen Sie zu System > Ressource > Bereitstellung.
- Setzen Sie ein Häkchen in der Spalte „Bereitstellung“ und wählen Sie Nominal aus der Liste aus.
- Klicken Sie auf Senden.
Logging-Pool in F5 AFM konfigurieren
- Gehen Sie zu Lokaler Traffic > Pools.
- Klicken Sie auf Erstellen.
- 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 <<.
- Wählen Sie auf dem Tab Ressource in der Liste Knotenname den zuvor erstellten Logging Pool (Protokollierungspool) aus.
- Geben Sie im Feld Adresse die IP-Adresse des Bindplane-Agents ein.
- Geben Sie im Feld Service Port (Serviceport)
5145
oder einen anderen Port ein, den Sie im Bindplane-Agent definiert haben. - Klicken Sie auf Hinzufügen.
- Klicken Sie auf Beenden.
Ziel für formatierte Logs in F5 AFM konfigurieren
- Gehen Sie zu System> Protokolle> Konfiguration> Protokollziele.
- Klicken Sie auf Erstellen.
- 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
.
- Name: Geben Sie einen Namen für das Ziel des Logging-Formats ein, z. B.
- Klicken Sie auf Fertig.
Log Publisher in F5 AFM konfigurieren
- Gehen Sie zu System> „Logs“ > „Konfiguration“ > „Log-Publisher“.
- Klicken Sie auf Erstellen.
- 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.
- Name: Geben Sie einen Namen für den Verlag oder Webpublisher ein, z. B.
Logging-Profil in F5 AFM konfigurieren
- Rufen Sie Sicherheit > Ereignisprotokolle > Protokollierungsprofil auf.
- Klicken Sie auf Erstellen.
- 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
).
- Klicken Sie auf Fertig.
Zuordnung von Profilen zu virtuellen Servern in F5 AFM konfigurieren
- Gehen Sie zu Lokaler Traffic > Virtuelle Server.
- Wählen Sie den zu ändernden virtuellen Server aus.
- Rufen Sie den Tab „Sicherheit“ > „Richtlinien“ auf.
- Wählen Sie in der Liste Log Profile (Protokollprofil) die Option Enabled (Aktiviert) aus.
- Wählen Sie im Feld Profil die Option Logging_Profile aus und klicken Sie auf <<.
- 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