OpenLDAP-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie OpenLDAP-Logs mit Bindplane in Google Security Operations aufnehmen.

OpenLDAP ist ein Open-Source-LDAP-Verzeichnisserver, der Zugriffs-, Audit- und Replikationslogs generiert. Der Parser extrahiert Felder aus OpenLDAP-Logeinträgen und ordnet sie dem einheitlichen Datenmodell (Unified Data Model, UDM) zu. Dabei werden Nutzeridentität, Authentifizierungsereignisse, LDAP-Vorgänge und Sicherheitsergebnisse erfasst.

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 dem OpenLDAP-Server
  • 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 den OpenLDAP-Server mit Root- oder Administratorberechtigungen

Authentifizierungsdatei für die Google SecOps-Datenaufnahme 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 Dienst sollte als RUNNING (Wird ausgeführt) angezeigt werden.

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 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 systemctl status observiq-otel-collector
    
  • Windows:

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

Konfigurationsdatei bearbeiten

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

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/openldap:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: OPENLDAP
            raw_log_field: body
    
    service:
        pipelines:
            logs/openldap:
                receivers:
                    - udplog
                exporters:
                    - chronicle/openldap
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • udplog: Der Empfängertyp basierend auf dem Protokoll:
      • udplog für UDP-Syslog
      • tcplog für TCP-Syslog
      • syslog für RFC 3164/5424-Syslog
    • 0.0.0.0: IP-Adresse, auf der gelauscht werden soll:
      • 0.0.0.0, um alle Schnittstellen zu überwachen (empfohlen)
      • Bestimmte IP-Adresse, die auf einer Schnittstelle überwacht werden soll
    • 514: Portnummer, die überwacht werden soll (z. B. 514, 1514, 6514)
  • Exporter-Konfiguration:

    • <customer_id>: Kunden-ID aus dem vorherigen Schritt
    • malachiteingestion-pa.googleapis.com: 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.
    • Passen Sie creds_file_path je nach Plattform an:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json

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
    
    • Dienste-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"
    

OpenLDAP-Syslog-Weiterleitung konfigurieren

OpenLDAP (slapd) kann für die Protokollierung über syslog konfiguriert werden. Konfigurieren Sie den Syslog-Daemon so, dass OpenLDAP-Logs an den BindPlane-Agenten weitergeleitet werden.

  1. Prüfen Sie, ob OpenLDAP für die Protokollierung in syslog konfiguriert ist. Prüfen Sie slapd.conf oder cn=config auf die loglevel-Anweisung:

    loglevel stats conns
    
  2. OpenLDAP protokolliert standardmäßig in der local4-Syslog-Einrichtung. Konfigurieren Sie rsyslog so, dass diese Logs an den BindPlane-Agenten weitergeleitet werden. Konfigurationsdatei erstellen:

    sudo nano /etc/rsyslog.d/openldap-forward.conf
    
  3. Fügen Sie den folgenden Inhalt hinzu:

    local4.* @BINDPLANE_AGENT_IP:514
    
  4. Starten Sie den rsyslog-Dienst neu:

    sudo systemctl restart rsyslog
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
op, fd, ou, cn, dc, dc1, base1, base2, base3, scope_data, valueData, method, filter, tag_data, err, attrData, ou_2, ou_1, syslog_message, immutable_user_id, resource additional.fields Mit Labels zusammengeführt, die aus diesen Feldern erstellt wurden
extensions.auth.type Auf „AUTHTYPE_UNSPECIFIED“ festgelegt
caller_ip, proxy1_ip, proxy2_ip Vermittler Zusammengeführt aus „intermediary“, „proxy_1“, „proxy_2“
msg1, inner_message metadata.description Wert aus msg1 oder inner_message
metadata.event_type Anfangs auf „GENERIC_EVENT“ festgelegt, dann auf „STATUS_UPDATE“, wenn die IP-Adresse des Hauptnutzers vorhanden ist, auf „USER_UNCATEGORIZED“, wenn der Nutzer vorhanden ist, und auf „USER_LOGIN“, wenn „timestamp“ oder „inner_ts“ vorhanden ist.
ldap_action metadata.product_event_type Wert aus „ldap_action“ in Kleinbuchstaben
ldap_conn metadata.product_log_id Wert aus „ldap_conn“ nach dem Entfernen von „conn=“
user_agent network.http.user_agent Wert direkt kopiert
session_id network.session_id Wert direkt kopiert
principal_ip, prin_ip, caller_ip, r_ip_or_host, proxy_client_ip, src_ip, client_ip principal.asset.ip Zusammengeführt aus „principal_ip“ (nachdem „-“ durch „.“ ersetzt wurde), „prin_ip“, „caller_ip“, „r_ip_or_host“ (falls IP), „proxy_client_ip“, „src_ip“, „client_ip“
r_ip_or_host, src_host principal.hostname Wert aus r_ip_or_host, wenn Hostname, andernfalls src_host
principal_ip, prin_ip, caller_ip, r_ip_or_host, proxy_client_ip, src_ip, client_ip principal.ip Zusammengeführt aus „principal_ip“ (nachdem „-“ durch „.“ ersetzt wurde), „prin_ip“, „caller_ip“, „r_ip_or_host“ (falls IP), „proxy_client_ip“, „src_ip“, „client_ip“
country principal.location.country_or_region Wert direkt kopiert
prin_port, port, src_port principal.port Wert aus „prin_port“, „port“ oder „src_port“, in eine Ganzzahl konvertiert
syslog_process principal.process.file.full_path Wert direkt kopiert
syslog_pid principal.process.pid Wert direkt kopiert
org_name principal.user.company_name Wert direkt kopiert
user, cn, uid principal.user.userid Wert aus „user“, „cn“ oder „uid“
security_result security_result Direkt zusammengeführt
action, sec_action security_result.action Wert aus „action“ (basierend auf Fehlercodes) oder „sec_action“ (basierend auf „login_status“)
resource, immutable_user_id security_result.detection_fields Mit Labels aus Ressource und „immutable_user_id“ zusammengeführt
inner_descrption, security_description security_result.description Wert aus inner_description oder security_description
tuser, username, userid target.user.userid Wert aus „tuser“, „username“ oder „userid“
metadata.product_name Auf „OpenLDAP“ festlegen
metadata.vendor_name Auf „OpenLDAP“ festlegen
eventType event.idm.read_only_udm.metadata.product_event_type Aus dem Änderungsprotokoll zugeordnet
cn event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
sequenceId event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
dc_2 event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
dc_3 event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
dc event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
dc_1 event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
user event.idm.read_only_udm.principal.user.userid Aus dem Änderungsprotokoll zugeordnet
path event.idm.read_only_udm.principal.process.file.full_path Aus dem Änderungsprotokoll zugeordnet
ip1 principal.ip Aus dem Änderungsprotokoll zugeordnet
base", "err", "attr", "tag", "scope", and "valueData additional.fields Aus dem Änderungsprotokoll zugeordnet
security_result.action ALLOW Aus dem Änderungsprotokoll zugeordnet
security_result.action BLOCK 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