Protokolle für IBM Security Verify Access erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Logs für IBM Security Verify Access erfassen können. Der Parser extrahiert gängige Felder wie Zeitstempel, Hostnamen und Beschreibungen mithilfe von Grok-Mustern. Anschließend werden XML-Daten für detaillierte Ereignisinformationen verwendet, die im Beschreibungsfeld eingebettet sind. Die extrahierten Daten werden dann dem einheitlichen Datenmodell (UDM) für die standardisierte Darstellung von Sicherheitsereignissen zugeordnet.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen Administratorzugriff auf IBM Security Verify Access (ISVA).

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei für die Datenaufnahmeauthentifizierung herunter. Speichern Sie die Datei sicher auf dem System, auf dem der BindPlane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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
    

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
    

Zusätzliche Installationsressourcen

Bindplane-Agent so konfigurieren, dass er Syslog-Dateien aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:

    • Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor, z. B. nano, vi oder Notepad.
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        udplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: ibm_security_verify
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen anzuwenden

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

    sudo systemctl restart bindplane-agent
    
  • Unter Windows können Sie den Bindplane-Agenten entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Logformat anpassen

  1. Verwenden Sie das LMI (Local Management Interface) der Appliance, um die WebSEAL-Konfigurationsdatei zu bearbeiten.
  2. Rufen Sie in der LMI Reverse-Proxy-Verwaltung auf.
  3. Klicken Sie auf Verwalten > Konfiguration > Konfigurationsdatei bearbeiten. Sie können die Konfigurationsdatei WebSEAL direkt im Editor bearbeiten.
  4. Gehen Sie zu logging[stanza], suchen Sie nach syntax requests = {yes|no} und klicken Sie auf Ja.
  5. Bearbeiten Sie den Parameter gmt-time so: gmt-time = yes.
  6. Ersetzen Sie das „request-log-format“ durch Folgendes:

    request-log-format = ibmsva: %h %l "%u" %t "%r" %s %b %T %j %{X-Forwarded-For}i %a %A %H %p %m %U %v %d %q
    
  7. Im Folgenden werden die einzelnen Anweisungen erläutert:

    • ibmsva: Logs vom SVA-Gerät identifizieren
    • %h: Remote-Host
    • %l: Remote-Logname
    • %u: Remote-Nutzer
    • %t: Uhrzeit und Datum im CLF-Format
    • %r: Erste Zeile der Anfrage
    • %s: Antwortstatus
    • %b: Anzahl der Bytes in der Antwort (ohne HTTP-Header)
    • %T: Zeit für die Bearbeitung der Anfrage (Sekunden)
    • %j: Name der Kreuzung
    • %X-Forwarded-For: IP-Adresse für Weiterleitung
    • %a: Remote-IP-Adresse
    • %A: Lokale IP-Adresse
    • %H: Anfrageprotokoll
    • %p: Anschluss
    • %m: Anfragemethode (GET, POST, HEAD)
    • %U: Angeforderte URL
    • %v: Server name
    • %d: Transaktions-ID
    • %q: Abfragestring

Syslog-Weiterleitung in ISVA konfigurieren

  1. Melden Sie sich in der ISVA Local Management Interface an.
  2. Gehen Sie zu Überwachen > Protokolle > Remote Syslog-Weiterleitung.
  3. Klicken Sie auf Hinzufügen.
  4. Geben Sie die Details für den Remote-Syslog-Server an.
    • Server: Die IP-Adresse oder der Hostname des syslog-Servers (Bindebene).
    • Port: Der Port, auf dem der syslog-Server auf Anfragen wartet (Bindebene).
    • Protokoll: Wählen Sie UDP oder TCP aus (je nach syslog-/Bindplane-Konfiguration).
    • Format: Wählen Sie Syslog aus.
  5. Klicken Sie auf Speichern.

Protokollquellen für einen Remote-Protokollserver konfigurieren

  1. Wählen Sie den Remote-Syslog-Server aus, an den Logs gesendet werden sollen.
  2. Klicken Sie auf Quellen.
  3. Klicken Sie auf Hinzufügen.
  4. Geben Sie die Details für die Protokollquelle an und klicken Sie dann auf OK.

    • Name: Wählen Sie WebSEAL aus.
    • Instanzname: Wählen Sie die WebSEAL-Instanz aus.
    • Logdatei: Name der Quelllogdatei.
    • Optional: Tag: Das Tag, das den gesendeten Protokolleinträgen hinzugefügt werden soll.
    • Facility: Alle Nachrichten werden mit dem angegebenen Einrichtungscode gesendet (Liste der verfügbaren Codes).
    • Severity: Die Wichtigkeitsstufe der gesendeten Logeinträge.
      • Alle Nachrichten werden mit der angegebenen Schweregradstufe gesendet.
  5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Aktion read_only_udm.security_result.action_details Wird aus dem XML-Feld „/event/originator/action“ extrahiert, wenn das Feld „description“ den Text „event“ enthält.
App read_only_udm.target.application Mit dem Grok-Muster aus dem Feld „message“ extrahiert.
auth_details read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/accessor/principal/@auth“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Der Schlüssel ist auf „Auth“ gesetzt.
authntype read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/authntype“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Der Schlüssel ist auf „Authntype“ festgelegt.
Daten read_only_udm.metadata.description Wenn das Feld „data“ nicht leer ist, wird sein Wert durch den vorhandenen Wert von „read_only_udm.metadata.description“ ersetzt.
description read_only_udm.metadata.description Mit dem Grok-Muster aus dem Feld „message“ extrahiert. Wenn das Feld „description“ den String „event“ enthält, wird es als XML geparst, um andere Felder zu extrahieren.
event_id read_only_udm.metadata.product_log_id Wird aus dem XML-Feld „/event/originator/event_id“ extrahiert, wenn das Feld „description“ den Text „event“ enthält.
Hostname read_only_udm.principal.hostname, read_only_udm.principal.asset.hostname Mit dem Grok-Muster aus dem Feld „message“ extrahiert.
id read_only_udm.metadata.product_log_id Mit dem Grok-Muster aus dem Feld „message“ extrahiert.
Standort read_only_udm.principal.location.name Wird aus dem XML-Feld „/event/originator/location“ extrahiert, wenn das Feld „description“ den Text „event“ enthält.
Ergebnis read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/outcome“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Der Schlüssel ist auf „Outcome“ (Ergebnis) festgelegt.
outcome_reason read_only_udm.security_result.summary Wird aus dem XML-Feld „/event/outcome/@reason“ extrahiert, wenn das Feld „description“ den Wert „event“ enthält. Wird auch verwendet, um den Wert von „read_only_udm.security_result.action“ zu bestimmen. Wird auf „BLOCK“ gesetzt, wenn „outcome_reason“ „fail“ enthält (ohne Berücksichtigung der Groß- und Kleinschreibung), andernfalls auf „ALLOW“.
outcome_status read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/outcome/@status“ extrahiert, wenn das Feld „description“ den String „event“ enthält. Der Schlüssel ist auf „Outcome Status“ festgelegt.
originator_blade read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/originator/@blade“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Der Schlüssel ist auf „Originator Blade“ gesetzt.
originator_component read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/originator/component“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Der Schlüssel ist auf „Originator Component“ gesetzt.
originator_instance read_only_udm.security_result.detection_fields.value Wird aus dem XML-Feld „/event/originator/@instance“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Der Schlüssel ist auf „Originator Instance“ gesetzt.
session_id read_only_udm.network.session_id Wird aus dem XML-Feld „/event/accessor/session_id“ extrahiert, wenn das Feld „description“ den Wert „event“ enthält.
target_url read_only_udm.target.url Wird aus dem XML-Feld „/event/target/url“ extrahiert, wenn das Feld „description“ den Text „event“ enthält.
thread_id read_only_udm.security_result.detection_fields.value Mit dem Grok-Muster aus dem Feld „message“ extrahiert. Der Schlüssel ist auf „Thread-ID“ gesetzt.
timestamp read_only_udm.metadata.event_timestamp Mit dem Grok-Muster aus dem Feld „message“ extrahiert. Formatiert mit dem Filter „Datum“ basierend auf Vorhandensein und Format des Felds „Zeitzone“.
time_stamp read_only_udm.metadata.event_timestamp Wird aus dem XML-Feld „/event/date“ extrahiert, wenn das Feld „description“ den Text „event“ enthält. Formatiert mit dem Filter „Datum“.
Zeitzone Wird in Verbindung mit dem Feld „Zeitstempel“ verwendet, um das Feld „read_only_udm.metadata.event_timestamp“ mit dem Filter „Datum“ zu formatieren.
URL read_only_udm.target.url Mit dem Grok-Muster aus dem Feld „message“ extrahiert.
Nutzer read_only_udm.principal.user.userid Wird aus dem XML-Feld „/event/accessor/principal“ extrahiert, wenn das Feld „description“ den Text „event“ enthält.
user_location read_only_udm.principal.ip, read_only_udm.principal.asset.ip Wird aus dem XML-Feld „/event/accessor/user_location“ extrahiert, wenn das Feld „description“ den Wert „event“ enthält. Wenn „user_location_type“ die Zeichenfolge „ip“ enthält (ohne Berücksichtigung der Groß- und Kleinschreibung), wird sie als IP-Adresse geparst und sowohl „read_only_udm.principal.ip“ als auch „read_only_udm.principal.asset.ip“ zugeordnet.
user_location_type Damit wird festgelegt, ob „user_location“ als IP-Adresse geparst werden soll.
read_only_udm.metadata.vendor_name Legen Sie diesen Wert auf „IBM_SECURITY_VERIFY“ fest.
read_only_udm.metadata.product_name Legen Sie diesen Wert auf „IBM_SECURITY_VERIFY“ fest.
read_only_udm.metadata.event_type Ursprünglich auf „STATUS_UPDATE“ festgelegt. Wird in „USER_LOGIN“ geändert, wenn sowohl das Feld „user“ als auch das Feld „hostname“ extrahiert werden.
read_only_udm.extensions.auth.type Legen Sie „SSO“ fest, wenn sowohl die Felder „user“ als auch „hostname“ extrahiert werden.
read_only_udm.network.application_protocol Legen Sie „HTTP“ fest, wenn das Feld „message“ „HttpServletRequest“ enthält.
read_only_udm.metadata.log_type Festgelegt auf „IBM_SECURITY_VERIFY“ – aus den Protokollmetadaten übernommen.

Änderungen

2024-05-13

  • Der Parser wurde aktualisiert, um Protokolle im XML-Format zu unterstützen.

2023-01-25

  • Neu erstellter Parser.

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