ForgeRock OpenAM-Logs erfassen

Unterstützt in:

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

ForgeRock OpenAM ist eine Lösung zur Zugriffsverwaltung, die Syslog-Meldungen für Authentifizierungsereignisse, Entscheidungen zur Zugriffssteuerung, Sitzungsaktivitäten und Konfigurationsänderungen generiert. Der Parser extrahiert Felder aus JSON-formatierten Audit-Logs 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 dem ForgeRock OpenAM-Server
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Administratorzugriff auf die AM-Konsole (z. B. amAdmin)

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

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

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

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: Kunden-ID, 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"
        

Syslog-Handler für ForgeRock OpenAM konfigurieren

  1. Melden Sie sich als Administrator (z. B. amAdmin) in der AM-Konsole an.
  2. Um den Event-Handler in der globalen Konfiguration zu erstellen, rufen Sie Konfigurieren > Globale Dienste > Audit-Logging auf.
    • Wenn Sie den Event-Handler in einem Realm erstellen möchten, gehen Sie zu Realms > Realm-Name > Dienste > Audit-Protokollierung.
  3. Klicken Sie auf Sekundäre Konfiguration hinzufügen> Syslog.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen Namen für den Event-Handler ein, z. B. Syslog Event Handler.
    • Hostname des Servers: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Serverport: Geben Sie die Portnummer des Bindplane-Agents ein, z. B. 514 für UDP.
    • Transport Protocol (Transportprotokoll): Wählen Sie UDP aus.
    • Zeitlimit für Verbindung: Geben Sie die Anzahl der Sekunden für die Verbindung ein (z. B. 120).
    • Optional: Aktiviere die Option Pufferung.
  5. Klicken Sie auf Erstellen.
  6. Wählen Sie auf dem Tab Allgemeine Handler-Konfiguration die Option Aktiviert aus, um den Ereignishandler zu aktivieren.
  7. Wählen Sie die Themen für Audit-Logs aus:
    • Zugriff
    • Aktivität
    • Authentifizierung
    • Konfiguration
  8. Klicken Sie auf Speichern.
  9. Geben Sie auf dem Tab Syslog Configuration (Syslog-Konfiguration) die folgenden Konfigurationsdetails an:
    • Hostname des Servers: Geben Sie die Bindplane-IP-Adresse ein.
    • Serverport: Geben Sie die Bindplane-Portnummer ein.
    • Zeitlimit für Verbindung: Geben Sie die Anzahl der Sekunden für die Verbindung ein (z. B. 120).
    • Transport Protocol (Transportprotokoll): Wählen Sie UDP aus.
    • Einrichtung: Wählen Sie Local0 aus.
    • Bei allen Themen wird der Schweregrad auf INFORMATIONAL festgelegt.
  10. Klicken Sie auf Speichern.
  11. Wählen Sie auf dem Tab Pufferung die Option Pufferung aktiviert aus, um die Pufferung zu aktivieren.
  12. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
client.ip principal.ip Die IP-Adresse des Clients, der die Anfrage stellt.
client.ip principal.asset.ip Die IP-Adresse des Client-Assets, das die Anfrage stellt.
client.port principal.port Der Port, der vom Client verwendet wird, der die Anfrage stellt.
entries[0].info.authLevel principal.resource.resource_subtype Die dem Ereignis zugeordnete Authentifizierungsebene. Mit „authLevel:“ beginnen.
entries[0].info.displayName security_result.description Ein aussagekräftiger Name für den Knoten im Authentifizierungsbaum.
entries[0].info.ipAddress principal.asset.ip Die IP-Adresse, die dem Prinzipal im Ereignis zugeordnet ist.
entries[0].info.ipAddress principal.ip Die IP-Adresse, die dem Prinzipal im Ereignis zugeordnet ist.
entries[0].info.nodeId principal.resource.id Die eindeutige ID des Knotens im Authentifizierungsbaum. Beginnt mit „nodeId:“.
entries[0].info.nodeOutcome principal.resource.attribute.labels.value Das Ergebnis des Knotens im Authentifizierungsbaum.
entries[0].info.nodeType principal.resource.type Der Typ des Knotens im Authentifizierungsbaum. Mit „nodeType:“ als Präfix.
entries[0].info.treeName principal.resource.name Der Name des Authentifizierungsbaums. Mit „treeName:“ vorangestellt.
eventName metadata.product_event_type Der Rohereignisname aus den OpenAM-Logs.
http.request.headers.host[0] target.asset.hostname Der Hostname des Zielservers, der aus dem host-Header extrahiert wird.
http.request.headers.host[0] target.hostname Der Hostname des Zielservers, der aus dem host-Header extrahiert wird.
http.request.headers.user-agent[0] network.http.user_agent Der User-Agent der HTTP-Anfrage.
http.request.method network.http.method Die in der Anfrage verwendete HTTP-Methode.
http.request.path target.url Der Pfad der HTTP-Anfrage-URL.
info.failureReason security_result.summary Der Grund für einen Authentifizierungsfehler. Fest codiert auf „SSO“. Wird durch Logik basierend auf eventName und anderen Feldern bestimmt. Kann GENERIC_EVENT, USER_LOGIN, USER_LOGOUT, NETWORK_HTTP oder STATUS_UPDATE sein. Fest codiert auf „OPENAM“. Fest codiert auf „OpenAM“. Fest codiert auf „ForgeRock“.
principal target.user.userid Die User-ID, die an dem Ereignis beteiligt ist. Sie wird aus den Feldern userId, principal oder runAs extrahiert.
result security_result.action_details Das Ergebnis des Ereignisses (z.B. „SUCCESSFUL“, „FAILED“).
response.detail.reason security_result.summary Der Grund für einen Fehler bei einem Ereignis mit Zugriffsresultat.
response.status security_result.action_details Der Status der Antwort in einem Ereignis vom Typ „Zugriffsergebnis“.
runAs target.user.userid Die User-ID, die an dem Ereignis beteiligt ist. Sie wird aus den Feldern userId, principal oder runAs extrahiert.
security_result.action security_result.action Die aufgrund des Sicherheitsereignisses ergriffene Maßnahme (z.B. „ALLOW“, „BLOCK“).
server.ip target.asset.ip Die IP-Adresse des Zielservers.
server.ip target.ip Die IP-Adresse des Zielservers.
server.port target.port Der Port des Zielservers.
timestamp metadata.event_timestamp Der Zeitstempel des Ereignisses.
trackingIds metadata.product_log_id Die mit dem Ereignis verknüpfte Tracking-ID.
transactionId metadata.product_deployment_id Die dem Ereignis zugeordnete Transaktions-ID.
userId target.user.userid Die User-ID, die an dem Ereignis beteiligt ist. Sie wird aus den Feldern userId, principal oder runAs extrahiert.
userId target.user.group_identifiers Die mit dem Nutzer verknüpften Gruppen-IDs.
am_group target.user.group_identifiers Die mit dem Nutzer verknüpften Gruppen-IDs.
am_user target.user.email_addresses Die E-Mail-Adresse des Nutzers, sofern im Feld am_user vorhanden.
loginID[0] target.user.userid Die im Ereignis verwendete Anmelde-ID.
loginID[0] target.user.email_addresses Die für die Anmeldung verwendete E‑Mail-Adresse, sofern im Feld loginID vorhanden.
hostip intermediary.hostname Der Hostname eines Vermittlungsgeräts.
hostip intermediary.ip Die IP-Adresse eines Vermittlungsgeräts.
src_ip principal.asset.ip Die Quell-IP-Adresse.
src_ip principal.ip Die Quell-IP-Adresse.
desc metadata.description Die Beschreibung des Ereignisses.
payload metadata.description Die Nutzlast des Ereignisses.

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