Raccogli i log di Cohesity
Panoramica
Questo parser estrae i campi dai messaggi syslog del software di backup Cohesity utilizzando i pattern grok. Gestisce sia i messaggi syslog standard sia i log in formato JSON, mappando i campi estratti all'UDM e assegnando dinamicamente un event_type in base alla presenza di identificatori principali e target.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati di disporre dell'accesso con privilegi alla gestione di Cohesity.
Configura un feed in Google SecOps per importare i log di Cohesity
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuova.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log Cohesity).
- Seleziona Webhook come Tipo di origine.
- Seleziona Cohesity come Tipo di log.
- Fai clic su Avanti.
- (Facoltativo) Specifica i valori per i seguenti parametri di input:
- Delimitatore di split: il delimitatore utilizzato per separare le righe di log, ad esempio
\n
. - Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- Delimitatore di split: il delimitatore utilizzato per separare le righe di log, ad esempio
- Fai clic su Avanti.
- Controlla la configurazione del feed nella schermata Concludi 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 potrai più visualizzare questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
- Dalla scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni endpoint. Devi specificare questo URL endpoint nell'applicazione client.
- Fai clic su Fine.
Crea una chiave API per il feed webhook
Vai alla console Google 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
- Nell'applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
Attiva l'autenticazione specificando la chiave API e la chiave segreta nell'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 in Google SecOps.SECRET
: la chiave segreta che hai generato per autenticare il feed.
Configurazione di un webhook in Cohesity per Google SecOps
- Accedi alla gestione del cluster Cohesity.
- Vai alla sezione Job di protezione.
- Seleziona il job di protezione per cui vuoi configurare il webhook.
- Fai clic sul menu Azioni (tre puntini verticali) accanto al job di protezione > Modifica.
- Seleziona la scheda Allerte.
- Fai clic su + Aggiungi webhook.
- Specifica i valori per i seguenti parametri:
- Nome: fornisci un nome descrittivo per il webhook (ad esempio Google SecOps).
- URL: inserisci l'
<ENDPOINT_URL>
di Google SecOps. - Metodo: seleziona POST.
- Tipo di contenuto: seleziona application/json.
- Payload: questo campo dipende dai dati specifici che vuoi inviare.
- Attiva webhook: seleziona la casella per abilitare il webhook.
- Salva la configurazione:fai clic su Salva per applicare la configurazione dell'webhook al job di protezione.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
ClientIP |
principal.asset.ip |
Mappato direttamente dal campo ClientIP . |
ClientIP |
principal.ip |
Mappato direttamente dal campo ClientIP . |
description |
security_result.description |
Mappato direttamente dal campo description . |
DomainName |
target.asset.hostname |
Mappato direttamente dal campo DomainName . |
DomainName |
target.hostname |
Mappato direttamente dal campo DomainName . |
EntityPath |
target.url |
Mappato direttamente dal campo EntityPath . |
host |
principal.asset.hostname |
Mappato direttamente dal campo host . |
host |
principal.hostname |
Mappato direttamente dal campo host . Copiato dal campo ts dopo l'analisi in un timestamp. Determinato dalla logica dell'analizzatore sintattico in base alla presenza di principal_mid_present , target_mid_present e principal_user_present . Valori possibili: NETWORK_CONNECTION , USER_UNCATEGORIZED , STATUS_UPDATE , GENERIC_EVENT . Hardcoded su "Cohesity". |
product_event_type |
metadata.product_event_type |
Mappato direttamente dal campo product_event_type . Hardcoded su "COHESITY". |
pid |
principal.process.pid |
Mappato direttamente dal campo pid . |
Protocol |
network.application_protocol |
Mappato direttamente dal campo Protocol , convertito in maiuscolo. |
RecordID |
additional.fields (chiave: "RecordID", valore: RecordID ) |
Mappato direttamente dal campo RecordID , nidificato in additional.fields . |
RequestType |
security_result.detection_fields (chiave: "RequestType", valore: RequestType ) |
Mappato direttamente dal campo RequestType , nidificato in security_result.detection_fields . |
Result |
security_result.summary |
Mappato direttamente dal campo Result . |
sha_value |
additional.fields (chiave: "SHA256", valore: sha_value ) |
Mappato direttamente dal campo sha_value , nidificato in additional.fields . |
target_ip |
target.asset.ip |
Mappato direttamente dal campo target_ip . |
target_ip |
target.ip |
Mappato direttamente dal campo target_ip . |
target_port |
target.port |
Mappato direttamente dal campo target_port , convertito in numero intero. |
Timestamp |
metadata.collected_timestamp |
Mappato direttamente dal campo Timestamp dopo l'analisi in un timestamp. |
ts |
events.timestamp |
Mappato direttamente dal campo ts dopo l'analisi in un timestamp. |
UserID |
principal.user.userid |
Mappato direttamente dal campo UserID , convertito in stringa. |
UserName |
principal.user.user_display_name |
Mappato direttamente dal campo UserName . |
UserSID |
principal.user.windows_sid |
Mappato direttamente dal campo UserSID . |
Modifiche
2024-09-24
- È stata rimossa la funzione "gsub" per formattare i log JSON.
2024-09-10
- È stato aggiunto "gsub" per rimuovere i caratteri indesiderati dal log.
- "prin_ip" è stato mappato a "principal.ip".
2024-07-28
- "EntityId" e "RegisteredSource.EntityId" sono stati mappati a "principal.user.userid".
- "Description" e "EventMessage" sono stati mappati a "metadata.description".
- "IP" è stato mappato a "principal.ip" e "principal.asset.ip".
- "Utente" è stato mappato a "principal.user.user_display_name".
- "Action, "Domain, "ServiceContext, "AttributeMap.AttemptNum, "cluster_id, "cluster_name, "ClusterInfo.ClusterId, "ClusterInfo.ClusterName, "TaskId, "EntityName, "EntityType, "BackupJobId, "BackupJobName, "EnvironmentType, "RegisteredSource.EntityName, "RegisteredSource.EntityType, "AttributeMap.BridgeConstituent, "ReplicationTarget.ClusterName e "ReplicationTarget.ClusterId a "additional.fields".
2024-05-16
- Parser appena creato.