Akeyless Vault-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
Logweiterleitung für die direkte Aufnahme in Google SecOps in Akeyless Vault konfigurieren
- Melden Sie sich in der Weboberfläche von Akeyless Gateway an.
- Gehen Sie zu Log Forwarding (Log-Weiterleitung).
- Wählen Sie Aktivieren aus.
- 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.
- Klicken Sie auf Änderungen speichern.
Optional: Syslog über Bindplane aufnehmen
BindPlane unter Windows installieren
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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
- 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).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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
Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
Ersetzen Sie
<customer_id>
durch die tatsächliche Kunden-ID.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
- Melden Sie sich in der Weboberfläche von Akeyless Gateway an.
- Gehen Sie zu Log Forwarding (Log-Weiterleitung).
- Wählen Sie Aktivieren aus.
- 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.
- 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