LogonBox-Logs erfassen

Unterstützt in:

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

LogonBox ist eine Self-Service-Plattform für die Passwortverwaltung und Identitätsüberprüfung. Es werden Audit-Logs für das Zurücksetzen von Passwörtern, Identitätsbestätigungen und Administratoraktionen generiert. Der Parser ordnet LogonBox-Auditing-Daten dem Unified Data Model (UDM) zu und erfasst Nutzeridentitäten, Authentifizierungsereignisse, Ressourcenänderungen und Gruppenverwaltungsoperationen.

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 LogonBox-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 die LogonBox-Verwaltungskonsole

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 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/logonbox:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: LOGONBOX
            raw_log_field: body
    
    service:
        pipelines:
            logs/logonbox:
                receivers:
                    - udplog
                exporters:
                    - chronicle/logonbox
    

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

LogonBox-Syslog-Weiterleitung konfigurieren

  1. Melden Sie sich als Administrator in der LogonBox-Admin-Konsole an.
  2. Klicken Sie auf Berichte> Audit-Log.
  3. Konfigurieren Sie die Syslog-Export-Einstellungen:
    • Syslog-Server: Geben Sie die IP-Adresse des BindPlane-Agent-Hosts ein (z. B. 192.168.1.100).
    • Port: Geben Sie 514 ein (muss mit dem BindPlane-Empfängerport übereinstimmen).
    • Protokoll: Wählen Sie UDP aus (muss mit dem Bindplane-Empfängertyp übereinstimmen).
  4. Wählen Sie die Ereigniskategorien aus, die weitergeleitet werden sollen, z. B. Passwortzurücksetzungen, Identitätsbestätigungen, Nutzer- und Gruppenverwaltung.
  5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
additional.fields Zusammengeführt aus attr_associatedPrincipals_label, sAMAccountName_label, attr_local_label, msDS-PrincipalName_label, attr_realmType_label, attr_selfCreated_label, attr_administrative_label basierend auf Bedingungen
attr_principalDesc, desc metadata.description Wert aus „attr_principalDesc“, wenn „product_event_type“ mit „changePassword“ oder „SessionService“ übereinstimmt, andernfalls aus „attr_principalDesc“, wenn nicht leer, andernfalls aus „desc“
event_type metadata.event_type Der Wert wird direkt aus „event_type“ kopiert, nachdem er durch die bedingte Logik basierend auf „product_event_type“ und Anwesenheitskennzeichnungen festgelegt wurde.
product_event_type metadata.product_event_type Wert direkt kopiert
metadata.product_name Auf „LogonBox“ festgelegt
metadata.vendor_name Auf „LOGONBOX“ festgelegt
network.application_protocol Auf „DNS“ festlegen, wenn „product_event_type“ mit „AnswerService“ übereinstimmt und die Bedingungen erfüllt sind
dns_answer network.dns.answers Zusammengeführt aus dns_answer
dns_question network.dns.questions Zusammengeführt aus dns_question
attr_userAgent, attr_userAgentVersion network.http.parsed_user_agent Wird aus attr_userAgent und attr_userAgentVersion verkettet, falls beide vorhanden sind, andernfalls aus attr_userAgent. Anschließend wird der Wert in parseduseragent konvertiert und umbenannt.
attr_userAgent, attr_userAgentVersion network.http.user_agent Wird aus „attr_userAgent“ und „attr_userAgentVersion“ verkettet, wenn beide vorhanden sind, andernfalls aus „attr_userAgent“.
Hostname principal.asset.hostname Wert direkt kopiert
attr_ipAddress principal.asset.ip Wert direkt kopiert
Hostname principal.hostname Wert direkt kopiert
attr_ipAddress principal.ip Wert direkt kopiert
attr_os principal.platform In Großbuchstaben und festgelegt, wenn Übereinstimmungen (?i)LINUX|MAC|WINDOWS
attr_osVersion principal.platform_version Der Wert wird direkt kopiert, wenn er nicht mit (?i)unknown übereinstimmt.
attr_principalRealm_label, attr_unassignedRoles_label, attr_assignedRoles_label, attr_oldResourceName_label, attr_roles_label, attr_resumedPrincipalName_label, attr_resumedPrincipalRealm_label, attr_resumedPrincipal_label, attr_module_label, reconcile_map_label, users_map_label, groups_map_label, createUser_map_label, user_map_label, mobile_map_label principal.resource.attribute.labels Zusammengeführt aus verschiedenen Labels, die aus attr_principalRealm, attr_unassignedRoles, attr_assignedRoles, attr_oldResourceName, attr_roles, attr_resumedPrincipalName, attr_resumedPrincipalRealm, attr_resumedPrincipal, attr_module und Maps aus reconcile, users, groups, createUser, user, mobile basierend auf Bedingungen erstellt wurden
attr_resourceName principal.resource.name Wert direkt kopiert
attr_resourceId principal.resource.product_object_id Wert direkt kopiert
mail principal.user.email_addresses Wird zusammengeführt, wenn die E‑Mail-Adresse gültig ist.
ImmutableID, attr_uuid principal.user.product_object_id Wert aus ImmutableID, wenn product_event_type mit changePassword|userUpdated|userCreated|setPassword|answer|accountUnlockNoSuspension übereinstimmt, andernfalls aus attr_uuid
attr_scheme principal.user.role_name Wert direkt kopiert
attr_principalDesc principal.user.user_display_name Wert wird direkt kopiert, wenn „product_event_type“ mit „changePassword|SessionService“ übereinstimmt
attr_principalName principal.user.userid Wert direkt kopiert
authy_code_length_label, authy_window_length_label, authy_step_size_label, msauthenticator_code_length_label, msauthenticator_window_length_label, msauthenticator_step_size_label, googleUser_code_length_label, googleUser_window_length_label, googleUser_step_size_label security_result.detection_fields Zusammengeführt aus Labels, die aus „authy.code.length“, „authy.window.length“, „authy.step.size“, „msauthenticator.code.length“, „msauthenticator.window.length“, „msauthenticator.step.size“, „googleUser.code.length“, „googleUser.window.length“ und „googleUser.step.size“ erstellt wurden, sofern vorhanden
cn target.resource.attribute.labels Zusammengeführt aus „full_name_label“ (erstellt aus „cn“) und „attr_disabledRealm_label“ (aus „attr_disabledRealm“)
attr_lastModified target.resource.attribute.last_update_time Datum, das aus „attr_lastModified“ im ISO 8601-Format oder im Format „d MMM yyyy HH:mm:ss“ geparst wurde
attr_created target.resource.attribute.creation_time Datum, das aus „attr_created“ im ISO8601-Format oder im Format „d MMM yyyy HH:mm:ss“ geparst wurde
givenName target.user.first_name Wert direkt kopiert
ou target.user.group_identifiers Zusammengeführt aus der Organisationseinheit, wenn „product_event_type“ mit „userUpdated“, „userCreated“, „changePassword“, „setPassword“, „answer“ oder „accountUnlockNoSuspension“ übereinstimmt
sn target.user.last_name Wert direkt kopiert
attr_uuid, attr_disabledPrincipal target.user.product_object_id Wert aus „attr_uuid“, wenn „product_event_type“ mit „userUpdated|userCreated|changePassword|setPassword|answer|accountUnlockNoSuspension“ oder „groupCreated|groupUpdated“ oder „attr_group“ oder „group“ übereinstimmt, andernfalls aus „attr_disabledPrincipal“, wenn „accountDisabled“
displayName, description target.user.user_display_name Wert aus „displayName“, falls nicht leer, andernfalls aus „description“, wenn „product_event_type“ mit „userUpdated“, „userCreated“, „changePassword“, „setPassword“, „answer“, „accountUnlockNoSuspension“ übereinstimmt
userPrincipalName, attr_user, attr_associatedPrincipals, attr_disabledPrincipalName target.user.userid Wert aus userPrincipalName, wenn product_event_type mit userUpdated|userCreated|changePassword|setPassword|answer|accountUnlockNoSuspension übereinstimmt, andernfalls attr_user, falls nicht festgelegt, andernfalls attr_associatedPrincipals, falls groupCreated|groupUpdated oder attr_group, andernfalls attr_user, falls group, andernfalls attr_disabledPrincipalName, falls accountDisabled
attr_group target.group.group_display_name Der Wert wird direkt kopiert, wenn „product_event_type“ mit „groupCreated“ | „groupUpdated“ übereinstimmt oder „attr_group“ vorhanden ist.
attr_uuid target.group.product_object_id Der Wert wird direkt kopiert, wenn „product_event_type“ mit „groupCreated“ | „groupUpdated“ übereinstimmt oder „attr_group“ vorhanden ist.

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