SecureAuth Identity Platform-Logs erfassen

Unterstützt in:

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

SecureAuth Identity Platform ist eine Lösung für die Einmalanmeldung und Identitätsverwaltung, die Syslog-Nachrichten für Authentifizierungsereignisse, Sitzungsaktivitäten, Entscheidungen zur Zugriffssteuerung und Audit-Trails generiert. Der Parser extrahiert Felder aus Syslog- und XML-formatierten Logs mithilfe von Grok-Mustern und ordnet sie dem Unified Data Model (UDM) zu.

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 der SecureAuth Identity Platform
  • 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 SecureAuth

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.
  4. 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.

Syslog konfigurieren und an Google SecOps senden

Konfigurationsdatei suchen

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • 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/secureauth_sso:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: SECUREAUTH_SSO
            raw_log_field: body
    
    service:
        pipelines:
            logs/secureauth_sso_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/secureauth_sso
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf die gewartet werden soll:
      • 0.0.0.0, um alle Schnittstellen zu überwachen (empfohlen)
      • Port 514 ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie 1514 für Nicht-Root).
  • 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: Die Kundennummer, die aus der Google SecOps Console kopiert wurde
    • endpoint: 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.

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

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agent unter Windows neu zu starten:

    • 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.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

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

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

SecureAuth Identity Platform konfigurieren

  1. Melden Sie sich als Administrator in der SecureAuth Identity-Konsole an.
  2. Wählen Sie Logs aus.
  3. Geben Sie im Abschnitt Log-Optionen die folgenden Konfigurationsdetails an:
    • Log-Instanz-ID: Geben Sie die Log-Instanz-ID, den Anwendungsnamen oder den Bereichsnamen ein (z. B. SecureAuth1).
    • Audit-Logs: Klicken Sie das Kästchen Syslog an.
    • Fehlerlogs: Klicken Sie das Kästchen Syslog an.
    • Syslog-Server: Geben Sie die IP-Adresse Ihres Bindplane-Agents ein.
    • Syslog-Port: Geben Sie die Portnummer des Bindplane-Agents ein (z. B. 514).
    • Syslog RFC spec: Wählen Sie RFC 5424 aus.
  4. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
action_msg read_only_udm.target.process.command_line Wert des Felds action_msg
Appliance read_only_udm.principal.domain.name Wert des Felds Appliance
Appliance read_only_udm.target.administrative_domain Wert des Felds Appliance
BrowserSession read_only_udm.network.session_id Wert des Felds BrowserSession
cat read_only_udm.metadata.product_event_type Wert des Felds cat
Kategorie read_only_udm.metadata.product_event_type Wert des Felds Category
cn1 security_result.severity Wird basierend auf dem Wert von cn1 zugeordnet, wenn cn1Label „Priority“ (Priorität) ist: 1 – HIGH (HOCH), 2 – MEDIUM (MITTEL), 3 oder 4 – LOW (NIEDRIG)
Unternehmen read_only_udm.additional.fields.value.string_value Wert des Felds Company
cs1 read_only_udm.network.session_id Wert des Felds cs1, wenn cs1Label „BrowserSession“ ist
cs3 read_only_udm.additional.fields.value.string_value Wert des Felds cs3, wenn cs3Label „CompanyName“ ist
dst read_only_udm.target.ip Wert des Felds dst
Domain read_only_udm.principal.domain.name Wert des Felds domain
dvc read_only_udm.intermediary.ip Wert des Felds dvc
EventID read_only_udm.metadata.product_log_id Wert des Felds EventID
HostName read_only_udm.principal.hostname Wert des Felds „HostName“, wenn die IP-Adresse nicht mit „grok“ übereinstimmt
HostName read_only_udm.principal.ip Wert des Felds HostName, wenn der Grok-Ausdruck mit der IP-Adresse übereinstimmt
ip read_only_udm.principal.ip Wert des Felds ip
Nachricht read_only_udm.metadata.description Wert des Felds Message
Nachricht security_result.description Wert des Felds Message
nat_ip read_only_udm.principal.nat_ip Wert des Felds nat_ip
Priorität security_result.severity Zuordnung basierend auf dem Wert von Priority: 1 – HOCH, 2 – MITTEL, 3 oder 4 – NIEDRIG
SAMLConsumerURL read_only_udm.target.url Wert des Felds SAMLConsumerURL
sec_msg security_result.description Wert des Felds sec_msg
SecureAuthIdPAppliance read_only_udm.target.administrative_domain Wert des Felds SecureAuthIdPAppliance
SecureAuthIdPApplianceMachineName read_only_udm.target.hostname Wert des Felds SecureAuthIdPApplianceMachineName
SecureAuthIdPDestinationSiteUrl read_only_udm.target.url Wert des Felds SecureAuthIdPDestinationSiteUrl
SecureAuthIdPProductType read_only_udm.additional.fields.value.string_value Wert des Felds SecureAuthIdPProductType
Sitzung read_only_udm.network.session_id Wert des Felds session
spid read_only_udm.target.process.pid Wert des Felds spid
src read_only_udm.principal.ip Wert des Felds src
suser read_only_udm.target.user.userid Wert des Felds suser
User-Agent read_only_udm.network.http.user_agent Wert des Felds UserAgent
UserHostAddress read_only_udm.principal.nat_ip Wert des Felds UserHostAddress
UserHostAddress read_only_udm.target.ip Wert des Felds UserHostAddress
UserID read_only_udm.principal.user.userid Wert des Felds UserID
Version read_only_udm.metadata.product_version Wert des Felds Version
read_only_udm.additional.fields.key Hartcodierter Wert: „CompanyName“
read_only_udm.additional.fields.key Hartcodierter Wert: „Company“
read_only_udm.additional.fields.key Fest codierter Wert – „SecureAuthIdPProductType“
read_only_udm.extensions.auth.type Hartcodierter Wert: „SSO“
read_only_udm.metadata.event_type 'USER_LOGIN', wenn SecureAuthIdPAuthGuiMode == 0 und auth_result == Success, 'USER_CHANGE_PERMISSIONS', wenn SecureAuthIdPAuthGuiMode == 0 und auth_result ==WS-Trust success., 'USER_LOGOUT', wenn SecureAuthIdPAuthGuiMode == 0 und auth_result == Session Aborted, 'NETWORK_CONNECTION', wenn UserHostAddress != and `HostName` !=, 'STATUS_UPDATE', wenn ip != or `HostName` !=, 'USER_UNCATEGORIZED', wenn UserHostAddress != and `HostName` == und UserID != ``, andernfalls 'GENERIC_EVENT'
read_only_udm.metadata.log_type Hartcodierter Wert: „SECUREAUTH_SSO“
read_only_udm.metadata.product_name Hartcodierter Wert: „SECUREAUTH_SSO“
read_only_udm.metadata.vendor_name Hartcodierter Wert: „SECUREAUTH_SSO“
read_only_udm.target.user.email_addresses Wert des Felds user_email, wenn not_email „false“ ist
security_result.severity 'HIGH', wenn cn1Label == Priority und cn1 == 1, 'MEDIUM', wenn cn1Label == Priority und cn1 == 2, 'LOW', wenn cn1Label == Priority und cn1 in [3, 4], 'HIGH', wenn Priority == 1, 'MEDIUM', wenn Priority == 2, 'LOW', wenn Priority in [3, 4]
_timestamp event.idm.read_only_udm.metadata.collected_timestamp Aus dem Änderungsprotokoll zugeordnet
i_ip event.idm.read_only_udm.intermediary.ip Aus dem Änderungsprotokoll zugeordnet
i_port event.idm.read_only_udm.intermediary.port Aus dem Änderungsprotokoll zugeordnet
parsed.LogChannel event.idm.read_only_udm.metadata.product_event_type Aus dem Änderungsprotokoll zugeordnet
parsed.FormatVersion event.idm.read_only_udm.metadata.product_version Aus dem Änderungsprotokoll zugeordnet
parsed.EventID event.idm.read_only_udm.metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet
parsed.CompanyID event.idm.read_only_udm.principal.resource.product_object_id Aus dem Änderungsprotokoll zugeordnet
parsed.Realm event.idm.read_only_udm.principal.resource.name Aus dem Änderungsprotokoll zugeordnet
parsed.UserHostAddress event.idm.read_only_udm.principal.ip Aus dem Änderungsprotokoll zugeordnet
parsed.UserHostAddress event.idm.read_only_udm.principal.asset.ip Aus dem Änderungsprotokoll zugeordnet
host.name event.idm.read_only_udm.principal.hostname Aus dem Änderungsprotokoll zugeordnet
host.name event.idm.read_only_udm.principal.asset.hostname Aus dem Änderungsprotokoll zugeordnet
parsed.RequestID event.idm.read_only_udm.metadata.id Aus dem Änderungsprotokoll zugeordnet
meta.cloud.availability_zone event.idm.read_only_udm.principal.location.name Aus dem Änderungsprotokoll zugeordnet
meta.cloud.region event.idm.read_only_udm.principal.location.country_or_region Aus dem Änderungsprotokoll zugeordnet
host.id event.idm.read_only_udm.principal.resource.id Aus dem Änderungsprotokoll zugeordnet
LogstashPod event.idm.read_only_udm.observer.hostname Aus dem Änderungsprotokoll zugeordnet
fields.ApplianceID event.idm.read_only_udm.principal.asset.asset_id Aus dem Änderungsprotokoll zugeordnet
LogChannel event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
FormatVersion event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
EventID event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
Version event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
parsed.UserAgent event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
parsed.ApplianceID event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
beat.name event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
beat.hostname event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
beat.version event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
fields.CompanyID event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
derived.CompanyIndex event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
_version event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
derived.EventType event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
prospector.type event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
input.type event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
parsed_Message event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
meta.cloud.machine_type event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
ApplianceType event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
parsed.Version event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
host.architecture event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
host.os.platform event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
host.os.version event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
host.os.build event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
host.os.family event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
host.os.name event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
meta.cloud.provider event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
derived.LogChannelIndex event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
document_id event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
meta.cloud.instance_id event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
tags event.idm.read_only_udm.principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
Realm event.idm.read_only_udm.target.resource.name Aus dem Änderungsprotokoll zugeordnet
CompanyID event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
PEN event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
ApplianceID event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
ApplianceMachineName event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
RequestID event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
UseJava 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