F5‑DNS-Logs erfassen
Parserversion:5.0
In diesem Dokument wird beschrieben, wie Sie F5 DNS-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
F5 BIG-IP DNS ist eine DNS-Bereitstellungslösung, die Syslog-Nachrichten für DNS-Abfragen, ‑Antworten und Systemereignisse generiert. Der Parser extrahiert Felder aus 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 der F5 BIG-IP-Appliance
- 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
Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die 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 > Profile 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.
Windows-Installation
- Ö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" /quietWarte, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sc query observiq-otel-collectorDer Dienst sollte als RUNNING angezeigt werden.
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.shWarte, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sudo systemctl status observiq-otel-collectorDer 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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Konfigurationsdatei bearbeiten
Ersetzen Sie den gesamten Inhalt von
config.yamldurch die folgende Konfiguration:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/f5_dns: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: F5_DNS raw_log_field: body service: pipelines: logs/f5_dns_to_chronicle: receivers: - udplog exporters: - chronicle/f5_dns
Konfigurationsparameter
Ersetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
listen_address: IP-Adresse und Port, auf die gewartet werden soll:0.0.0.0, um auf allen Schnittstellen zuzuhören (empfohlen)- Port
514ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie1514für Nicht-Root).
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
- Linux:
customer_id: Die Kundennummer, die aus der Google SecOps Console kopiert wurdeendpoint: 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.
- USA:
Konfigurationsdatei speichern
- Speichern Sie die Datei nach der Bearbeitung:
- Linux: Drücken Sie
Ctrl+O, dannEnterund dannCtrl+X. - Windows: Klicken Sie auf Datei > Speichern.
- Linux: Drücken Sie
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-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agenten unter Windows neu zu starten:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorDienstkonsole:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Drücken Sie
Pool von Remote-Logging-Servern konfigurieren
- Melden Sie sich in der F5 BIG-IP-Web-UI 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.
- So verwenden Sie die Einstellung Neue Mitglieder:
- Geben Sie die IP-Adresse des Bindplane-Agents in das Feld Adresse ein.
- Geben Sie im Feld Service Port die Portnummer des Bindplane-Agents ein.
- Klicken Sie auf Hinzufügen > Fertig.
Remote-Logziel konfigurieren
- Rufen Sie auf dem Tab Main (Haupt) System > Logs > Configuration > Log Destinations (System > Protokolle > Konfiguration > Protokollziele) auf.
- 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 (Remote-Hochgeschwindigkeitslog) aus.
- Pool Name (Poolname): Wählen Sie den Pool mit Remote-Log-Servern aus, an den das BIG-IP-System Protokollmeldungen senden soll.
- Protokoll: Wählen Sie das verwendete Protokoll aus.
- Klicken Sie auf Fertig.
Formatiertes Remote-Logziel erstellen
- Rufen Sie auf dem Tab Main (Haupt) System > Logs > Configuration > Log Destinations (System > Protokolle > Konfiguration > Protokollziele) auf.
- 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 Destination > das Ziel aus, das auf den Pool der Remote-Syslog-Server verweist.
- Klicken Sie auf Fertig.
Log Publisher konfigurieren
- Rufen Sie auf dem Tab Main (Haupt) System > Logs > Configuration > Log Publishers (System > Protokolle > Konfiguration > Log-Publisher) auf.
- 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 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 (DNS-Logging) oder Local Traffic > Profiles > Other > DNS Logging (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: 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 einfügen: Klicken Sie das Kästchen Aktiviert an.
- 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 > Auslieferung > 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 nicht vorhanden. Wird auf true gesetzt, wenn level „alert“ ist. Andernfalls 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 bestimmt. |
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. |
query_response_code |
event.idm.read_only_udm.network.dns.response_code |
Aus dem Änderungsprotokoll zugeordnet |
User |
event.idm.read_only_udm.principal.user.userid |
Aus dem Änderungsprotokoll zugeordnet |
attemptCount |
event.idm.read_only_udm.security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
rule_id_val |
event.idm.read_only_udm.security_result.rule_id |
Aus dem Änderungsprotokoll zugeordnet |
query_type |
event.idm.read_only_udm.question.type |
Aus dem Änderungsprotokoll zugeordnet |
record_type |
event.idm.read_only_udm.question.type |
Aus dem Änderungsprotokoll zugeordnet |
dns_class |
event.idm.read_only_udm.network.dns.question.class |
Aus dem Änderungsprotokoll zugeordnet |
intermediary_host |
event.idm.read_only_udm.network.dns.answer.data |
Aus dem Änderungsprotokoll zugeordnet |
intermediary_ip |
event.idm.read_only_udm.network.dns.answer.data |
Aus dem Änderungsprotokoll zugeordnet |
ttl_data |
event.idm.read_only_udm.network.dns.answer.ttl |
Aus dem Änderungsprotokoll zugeordnet |
dns_answer_domain |
event.idm.read_only_udm.network.dns.answer.name |
Aus dem Änderungsprotokoll zugeordnet |
qclass |
event.idm.read_only_udm.network.dns.answer.class |
Aus dem Änderungsprotokoll zugeordnet |
dns_name |
event.idm.read_only_udm.question.name |
Aus dem Änderungsprotokoll zugeordnet |
src_ip |
event.idm.read_only_udm.principal.asset.ip |
Aus dem Änderungsprotokoll zugeordnet |
dest_ip |
event.idm.read_only_udm.target.asset.ip |
Aus dem Änderungsprotokoll zugeordnet |
user |
event.idm.read_only_udm.principal.user.userid |
Aus dem Änderungsprotokoll zugeordnet |
host |
event.idm.read_only_udm.principal.ip und event.idm.read_only_udm.principal.asset.ip |
Aus dem Änderungsprotokoll zugeordnet |
partition |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
level |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
attempts |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
tty |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
start |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
end |
event.idm.read_only_udm.additional.fields |
Aus dem Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten