EfficientIP DDI-Logs erfassen

Parserversion:9.0

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 Address Management, NTP und TFTP bietet. Die Plattform bietet zentrales Management und Automatisierung für die Netzwerkinfrastruktur mit erweiterten Monitoring- und Sicherheitsfunktionen.

Hinweis

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 Webkonsole von EfficientIP SOLIDserver
  • SOLIDserver-Version 8.0 oder höher (getestet mit 8.3.x und 8.4.x)

Authentifizierungsdatei für die Google SecOps-Aufnahme 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.

Windows-Installation

  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. Warte, 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. Warte, bis die Installation abgeschlossen ist.

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

    sudo systemctl status observiq-otel-collector
    

    Der Dienststatus sollte Aktiv (wird ausgeführt) lauten.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie im Installationsleitfaden 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 auf UDP-Port 514 zu lauschen.
        • Verwenden Sie für Linux-Bereitstellungen ohne Root-Zugriff 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
        
      • Dienstkonsole:

        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 Webkonsole von EfficientIP SOLIDserver 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-Standard-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 überprü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 mit DNS-Abfrage- und Antwort-Ereignissen von SOLIDserver.
  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 Protokolltypen

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-Protokolle: Sicherheitsereignisse wie die Erkennung verdächtigen Verhaltens und Auslöser für das Scharf- und Unscharfschalten
  • 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, wenn es nicht leer ist.
domain_name additional.fields Wird als Label mit dem Schlüssel „domain_name“ zusammengeführt, wenn es nicht leer ist.
– Vermittler Aus einem Zwischenobjekt zusammengeführt
Beschreibung metadata.description Wert wird direkt kopiert, wenn er nicht leer ist
msg2 metadata.description Auf msg2 festgelegt, wenn event_type GENERIC_EVENT ist und description leer ist
su_cmd metadata.event_type Wird auf „PROCESS_OPEN“ gesetzt, wenn „su_cmd“ gleich „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“ setzen, 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“ festgelegt, wenn der Prozess „named“ ist und „has_dns_questions“ auf „true“ gesetzt ist; auf „STATUS_UPDATE“ festgelegt, wenn der Prozess „named“ ist und „has_principal“ auf „true“ gesetzt ist; auf „GENERIC_EVENT“ festgelegt, wenn der Prozess „named“ ist; auf „NETWORK_DHCP“ festgelegt, wenn der Prozess „dhcpd“ ist
PWD metadata.event_type Auf „PROCESS_OPEN“ gesetzt, wenn „PWD“ nicht leer ist und „has_target“ oder „has_principal“ „true“ ist.
activity_type metadata.product_event_type Wert direkt kopiert
– metadata.vendor_name Auf „EFFICIENTIP_DDI“ festgelegt
– metadata.product_name Auf „EFFICIENTIP_DDI DHCP“ festgelegt
activity_type network.application_protocol Auf „DNS“ festgelegt, 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“ festlegen, wenn der Prozess „named“ ist; auf „DHCP“ festlegen, 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 wird in „uinteger“ konvertiert, wenn er nicht leer oder „0“ ist.
dhcp_info network.dhcp.type Wird auf „INFORM“ gesetzt, wenn „dhcp_info“ „INFORM“ ist; auf „DISCOVER“, wenn „DISCOVER“; auf „OFFER“, wenn „OFFER“; auf „REQUEST“, wenn „REQUEST“; auf „ACK“, wenn „PACK“
yiaddr network.dhcp.yiaddr Wert direkt kopiert
src_ip network.dhcp.yiaddr Wird auf „src_ip“ gesetzt, 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 Wert in „uinteger“ konvertiert
response_code network.dns.response_code Wert, der dem numerischen Code zugeordnet und in „uinteger“ konvertiert wurde
transport network.ip_protocol Der Wert wird in Großbuchstaben angegeben, wenn er mit „udp“ oder „tcp“ übereinstimmt.
Beobachter observer.ip Wert in „ipaddress“ 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 Der 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 Der 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 Wert in Ganzzahl konvertiert
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 Wert in Ganzzahl konvertiert
target_cmd_line target.process.command_line Wert direkt kopiert
target_user target.user.userid Wert direkt kopiert
RR_msg event.idm.read_only_udm.metadata.description Aus dem Änderungsprotokoll zugeordnet
client_id event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
key_office event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
rrset_type event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
syslog_priority event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
updating_zone event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
view_office 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