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-Agenten und dem OpenLDAP-Server
  • Wenn der Agent hinter einem Proxy ausgeführt wird, 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-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 > Profil 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 Dienst sollte als RUNNING 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. Warte, 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 im Installationsanleitung für den Bindplane-Agenten.

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 auf allen Schnittstellen zuzuhören (empfohlen)
      • Bestimmte IP-Adresse, die auf einer Schnittstelle überwacht werden soll
    • 514: Portnummer, auf der gelauscht 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. Prüfen Sie die Logs auf Fehler:

    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 Console:
      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. Rechtsklicken Sie und wählen Sie Neu starten aus.
  2. Prüfen Sie, ob der Dienst ausgeführt wird:

    sc query observiq-otel-collector
    
  3. Prüfen Sie die Logs auf Fehler:

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

OpenLDAP-Syslog-Weiterleitung konfigurieren

OpenLDAP (slapd) kann so konfiguriert werden, dass es über Syslog protokolliert. 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 Syslog-Einrichtung local4. 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 Legen Sie „AUTHTYPE_UNSPECIFIED“ fest.
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 Haupt-IP-Adresse vorhanden ist, auf „USER_UNCATEGORIZED“, wenn der Nutzer vorhanden ist, und auf „USER_LOGIN“, wenn der Zeitstempel 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 (nach Ersetzen von - durch .), prin_ip, caller_ip, r_ip_or_host (wenn 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 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 der 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“ festgelegt
metadata.vendor_name Auf „OpenLDAP“ festgelegt
eventType event.idm.read_only_udm.metadata.product_event_type Aus Änderungsprotokoll zugeordnet
cn event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
sequenceId event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
dc_2 event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
dc_3 event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
dc event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
dc_1 event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
user event.idm.read_only_udm.principal.user.userid Aus Änderungsprotokoll zugeordnet
path event.idm.read_only_udm.principal.process.file.full_path Aus Änderungsprotokoll zugeordnet
ip1 principal.ip Aus Änderungsprotokoll zugeordnet
base", "err", "attr", "tag", "scope", and "valueData additional.fields Aus Änderungsprotokoll zugeordnet
security_result.action ALLOW Aus Ä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