ExtraHop-DNS-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie ExtraHop-DNS-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert JSON-formatierte Protokolle aus einem Rohnachrichtenstring. Nicht-JSON-Daten werden ignoriert. Anschließend werden bestimmte Felder aus dem extrahierten JSON den entsprechenden Feldern im Schema des Unified Data Model (UDM) zugeordnet. Dabei werden Datentypen konvertiert und unterschiedliche DNS-Antwortstrukturen verarbeitet, um eine einheitliche Darstellung zu gewährleisten.
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, müssen die Firewallports geöffnet sein.
- Privilegierter Zugriff auf ExtraHop DNS
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 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:yaml 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: 'EXTRAHOP_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 Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.
- Ersetzen 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 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
Syslog für ExtraHop Open Data Stream (DNS) konfigurieren
- Melden Sie sich mit
https://<extrahop-hostname-or-IP-address>/admin
in der ExtraHop-Administration an.
- Rufen Sie Systemkonfiguration > Datenstreams öffnen auf.
- Klicken Sie auf Ziel hinzufügen.
- Wählen Sie im Drop-down-Menü Zieltyp die Option Syslog aus.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen ein, um das Ziel zu identifizieren.
- Host: Geben Sie die IP-Adresse des Bindplane-Agents ein.
- Port: Geben Sie die Portnummer des Bindplane-Agents ein.
- Protocol (Protokoll): Wählen Sie je nach Bindplane-Konfiguration UDP oder TCP aus.
- Optional: Wählen Sie Ortszeit aus, um Syslog-Informationen mit Zeitstempeln in der lokalen Zeitzone zu senden.
- Klicken Sie auf Testen.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
ans.data |
network.dns.answers.data | Aus dem Feld data im Array answers im Rohlog extrahiert. |
ans.name |
network.dns.answers.name | Aus dem Feld name im Array answers im Rohlog extrahiert. |
ans.ttl |
network.dns.answers.ttl | Aus dem Feld ttl im Array answers im Rohlog extrahiert. In uinteger umgewandelt |
ans.typeNum |
network.dns.answers.type | Aus dem Feld typeNum im Array answers im Rohlog extrahiert. In uinteger umgewandelt |
ans_data |
network.dns.answers.data | Wird aus dem Feld ans_data im Rohlog extrahiert, wenn das Array answers nicht vorhanden ist. |
ans_name |
network.dns.answers.name | Wird aus dem Feld ans_name im Rohlog extrahiert, wenn das Array answers nicht vorhanden ist. |
ans_ttl |
network.dns.answers.ttl | Wird aus dem Feld ans_ttl im Rohlog extrahiert, wenn das Array answers nicht vorhanden ist. In uinteger umgewandelt |
client_ip |
principal.ip | Aus dem Feld client_ip im Rohlog extrahiert. |
dns_type |
network.dns.response | Wenn der Wert „response“ ist, wird „true“ zugeordnet, andernfalls nicht. In boolean umgewandelt |
dst_ip |
target.ip | Aus dem Feld dst_ip im Rohlog extrahiert. |
ip_or_host |
intermediary.hostname | Wenn ip_or_host keine gültige IP-Adresse ist, wird sie intermediary.hostname zugeordnet. |
ip_or_host |
intermediary.ip | Wenn ip_or_host eine gültige IP-Adresse ist, wird sie intermediary.ip zugeordnet. |
opcode |
network.dns.opcode | Aus dem Feld opcode im Rohlog extrahiert. Numerischen Werten zugeordnet, basierend auf dem Opcode-String (z.B. „QUERY“ -> 0). In uinteger umgewandelt |
qname |
network.dns.questions.name | Aus dem Feld qname im Rohlog extrahiert. |
qtype |
network.dns.questions.type | Aus dem Feld qtype im Rohlog extrahiert. Wird basierend auf dem String des Datensatztyps numerischen Werten zugeordnet (z.B. „A“ –> 1). In uinteger umgewandelt |
metadata.event_type | Legen Sie NETWORK_DNS fest. |
|
metadata.log_type | Legen Sie EXTRAHOP_DNS fest. |
|
network.application_protocol | Legen Sie DNS fest. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten