EfficientIP DDI-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie EfficientIP DDI-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

EfficientIP SOLIDserver ist eine umfassende DDI-Lösung (DNS-DHCP-IPAM), die hochgradig skalierbare, sichere und robuste virtuelle und Hardware-Appliances für kritische Netzwerkdienste wie DNS, DHCP, IP-Adressverwaltung, NTP und TFTP bietet. Die Plattform bietet zentrales Management und Automatisierung für die Netzwerkinfrastruktur mit erweiterten Monitoring- und Sicherheitsfunktionen.

Hinweise

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

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder ein Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agent und der EfficientIP SOLIDserver-Appliance
  • Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
  • Administratorzugriff auf die EfficientIP SOLIDserver-Webkonsole
  • SOLIDserver-Version 8.0 oder höher (getestet mit 8.3.x und 8.4.x)

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die 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 > Profile 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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienststatus sollte RUNNING lauten.

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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienststatus sollte active (running) lauten.

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.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  1. Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/efficientip_ddi:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: EFFICIENTIP_DDI
        raw_log_field: body
        ingestion_labels:
          env: production
          source: solidserver
    
    service:
      pipelines:
        logs/efficientip_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/efficientip_ddi
    
  2. Ersetzen Sie die folgenden Platzhalter:

    • Empfängerkonfiguration:

      • listen_address: Auf 0.0.0.0:514 setzen, um an allen Schnittstellen an UDP-Port 514 zu lauschen.
        • Verwenden Sie für Linux-Deployments ohne Root-Berechtigung den Port 1514 oder höher.
        • Der Port muss mit der Konfiguration in SOLIDserver übereinstimmen.
    • 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
      • customer_id: Ersetzen Sie YOUR_CUSTOMER_ID durch die Kunden-ID aus dem vorherigen Schritt.

      • endpoint: Regionaler Endpunkt:

        • 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.
      • log_type: Auf EFFICIENTIP_DDI festlegen (genaue Übereinstimmung erforderlich).

      • ingestion_labels: Optionale Labels zum Kategorisieren von Logs (nach Bedarf anpassen).

Konfigurationsdatei speichern

Speichern Sie die Datei nach der Bearbeitung:

  • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
  • Windows: Klicken Sie auf Datei > Speichern.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • So starten Sie den Bindplane-Agent unter Linux neu:

    1. Führen Sie dazu diesen Befehl aus:

      sudo systemctl restart observiq-otel-collector
      
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    3. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • So starten Sie den Bindplane-Agent unter Windows neu:

    1. Wählen Sie eine der folgenden Optionen aus:

      • Eingabeaufforderung oder PowerShell als Administrator:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Services-Konsole:

        1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
        2. Suchen Sie nach observIQ OpenTelemetry Collector.
        3. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sc query observiq-otel-collector
      
    3. Logs auf Fehler prüfen:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

Syslog-Weiterleitung für EfficientIP DDI konfigurieren

  1. Melden Sie sich in der EfficientIP SOLIDserver-Webkonsole an.
  2. Klicken Sie links im Navigationsmenü auf Verwaltung.
  3. Klicken Sie im Bereich Monitoring auf Konfiguration.
  4. Klicken Sie im Menü auf + Hinzufügen.
  5. Wählen Sie in der Liste Dienste die folgenden Dienste aus: named (für DNS-Logs)
  6. Geben Sie im Feld Zielserver die IP-Adresse und den Port des Bindplane-Agent-Hosts im Format <ip-address>:<port> ein.
    • Beispiel: 192.168.1.100:514
    • Wenn Sie unter Linux einen nicht standardmäßigen Port verwenden, geben Sie den Port entsprechend an (z. B. 192.168.1.100:1514).
  7. Klicken Sie auf OK, um die Konfiguration zu speichern.

Logweiterleitung prüfen

  1. Prüfen Sie die BindPlane-Agentenlogs, um zu bestätigen, dass Logs empfangen werden:
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  2. Suchen Sie nach Logeinträgen, die DNS-Abfrage- und Antwort-Ereignisse von SOLIDserver enthalten.
  3. Melden Sie sich in der Google SecOps-Konsole an und prüfen Sie, ob die EfficientIP DDI-Protokolle auf der Seite Events (Ereignisse) angezeigt werden.

Unterstützte Logtypen

Durch diese Integration werden die folgenden Logtypen von EfficientIP SOLIDserver erfasst:

  • DNS-Abfragelogs: Client-DNS-Abfragen mit Abfragetyp, Domainname und Client-IP
  • DNS-Antwortlogs: DNS-Antworten mit Antwort-Einträgen, TTL und Antwortcodes
  • DHCP-Logs: DHCP-Vorgänge wie DISCOVER, OFFER, REQUEST, ACK, NAK, RELEASE und INFORM
  • DNS Guardian-Logs: Sicherheitsereignisse wie die Erkennung verdächtigen Verhaltens und Auslöser für die Aktivierung/Deaktivierung
  • DNS-Zonenübertragungsprotokolle: Zonenübertragungsvorgänge und ‑benachrichtigungen
  • DNS-Fehlerlogs: Formatierungsfehler, SERVFAIL, REFUSED und andere DNS-Fehler

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
ip_version additional.fields Wird als Label mit dem Schlüssel „ip_version“ zusammengeführt, sofern nicht leer
message_size additional.fields Wird als Label mit dem Schlüssel „message_size“ zusammengeführt, sofern nicht leer
domain_name additional.fields Wird als Label mit dem Schlüssel „domain_name“ zusammengeführt, sofern nicht leer
Vermittler Aus Zwischenobjekt zusammengeführt
Beschreibung metadata.description Wert wird direkt kopiert, wenn er nicht leer ist
msg2 metadata.description Wird auf „msg2“ festgelegt, wenn „event_type“ GENERIC_EVENT ist und „description“ leer ist.
su_cmd metadata.event_type Auf „PROCESS_OPEN“ festlegen, wenn „su_cmd“ „sudo“ ist
activity_type metadata.event_type Auf „NETWORK_DNS“ festgelegt, wenn „activity_type“ mit „dns“ übereinstimmt und „has_dns_questions“ „true“ ist
Nachricht metadata.event_type Auf „NETWORK_DHCP“ festgelegt, wenn die Nachricht mit DHCP übereinstimmt
inner_message metadata.event_type Auf „NETWORK_UNCATEGORIZED“ festgelegt, wenn „inner_message“ mit bestimmten Mustern übereinstimmt und „has_principal“ und „has_target“ auf „true“ gesetzt sind.
verarbeiten metadata.event_type Auf „NETWORK_DNS“ setzen, wenn der Prozess „named“ ist und „has_dns_questions“ auf „true“ gesetzt ist; auf „STATUS_UPDATE“ setzen, wenn der Prozess „named“ ist und „has_principal“ auf „true“ gesetzt ist; auf „GENERIC_EVENT“ setzen, wenn der Prozess „named“ ist; auf „NETWORK_DHCP“ setzen, wenn der Prozess „dhcpd“ ist
PWD metadata.event_type Auf „PROCESS_OPEN“ gesetzt, wenn PWD nicht leer ist und „has_target“ oder „has_principal“ auf „true“ gesetzt ist.
activity_type metadata.product_event_type Wert direkt kopiert
metadata.vendor_name Auf „EFFICIENTIP_DDI“ festgelegt
metadata.product_name Auf „EFFICIENTIP_DDI DHCP“ festlegen
activity_type network.application_protocol Wird auf „DNS“ gesetzt, wenn „activity_type“ mit „dns“ übereinstimmt und „has_dns_questions“ „true“ ist.
Nachricht network.application_protocol Auf „DHCP“ setzen, wenn die Nachricht mit „dhcp“ übereinstimmt
verarbeiten network.application_protocol Auf „DNS“ setzen, wenn der Prozess „named“ ist; auf „DHCP“ setzen, wenn der Prozess „dhcpd“ ist
src_mac network.dhcp.chaddr Wert wird direkt kopiert, wenn der Prozess „dhcpd“ ist
src_ip network.dhcp.ciaddr Wert wird direkt kopiert, wenn dhcp_info „REQUEST“ ist
giaddr network.dhcp.giaddr Wert direkt kopiert
dhcp_info network.dhcp.opcode Auf „BOOTREQUEST“ festlegen, wenn „dhcp_info“ „INFORM“, „DISCOVER“ oder „REQUEST“ ist; auf „BOOTREPLY“ festlegen, wenn „dhcp_info“ „OFFER“ oder „ACK“ ist
siaddr network.dhcp.siaddr Wert direkt kopiert
transaction_id network.dhcp.transaction_id Wert, der in „uinteger“ konvertiert wird, wenn er nicht leer oder „0“ ist
dhcp_info network.dhcp.type Auf „INFORM“ festgelegt, wenn „dhcp_info“ „INFORM“ ist; auf „DISCOVER“ festgelegt, wenn „DISCOVER“; auf „OFFER“ festgelegt, wenn „OFFER“; auf „REQUEST“ festgelegt, wenn „REQUEST“; auf „ACK“ festgelegt, wenn „PACK“
yiaddr network.dhcp.yiaddr Wert direkt kopiert
src_ip network.dhcp.yiaddr Wird auf „src_ip“ festgelegt, wenn der Prozess „dhcpd“ ist und „yiaddr“ leer ist.
answer_rrs network.dns.answers Zusammengeführt aus Antwortobjekt für jede rd in answer_rrs
network.dns.questions Wird aus dem Fragenobjekt zusammengeführt, wenn „has_dns_questions“ auf „true“ gesetzt ist.
rcode network.dns.response_code In „uinteger“ konvertierter Wert
response_code network.dns.response_code Wert, der dem numerischen Code zugeordnet und in „uinteger“ umgewandelt wird
transport network.ip_protocol Der Wert wird in Großbuchstaben angegeben, wenn er mit „udp“ oder „tcp“ übereinstimmt.
Beobachter observer.ip Wert in IP-Adresse konvertiert
su_cmd principal.application Wert wird direkt kopiert, wenn „su_cmd“ „sudo“ ist.
verarbeiten principal.application Wird auf „process“ gesetzt, wenn der Prozess „named“ oder „dhcpd“ ist.
Host principal.asset.hostname Wert wird direkt kopiert, wenn er nicht leer ist
Hostname principal.asset.hostname Wert wird direkt kopiert, wenn er nicht leer ist und der Host leer ist
src_ip principal.asset.ip Wert direkt kopiert
asset_id principal.asset_id Verkettet als „ID:“ + asset_id
Host principal.hostname Wert wird direkt kopiert, wenn er nicht leer ist
Hostname principal.hostname Wert wird direkt kopiert, wenn er nicht leer ist und der Host leer ist
domain_name principal.hostname Wert wird direkt kopiert, wenn die Beschreibung den Hostnamen enthält und Host/Hostname leer sind
src_ip principal.ip Der Wert wird direkt kopiert, wenn die Konvertierung in „ipaddress“ erfolgreich ist. Andernfalls wird er aus der Beschreibung extrahiert, wenn „src_ip“ leer ist.
src_mac principal.mac Wert direkt kopiert
src_port principal.port In Ganzzahl konvertierter Wert
process_id principal.process.pid Wert direkt kopiert
source_user principal.user.userid Wert direkt kopiert
security_result Zusammengeführt aus sec_result
dst_ip target.asset.ip Wert direkt kopiert
file_path target.file.full_path Wert direkt kopiert
dst_ip target.hostname Wert wird direkt kopiert, wenn er keine gültige IP-Adresse ist
Host target.hostname Wert wird direkt kopiert, wenn „inner_message“ bestimmten Mustern entspricht
dst_ip target.ip Wert direkt kopiert
dst_port target.port In Ganzzahl konvertierter Wert
target_cmd_line target.process.command_line Wert direkt kopiert
target_user target.user.userid Wert direkt kopiert

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten