Raccogliere i log di Aqua Security
Panoramica
Questo parser estrae i campi dai log di Aqua Security, trasformandoli nel modello Unified Data Model (UDM). Analizza il campo message
come JSON, estrae l'utente, l'IP di origine e altri campi pertinenti, li mappa ai campi UDM e classifica gli eventi in base al campo action
, arricchendo i dati con il contesto di sicurezza, ad esempio nomi, descrizioni e dettagli delle CVE.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps.
- Accesso con privilegi alla console di gestione di Aqua Security.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed
- Hub dei contenuti > Pacchetti di contenuti
Configura i feed da Impostazioni SIEM > Feed
Per configurare un feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Aqua Security Logs).
- Seleziona Webhook come Tipo di origine.
- Seleziona Aqua Security come Tipo di log.
- Fai clic su Avanti.
- (Facoltativo) Specifica i valori per i seguenti parametri di input:
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
\n
. - Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
- Fai clic su Avanti.
- Controlla la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
- Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
- Copia e memorizza la chiave segreta. Non puoi visualizzare di nuovo questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
- Nella scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni sull'endpoint. Devi specificare questo URL dell'endpoint nell'applicazione client.
- Fai clic su Fine.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio
\n
.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
Copia e memorizza la chiave segreta. Non puoi visualizzare di nuovo questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
Nella scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni sull'endpoint. Devi specificare questo URL dell'endpoint nell'applicazione client.
Crea una chiave API per il feed webhook
Vai alla consoleGoogle Cloud > Credenziali.
Fai clic su Crea credenziali e poi seleziona Chiave API.
Limita l'accesso della chiave API all'API Chronicle.
Specifica l'URL dell'endpoint
- Nella tua applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
Attiva l'autenticazione specificando la chiave API e la chiave segreta come parte dell'intestazione personalizzata nel seguente formato:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Consiglio: specifica la chiave API come intestazione anziché nell'URL.
Se il client webhook non supporta le intestazioni personalizzate, puoi specificare la chiave API e la chiave segreta utilizzando parametri di ricerca nel seguente formato:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Sostituisci quanto segue:
ENDPOINT_URL
: l'URL dell'endpoint del feed.API_KEY
: la chiave API per l'autenticazione a Google SecOps.SECRET
: la chiave segreta che hai generato per autenticare il feed.
Creazione di un webhook in Aqua Security per Google SecOps
- Accedi alla console Aqua Security.
- Vai a Impostazioni > Webhook risultati scansione immagini.
- Seleziona la casella di controllo Attiva l'invio dei risultati della scansione delle immagini.
- Inserisci
<ENDPOINT_URL>
, seguito da<API_KEY>
e<SECRET>
. - Fai clic su Salva.
Tabella di mappatura UDM
Campo log (crescente) | Mappatura UDM | Logic |
---|---|---|
jsonPayload.action | metadata.event_type | Mappatura eseguita in base al valore di "jsonPayload.action". Visualizza il codice del parser per mappature specifiche. |
jsonPayload.action | security_result.summary | Mappato direttamente. |
jsonPayload.adjective | target.file.full_path | Mappato direttamente se "jsonPayload.container" è vuoto. |
jsonPayload.category | target.asset.category | Mappato direttamente. |
jsonPayload.cfappname | target.application | Mappato direttamente. |
jsonPayload.cfspace | principal.user.userid | Mappato direttamente se "jsonPayload.user" è vuoto. |
jsonPayload.command | principal.ip | Estratto utilizzando il pattern grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)". |
jsonPayload.command | principal.user.userid | Estratto utilizzando il pattern grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)". |
jsonPayload.container | target.asset.product_object_id | Mappato direttamente. |
jsonPayload.data | security_result.detection_fields | Analizzati come coppie chiave-valore e mappati ai singoli campi all'interno di "security_result.detection_fields". |
jsonPayload.description | security_result.description | Mappato direttamente se "jsonPayload.reason" è vuoto. |
jsonPayload.host | principal.hostname | Mappato direttamente. |
jsonPayload.hostgroup | target.group.group_display_name | Mappato direttamente. |
jsonPayload.hostid | target.asset_id | Mappato come "ID host: %{jsonPayload.hostid}". |
jsonPayload.hostip | target.ip | Mappato direttamente. |
jsonPayload.image | target.file.full_path | Mappato direttamente. |
jsonPayload.level | security_result.action | Imposta su "ALLOW" se "jsonPayload.level" è "success". |
jsonPayload.reason | security_result.description | Mappato direttamente. |
jsonPayload.rule | security_result.rule_name | Mappato direttamente. |
jsonPayload.user | principal.user.userid | Mappato direttamente. |
jsonPayload.vm_location | target.asset.location.name | Mappato direttamente. |
jsonPayload.vm_name | target.resource.name | Mappato direttamente. |
resource.labels.instance_id | target.resource.id | Mappato direttamente. |
resource.labels.project_id | target.asset.attribute.cloud.project.id | Mappato direttamente. |
resource.labels.zone | target.asset.attribute.cloud.availability_zone | Mappato direttamente. |
timestamp | metadata.event_timestamp | Mappato direttamente dopo la conversione nel formato ISO8601. |
extensions.auth.type | Imposta "SSO" se "jsonPayload.description" contiene "SAML", altrimenti imposta "AUTHTYPE_UNSPECIFIED" se "jsonPayload.action" è "login" o "Login". | |
metadata.log_type | Imposta il valore su "AQUA_SECURITY". | |
metadata.product_name | Imposta il valore su "AQUA_SECURITY". | |
metadata.vendor_name | Imposta il valore su "AQUA_SECURITY". | |
target.asset.attribute.cloud.environment | Imposta il valore su "GOOGLE_CLOUD_PLATFORM". | |
target.resource.type | Imposta su "VIRTUAL_MACHINE". |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.