Aqua Security-Protokolle erfassen
Übersicht
Dieser Parser extrahiert Felder aus Aqua Security-Protokollen und wandelt sie in das Unified Data Model (UDM) um. Dabei wird das Feld message
als JSON geparst, Nutzer, Quell-IP und andere relevante Felder werden extrahiert, UDM-Feldern zugeordnet und Ereignisse basierend auf dem Feld action
kategorisiert. Die Daten werden dann mit Sicherheitskontext wie Regelnamen, Beschreibungen und CVE-Details angereichert.
Hinweis
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen Berechtigungen für die Aqua Security-Verwaltungskonsole.
Feed in Google SecOps für die Aufnahme der Aqua Security-Protokolle konfigurieren
- Gehen Sie zu SIEM-Einstellungen > Feeds.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Aqua Security Logs.
- Wählen Sie als Quelltyp Webhook 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 die Aufteilung: Das Trennzeichen, mit dem Logzeilen getrennt werden, z. B.
\n
. - Asset-Namespace: der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- Trennzeichen für die Aufteilung: Das Trennzeichen, mit dem Logzeilen getrennt werden, z. B.
- Klicken Sie auf Weiter.
- Überprüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
- Klicken Sie auf Secret-Schlüssel generieren, um einen Secret-Schlüssel zur Authentifizierung dieses Feeds zu generieren.
- Kopieren und speichern Sie den geheimen Schlüssel. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen Secret-Schlüssel generieren. Dadurch wird der vorherige Secret-Schlüssel jedoch ungültig.
- Kopieren Sie auf dem Tab Details die Feedendpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.
- Klicken Sie auf Fertig.
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.
Beschränken Sie den API-Schlüsselzugriff auf die Chronicle API.
Endpunkt-URL angeben
- Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed angegeben ist.
Aktiviere die Authentifizierung, indem du den API-Schlüssel und den geheimen Schlüssel als Teil der benutzerdefinierten Kopfzeile im folgenden Format angibst:
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 Header unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mithilfe von Suchparametern im folgenden Format angeben:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ersetzen Sie Folgendes:
ENDPOINT_URL
: die URL des Feedendpunkts.API_KEY
: Der API-Schlüssel, mit dem Sie sich bei Google SecOps authentifizieren.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 Console an.
- Gehen Sie zu Einstellungen > Webhook für Ergebnisse der Bildüberprüfung.
- Klicken Sie das Kästchen Senden von Ergebnissen des Bildscans aktivieren an.
- Geben Sie
<ENDPOINT_URL>
gefolgt von<API_KEY>
und<SECRET>
ein. - Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld (aufsteigend) | UDM-Zuordnung | Logik |
---|---|---|
jsonPayload.action | metadata.event_type | Zuordnung basierend auf dem Wert von „jsonPayload.action“. Im Parsercode finden Sie bestimmte Zuordnungen. |
jsonPayload.action | security_result.summary | Direkt zugeordnet. |
jsonPayload.adjective | target.file.full_path | Wird 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 | Wird direkt zugeordnet, wenn „jsonPayload.user“ leer ist. |
jsonPayload.command | principal.ip | Mit dem Grok-Muster „user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)“ extrahiert. |
jsonPayload.command | principal.user.userid | Mit dem Grok-Muster „user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)“ extrahiert. |
jsonPayload.container | target.asset.product_object_id | Direkt zugeordnet. |
jsonPayload.data | security_result.detection_fields | Sie werden als Schlüssel/Wert-Paare geparst und einzelnen Feldern in „security_result.detection_fields“ zugeordnet. |
jsonPayload.description | security_result.description | Wird 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 | Wird als „host id: %{jsonPayload.hostid}“ zugeordnet. |
jsonPayload.hostip | target.ip | Direkt zugeordnet. |
jsonPayload.image | target.file.full_path | Direkt zugeordnet. |
jsonPayload.level | security_result.action | Legen Sie „ALLOW“ fest, wenn „jsonPayload.level“ den Wert „success“ hat. |
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 | Nach der Umwandlung in das ISO 8601-Format direkt zugeordnet. |
extensions.auth.type | „SSO“, wenn „jsonPayload.description“ „SAML“ enthält, andernfalls „AUTHTYPE_UNSPECIFIED“, 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 den Wert auf „GOOGLE_CLOUD_PLATFORM“ fest. | |
target.resource.type | Legen Sie diesen Wert auf „VIRTUAL_MACHINE“ fest. |
Änderungen
2024-10-10
- Verbesserung:
- Unterstützung für die neuen Protokolle hinzugefügt“