F5 DNS-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie F5 DNS-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus F5 DNS-Syslog-Nachrichten mithilfe von Grok-Mustern basierend auf dem Anwendungsfeld und ordnet sie dann dem einheitlichen Datenmodell (Unified Data Model, UDM) zu. Es verarbeitet verschiedene F5-Anwendungen wie gtmd
, mcpd
, big3d
und andere, parst bestimmte Felder und legt den entsprechenden UDM-Ereignistyp, die Schwere und die Beschreibungen basierend auf der Protokollebene und der Anwendung fest.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Ein Windows-Host mit Windows 2016 oder höher oder ein Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
- Zugriffsrechte für F5 BIG-IP
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 in der Installationsanleitung.
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 sie 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: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" 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 log_type: 'F5_DNS' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog 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 Kunden-ID. - Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Authentifizierungsdatei für die Google SecOps-Aufnahme 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 Dienste verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Pool von Remote-Logging-Servern konfigurieren
- Melden Sie sich in der Weboberfläche von F5 BIG-IP an.
- Rufen Sie auf dem Tab Main (Haupt) DNS > Delivery > Load Balancing > Pools oder Local Traffic > Pools auf.
- Klicken Sie auf Erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für den Pool ein.
- Einstellung Neue Mitglieder verwenden:
- Geben Sie die IP-Adresse des Bindplane-Agents in das Feld Adresse ein.
- Geben Sie im Feld Serviceport die Portnummer des Bindplane-Agents ein.
- Klicken Sie auf Hinzufügen> Fertig.
Remote-Logziel konfigurieren
- Gehen Sie auf dem Tab Main (Haupt) zu System > Logs > Configuration > Log Destinations (System > Protokolle > Konfiguration > Protokollziele).
- Klicken Sie auf Erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für dieses Ziel ein.
- Typ: Wählen Sie Remote High-Speed Log aus.
- Pool Name (Poolname): Wählen Sie den Pool von Remote-Log-Servern aus, an den das BIG-IP-System Log-Meldungen senden soll.
- Protokoll: Wählen Sie das verwendete Protokoll aus.
- Klicken Sie auf Fertig.
Formatiertes Remote-Logziel erstellen
- Gehen Sie auf dem Tab Main (Haupt) zu System > Logs > Configuration > Log Destinations (System > Protokolle > Konfiguration > Protokollziele).
- Klicken Sie auf Erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für dieses Ziel ein.
- Typ: Wählen Sie Remote-Syslog aus.
- Format: Wählen Sie das Logformat aus.
- Weiterleiten an: Wählen Sie High-Speed-Log-Ziel > das Ziel aus, das auf den Pool der Remote-Syslog-Server verweist.
- Klicken Sie auf Fertig.
Log Publisher konfigurieren
- Gehen Sie auf dem Tab Main (Haupt) zu System > Logs > Configuration > Log Publishers (System > Protokolle > Konfiguration > Log-Publisher).
- Klicken Sie auf Erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für diesen Publisher ein.
- Ziele: Wählen Sie das neu erstellte Ziel für Remote Syslog aus der Liste Verfügbar aus und klicken Sie dann auf keyboard_double_arrow_left Verschieben, um das Ziel in die Liste Ausgewählt zu verschieben.
- Klicken Sie auf Fertig.
Benutzerdefiniertes DNS-Logging-Profil konfigurieren
- Rufen Sie auf dem Tab Main (Haupt) DNS > Delivery > Profiles > Other > DNS Logging or Local Traffic > Profiles > Other > DNS Logging auf.
- Klicken Sie auf Erstellen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für dieses Profil ein.
- Log Publisher (Log-Publisher): Wählen Sie das neu erstellte Ziel aus, an das das System DNS-Logeinträge sendet.
- Anfragen protokollieren: Klicken Sie das Kästchen Aktiviert an.
- Antworten protokollieren: Klicken Sie das Kästchen Aktiviert an.
- Abfrage-ID einbeziehen: Aktivieren Sie das Kästchen Aktiviert.
- Klicken Sie auf Fertig.
DNS-Profil dem DNS-Listener hinzufügen
- Rufen Sie auf dem Tab Main (Haupt) DNS > Delivery > Listeners > select DNS listener (DNS > Bereitstellung > Listener > DNS-Listener auswählen) auf.
- Wählen Sie im Abschnitt Dienst unter DNS-Profil das zuvor konfigurierte DNS-Profil aus.
- Klicken Sie auf Aktualisieren.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
application |
principal.application |
Direkt aus dem Feld application zugeordnet. |
cipher_name |
network.tls.cipher |
Direkt aus dem Feld cipher_name zugeordnet. |
command_line |
principal.process.command_line |
Direkt aus dem Feld command_line zugeordnet. |
desc |
security_result.description |
Direkt aus dem Feld desc zugeordnet. |
desc_icrd |
security_result.description |
Direkt aus dem Feld desc_icrd zugeordnet. |
dest_ip |
target.ip |
Direkt aus dem Feld dest_ip zugeordnet. |
dest_port |
target.port |
Direkt aus dem Feld dest_port zugeordnet. |
file_path |
principal.process.file.full_path |
Direkt aus dem Feld file_path zugeordnet. Wird auf true gesetzt, wenn level „alert“ ist. Andernfalls ist der Wert nicht vorhanden. Wird auf true gesetzt, wenn level „alert“ ist. Andernfalls ist der Wert nicht vorhanden. |
msg3 |
security_result.description |
Direkt aus dem Feld msg3 zugeordnet, wenn application „run-parts“ ist. |
metadata.event_type |
Wird auf GENERIC_EVENT gesetzt, wenn event_type leer ist. Andernfalls wird der Wert aus event_type übernommen. Fest codiert auf „DNS“. Fest codiert auf „F5“. |
|
principal_hostname |
principal.hostname |
Direkt aus dem Feld principal_hostname zugeordnet. |
proc_id |
principal.process.pid |
Direkt aus dem Feld proc_id zugeordnet. |
received_bytes |
network.received_bytes |
Direkt aus dem Feld received_bytes zugeordnet. |
resource_id |
target.resource.id |
Direkt aus dem Feld resource_id zugeordnet. |
resource_parent |
principal.resource.parent |
Direkt aus dem Feld resource_parent zugeordnet. |
response_code |
network.http.response_code |
Direkt aus dem Feld response_code zugeordnet. Wird anhand des Felds level ermittelt. |
src_ip |
principal.ip |
Direkt aus dem Feld src_ip zugeordnet. |
src_port |
principal.port |
Direkt aus dem Feld src_port zugeordnet. |
tls_version |
network.tls.version |
Direkt aus dem Feld tls_version zugeordnet. |
userName |
principal.user.userid |
Direkt aus dem Feld userName zugeordnet. |
when |
event.timestamp |
Berechnet aus datetime1 und timezone oder datetime und timezone . |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten