Akeyless Vault-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Akeyless Vault-Logs in Google Security Operations aufnehmen, indem Sie die direkte Aufnahme oder Bindplane verwenden. Der Parser normalisiert zuerst die Log-Nachrichten, die entweder im Schlüssel/Wert- oder im JSON-Format vorliegen können, in eine einheitliche Struktur. Anschließend werden relevante Felder extrahiert und dem Schema des Unified Data Model (UDM) zugeordnet. Der Ereignistyp wird anhand der vorhandenen IP-Adressen und ausgeführten Aktionen kategorisiert.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Privilegierter Zugriff auf Akeyless Vault

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.

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.

Logweiterleitung für die direkte Aufnahme in Google SecOps in Akeyless Vault konfigurieren

  1. Melden Sie sich in der Weboberfläche von Akeyless Gateway an.
  2. Gehen Sie zu Log Forwarding (Log-Weiterleitung).
  3. Wählen Sie Aktivieren aus.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Logformat: Wählen Sie JSON aus.
    • Audit-Log-Server: Geben Sie https://audit.akeyless.io/ ein.
    • Dienst: Wählen Sie Google Chronicle aus.
    • Dienstkontoschlüssel: Geben Sie die JSON-Datei mit den Anmeldedaten für das Dienstkonto an.
    • Kundennummer: Geben Sie Ihre eindeutige Google SecOps-Kennung ein.
    • Region: Geben Sie die Region ein, in der Google SecOps bereitgestellt wird.
    • Log Type (Logtyp): Geben Sie AKEYLESS_VAULT ein.
  5. Klicken Sie auf Änderungen speichern.

Optional: Syslog über Bindplane aufnehmen

BindPlane unter Windows installieren

  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
    

BindPlane unter Linux installieren

  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

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

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

  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 port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'AKEYLESS_VAULT'
                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 Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

Starten Sie den Bindlane-Agent neu, um die Änderungen zu übernehmen.

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

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog-Weiterleitung an Bindplane in Akeyless Vault konfigurieren

  1. Melden Sie sich in der Weboberfläche von Akeyless Gateway an.
  2. Gehen Sie zu Log Forwarding (Log-Weiterleitung).
  3. Wählen Sie Aktivieren aus.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Logformat: Wählen Sie JSON aus.
    • Audit-Log-Server: Geben Sie https://audit.akeyless.io/ ein.
    • Dienst: Wählen Sie Syslog aus.
    • Syslog-Netzwerk: Wählen Sie UDP aus. Je nach Konfiguration des Bindplane-Agents können Sie auch eine andere Option auswählen.
    • Syslog-Host: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Syslog Formatter (Syslog-Formatierung): Wählen Sie Text aus.
    • Optional) TLS: Klicken Sie das Kästchen TLS an und laden Sie das TLS-Zertifikat hoch.
  5. Klicken Sie auf Änderungen speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
access_id read_only_udm.metadata.product_log_id Direkt aus dem Feld access_id zugeordnet. Wenn nicht vorhanden, wird sie aus dem Feld message mit dem regulären Ausdruck access_id:\s+(?<accessid>[\w-]+) extrahiert.
Die Konto-ID von Tinfoil Security read_only_udm.target.user.userid Direkt aus dem Feld account_id zugeordnet.
Aktion read_only_udm.security_result.action_details Direkt aus dem Feld action zugeordnet.
Komponente read_only_udm.target.resource.name Direkt aus dem Feld component zugeordnet.
Dauer read_only_udm.network.session_duration.seconds Direkt aus dem Feld duration zugeordnet und in eine Ganzzahl konvertiert.
remote_addr read_only_udm.principal.ip Aus dem Feld remote_addr extrahiert, durch Komma getrennt und dem Array principal.ip hinzugefügt.
request_parameters.access_type read_only_udm.target.resource.attribute.labels.value (where key is 'access_type') Direkt aus dem Feld request_parameters.access_type zugeordnet. Wenn nicht vorhanden, wird sie aus dem Feld message mit dem regulären Ausdruck access_type:\s+(?<accesstype>[\S]+) extrahiert.
request_parameters.comment read_only_udm.target.resource.attribute.labels.value (wobei der Schlüssel „comment“ ist) Direkt aus dem Feld request_parameters.comment zugeordnet.
request_parameters.operation read_only_udm.target.resource.attribute.labels.value (wobei „key“ gleich „operation“ ist) Direkt aus dem Feld request_parameters.operation zugeordnet.
request_parameters.product read_only_udm.target.resource.attribute.labels.value (wobei „key“ „product“ ist) Direkt aus dem Feld request_parameters.product zugeordnet. Wenn nicht vorhanden, wird sie aus dem Feld message mit dem regulären Ausdruck product:\s+(?<product>[\w\s]+) extrahiert.
request_parameters.token_id read_only_udm.target.resource.attribute.labels.value (wobei der Schlüssel „token_id“ ist) Direkt aus dem Feld request_parameters.token_id zugeordnet.
request_parameters.transaction_type read_only_udm.target.resource.attribute.labels.value (wobei „key“ gleich „transaction_type“ ist) Direkt aus dem Feld request_parameters.transaction_type zugeordnet und in einen String konvertiert. Wenn nicht vorhanden, wird sie aus dem Feld message mit dem regulären Ausdruck transaction_type:\s+(?<transactiontype>[\S]+) extrahiert.
request_parameters.unique_id read_only_udm.target.resource.attribute.labels.value (wobei „key“ gleich „unique_id“ ist) Direkt aus dem Feld request_parameters.unique_id zugeordnet. Wenn nicht vorhanden, wird sie aus dem Feld message mit dem regulären Ausdruck unique_id:\s+(?<uniqueid>[\w-]+) extrahiert.
request_parameters.universal_identity_rotate_type read_only_udm.target.resource.attribute.labels.value (wobei „key“ gleich „universal_identity_rotate_type“ ist) Direkt aus dem Feld request_parameters.universal_identity_rotate_type zugeordnet.
request_parameters.user_agent read_only_udm.target.resource.attribute.labels.value (wobei der Schlüssel „user_agent“ ist) Direkt aus dem Feld request_parameters.user_agent zugeordnet.
die Ausprägung Direkt aus dem Feld severity zugeordnet.
Status read_only_udm.network.http.response_code Direkt aus dem Feld status zugeordnet und in eine Ganzzahl konvertiert.
timestamp read_only_udm.metadata.event_timestamp Direkt aus dem Feld timestamp des Logeintrags zugeordnet.
read_only_udm.metadata.log_type Hartcodiert auf AKEYLESS_VAULT.
read_only_udm.metadata.event_type Wird auf STATUS_UPDATE gesetzt, wenn ip_present „true“ ist. Andernfalls wird standardmäßig GENERIC_EVENT verwendet.
read_only_udm.metadata.vendor_name Aus dem Feld message mit dem regulären Ausdruck CEF:0|%{DATA:device_vendor}|%{DATA:device_product}|%{DATA:device_version}|%{DATA:device_event_class_id}\s+%{WORD}\[%{INT}\]:\s+%{GREEDYDATA:kv_data} extrahiert.
read_only_udm.metadata.product_name Aus dem Feld message mit dem regulären Ausdruck CEF:0|%{DATA:device_vendor}|%{DATA:device_product}|%{DATA:device_version}|%{DATA:device_event_class_id}\s+%{WORD}\[%{INT}\]:\s+%{GREEDYDATA:kv_data} extrahiert.
read_only_udm.metadata.product_version Aus dem Feld message mit dem regulären Ausdruck CEF:0|%{DATA:device_vendor}|%{DATA:device_product}|%{DATA:device_version}|%{DATA:device_event_class_id}\s+%{WORD}\[%{INT}\]:\s+%{GREEDYDATA:kv_data} extrahiert.
read_only_udm.metadata.product_event_type Aus dem Feld message mit dem regulären Ausdruck <%{INT}>%{TIMESTAMP_ISO8601:time}\s+%{DATA}\s+(?P<product_event_type>[\w-]+)\[%{INT}\]:\s+(?P<time2>\d{1,2}-%{MONTH}-\d{1,4}\s+\d{1,2}:\d{1,2}:\d{1,2}.\d+)\s+%{WORD}\s+%{WORD:severity}\s+CEF:0|%{DATA:device_vendor}|%{DATA:device_product}|%{DATA:device_version}|%{DATA:device_event_class_id}\s+%{WORD}\[%{INT}\]:\s+%{GREEDYDATA:kv_data} extrahiert.
read_only_udm.target.namespace Aus dem Feld message mit dem regulären Ausdruck namespace:\s+(?<namespace>[\S]+) extrahiert.
read_only_udm.security_result.severity Zugeordnet aus dem Feld severity: Info bis INFORMATIONAL, Error bis ERROR, Warning bis MEDIUM, andernfalls UNKNOWN_SEVERITY.
read_only_udm.network.http.method Zugeordnet aus dem Feld action: get bis GET, put und Authentication bis PUT, post bis POST, delete bis DELETE.

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