Aqua Security-Logs erfassen
Übersicht
Dieser Parser extrahiert Felder aus Aqua Security-Logs und wandelt sie in das Unified Data Model (UDM) um. Das Feld message
wird als JSON geparst, Nutzer, Quell-IP und andere relevante Felder werden extrahiert, UDM-Feldern zugeordnet und Ereignisse werden anhand des Felds action
kategorisiert. Die Daten werden mit Sicherheitskontext wie Regelnamen, Beschreibungen und CVE-Details angereichert.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Privilegierter Zugriff auf die Aqua Security-Verwaltungskonsole.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „Feeds“ einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Aqua Security Logs (Aqua Security-Protokolle).
- Wählen Sie Webhook als Quelltyp aus.
- Wählen Sie Aqua Security als Logtyp aus.
- Klicken Sie auf Weiter.
- Optional: Geben Sie Werte für die folgenden Eingabeparameter an:
- Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
\n
. - Asset-Namespace: der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
- Klicken Sie auf Weiter.
- Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).
- Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
- Kopieren Sie den geheimen Schlüssel und speichern Sie ihn. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen geheimen Schlüssel generieren. Dadurch wird der vorherige geheime Schlüssel jedoch ungültig.
- Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
- Klicken Sie auf Fertig.
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Trennzeichen für Aufteilung: Das Trennzeichen, das zum Trennen von Logzeilen verwendet wird, z. B.
\n
.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
Kopieren Sie den geheimen Schlüssel und speichern Sie ihn. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen geheimen Schlüssel generieren. Dadurch wird der vorherige geheime Schlüssel jedoch ungültig.
Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
API-Schlüssel für den Webhook-Feed erstellen
Rufen Sie die Google Cloud Console > Anmeldedaten auf.
Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.
Schränken Sie den API-Schlüsselzugriff auf die Chronicle API ein.
Endpunkt-URL angeben
- Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed bereitgestellt wird.
Aktivieren Sie die Authentifizierung, indem Sie den API-Schlüssel und den geheimen Schlüssel als Teil des benutzerdefinierten Headers im folgenden Format angeben:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Empfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben.
Wenn Ihr Webhook-Client keine benutzerdefinierten Headern unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mit Suchparametern im folgenden Format angeben:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ersetzen Sie Folgendes:
ENDPOINT_URL
: Die URL des Feed-Endpunkts.API_KEY
: Der API-Schlüssel für die Authentifizierung bei Google SecOps.SECRET
: Der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.
Webhook in Aqua Security für Google SecOps erstellen
- Melden Sie sich in der Aqua Security-Konsole an.
- Rufen Sie die Einstellungen > Webhook für Bildscanergebnisse auf.
- Klicken Sie das Kästchen Ergebnisse des Bildscans senden an.
- Geben Sie die
<ENDPOINT_URL>
ein, gefolgt von<API_KEY>
und<SECRET>
. - Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld (aufsteigend) | UDM-Zuordnung | Logik |
---|---|---|
jsonPayload.action | metadata.event_type | Wird auf Grundlage des Werts von „jsonPayload.action“ zugeordnet. Spezifische Zuordnungen finden Sie im Parsercode. |
jsonPayload.action | security_result.summary | Direkt zugeordnet. |
jsonPayload.adjective | target.file.full_path | Direkt zugeordnet, wenn „jsonPayload.container“ leer ist. |
jsonPayload.category | target.asset.category | Direkt zugeordnet. |
jsonPayload.cfappname | target.application | Direkt zugeordnet. |
jsonPayload.cfspace | principal.user.userid | Direkt zugeordnet, wenn „jsonPayload.user“ leer ist. |
jsonPayload.command | principal.ip | Extrahierte Daten mit dem Grok-Muster „user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)“. |
jsonPayload.command | principal.user.userid | Extrahierte Daten mit dem Grok-Muster „user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)“. |
jsonPayload.container | target.asset.product_object_id | Direkt zugeordnet. |
jsonPayload.data | security_result.detection_fields | Als Schlüssel/Wert-Paare geparst und einzelnen Feldern in „security_result.detection_fields“ zugeordnet. |
jsonPayload.description | security_result.description | Direkt zugeordnet, wenn „jsonPayload.reason“ leer ist. |
jsonPayload.host | principal.hostname | Direkt zugeordnet. |
jsonPayload.hostgroup | target.group.group_display_name | Direkt zugeordnet. |
jsonPayload.hostid | target.asset_id | Zugeordnet als „Host-ID: %{jsonPayload.hostid}“. |
jsonPayload.hostip | target.ip | Direkt zugeordnet. |
jsonPayload.image | target.file.full_path | Direkt zugeordnet. |
jsonPayload.level | security_result.action | Auf „ALLOW“ festgelegt, wenn „jsonPayload.level“ „success“ ist. |
jsonPayload.reason | security_result.description | Direkt zugeordnet. |
jsonPayload.rule | security_result.rule_name | Direkt zugeordnet. |
jsonPayload.user | principal.user.userid | Direkt zugeordnet. |
jsonPayload.vm_location | target.asset.location.name | Direkt zugeordnet. |
jsonPayload.vm_name | target.resource.name | Direkt zugeordnet. |
resource.labels.instance_id | target.resource.id | Direkt zugeordnet. |
resource.labels.project_id | target.asset.attribute.cloud.project.id | Direkt zugeordnet. |
resource.labels.zone | target.asset.attribute.cloud.availability_zone | Direkt zugeordnet. |
timestamp | metadata.event_timestamp | Direkt zugeordnet nach der Konvertierung ins ISO8601-Format. |
extensions.auth.type | Auf „SSO“ gesetzt, wenn „jsonPayload.description“ „SAML“ enthält. Andernfalls auf „AUTHTYPE_UNSPECIFIED“ gesetzt, wenn „jsonPayload.action“ „login“ oder „Login“ ist. | |
metadata.log_type | Legen Sie diesen Wert auf „AQUA_SECURITY“ fest. | |
metadata.product_name | Legen Sie diesen Wert auf „AQUA_SECURITY“ fest. | |
metadata.vendor_name | Legen Sie diesen Wert auf „AQUA_SECURITY“ fest. | |
target.asset.attribute.cloud.environment | Legen Sie diesen Wert auf „GOOGLE_CLOUD_PLATFORM“ fest. | |
target.resource.type | Legen Sie diesen Wert auf „VIRTUAL_MACHINE“ fest. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten