Integra Logging con Google SecOps
Questo documento spiega come integrare Cloud Logging con Google Security Operations.
Casi d'uso
L'integrazione Logging utilizza le funzionalità di Google SecOps per supportare i seguenti casi d'uso:
Recupero dei log forensi: esegui query avanzate per trovare eventi di sicurezza specifici nel tuo ambiente Google Cloud durante un'indagine.
Ricerca automatica delle minacce: utilizza i playbook per eseguire periodicamente query nei log per indicatori di compromissione (IoC) noti o pattern sospetti.
Prima di iniziare
Prima di configurare l'integrazione Logging in Google SecOps, completa i seguenti passaggi preliminari:
Crea un service account e concedigli i ruoli necessari.
Scegli e configura uno dei seguenti metodi di autenticazione:
Opzione 1: Workload Identity (consigliata): questo metodo utilizza token di accesso temporanei di breve durata tramite la rappresentazione dell'identità del account di servizio, quindi non è necessario archiviare i secret.
Opzione 2: chiave JSON dell'account di servizio: questo metodo si basa su un file di chiave segreta statica e di lunga durata. Utilizza questo metodo solo se l'autenticazione Workload Identity non è disponibile nel tuo ambiente.
Crea un account di servizio
Per creare un account di servizio per l'integrazione, completa i seguenti passaggi:
Nella Google Cloud console, vai a IAM e amministrazione > Service Accounts.
Fai clic su AggiungiCrea service account.
Fornisci un nome (ad esempio "Integrazione della registrazione SecOps") e una descrizione, quindi fai clic su Crea e continua.
Nel passaggio Concedi a questo account di servizio l'accesso al progetto, aggiungi il ruolo Logs Viewer (
roles/logging.viewer).Fai clic su Fine. L'indirizzo email di questo account di servizio viene utilizzato durante la configurazione.
Configura le credenziali di Workload Identity
Scegli questo metodo o il metodo della chiave JSON per autenticare l'integrazione. L'utilizzo di un'Workload Identity è l'approccio consigliato perché utilizza
token di accesso temporanei di breve durata utilizzando la simulazione dell'identità dei account di servizio.
Identificare l'identità univoca dell'istanza
La concessione all'istanza Google SecOps dell'autorizzazione a rappresentare il tuoaccount di serviziot è il passaggio finale per proteggere l'accesso.
In Google SecOps, vai a Content Hub > Integrazioni di risposta.
Cerca e seleziona l'integrazione Cloud Logging e inserisci l'email del tuo account di servizio in Email di Workload Identity.
Inserisci un ID progetto valido in Quota Project ID.
Fai clic su Salva > Test. Il test non dovrebbe riuscire.
Fai clic su close_small a destra di Test e cerca il messaggio di errore per l'email dell'identità che inizia con
gke-init-python@...osoar-python@....Copia questo indirizzo email univoco.
Autorizza l'identità dell'istanza in Google Cloud
L'autorizzazione dell'identità univoca recuperata consente la simulazione dell'identità del account di servizio, consentendo alla piattaforma di agire per tuo conto senza chiavi statiche.
Nella Google Cloud console, vai a IAM e amministrazione > Service Accounts.
Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi accesso.
Incolla l'indirizzo email univoco nel campo Nuove entità e assegna il ruolo Creatore token account di servizio (
roles/iam.serviceAccountTokenCreator).
Concedi l'accesso al progetto di quota
L'autenticazione con una workload identity richiede un Quota Project ID per monitorare
l'utilizzo e la fatturazione dell'API.
Nella console Google Cloud , vai a IAM e amministrazione > IAM e seleziona il progetto utilizzato per l'ID progetto quota.
Individua il account di servizio e fai clic su Modifica entità.
Fai clic su Aggiungi un altro ruolo e seleziona Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer).Fai clic su Salva.
Configurare una chiave JSON
I file delle chiavi segrete statiche e di lunga durata richiedono una gestione manuale. Questo metodo deve essere utilizzato solo se le credenziali di Workload Identity non sono disponibili.
Nella Google Cloud console, vai a IAM e amministrazione > Service account e seleziona il tuo account di servizio.
Vai alla scheda Chiavi e fai clic su Aggiungi chiave > Crea nuova chiave.
Seleziona JSON come tipo di chiave e fai clic su Crea.
Copia l'intero contenuto del file scaricato e incollalo in
User's Service Accountdurante la configurazione.
Parametri di integrazione
L'integrazione Logging richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
API Root |
Facoltativo. L'URL di base per l'API Cloud Logging (ad esempio,
|
User's Service Account |
Facoltativo. L'intero contenuto del file JSON della chiave del account di servizio. Utilizza questo parametro solo se esegui l'autenticazione utilizzando una chiave JSON. |
Workload Identity Email |
Facoltativo. L'indirizzo email del client del tuo account di servizio. Utilizza questo parametro solo se esegui l'autenticazione utilizzando le credenziali di Workload Identity. |
Project ID |
Facoltativo. L'ID progetto da utilizzare nell'integrazione. Se non viene fornito alcun valore, l'integrazione recupera l'ID dalle credenziali delaccount di serviziot. |
Quota Project ID |
Facoltativo. L'ID progetto utilizzato per l'utilizzo e la fatturazione dell'API. Questo parametro è obbligatorio quando l'autenticazione viene eseguita utilizzando le credenziali Workload Identity. |
Organization ID |
Facoltativo. L'ID organizzazione utilizzato per definire l'ambito delle query. |
Verify SSL |
Facoltativo. Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server di logging. Abilitato per impostazione predefinita. |
Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.
Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.
Azioni
Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.
Esegui query
Utilizza l'azione Esegui query per eseguire query personalizzate in Logging.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
L'azione Esegui query richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
Project ID |
Optional L'ID progetto da utilizzare nell'integrazione. Se non imposti un valore per questo parametro, l'integrazione recupera l'ID progetto dal tuo service account Google Cloud . |
Organization ID |
Optional L'ID organizzazione da utilizzare nell'integrazione. Se non imposti un valore per questo parametro, l'integrazione recupera l'ID progetto dal tuo service account Google Cloud . |
Query |
Obbligatorio Una query per trovare i log. |
Time Frame |
Optional Un periodo da cui recuperare i risultati. Se
selezioni I valori possibili sono:
Last Hour. |
Start Time |
Optional L'ora di inizio per recuperare i risultati. Questo parametro è obbligatorio se hai selezionato l'opzione Per configurare questo parametro, utilizza il formato ISO 8601. |
End Time |
Optional L'ora di fine per recuperare i risultati. Se non imposti un valore per questo parametro e selezioni l'opzione Per configurare questo parametro, utilizza il formato ISO 8601. |
Max Results To Return |
Optional Il numero massimo di risultati da restituire. Il valore predefinito è 50. |
Output azione
L'azione Esegui query fornisce i seguenti output:
| Tipo di output dell'azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link alla bacheca casi | Non disponibile |
| Tabella della bacheca casi | Non disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Disponibile |
| Messaggi di output | Disponibile |
| Risultato dello script | Disponibile |
Risultato JSON
L'esempio seguente descrive l'output del risultato JSON ricevuto quando si utilizza l'azione Esegui query:
[{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "system:clouddns"
},
"authorizationInfo": [
{
"granted": true,
"permission": "io.k8s.coordination.v1.leases.update",
"resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
}
],
"methodName": "io.k8s.coordination.v1.leases.update",
"requestMetadata": {
"callerIp": "192.0.2.6",
"callerSuppliedUserAgent": "clouddns-leader-election"
},
"resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
"serviceName": "k8s.io",
"status": {
"code": 0
}
},
"insertId": "ID",
"resource": {
"type": "k8s_cluster",
"labels": {
"cluster_name": "CLUSTER_NAME",
"project_id": "PROJECT_ID",
"location": "us-central1"
}
},
"timestamp": "2024-09-18T09:46:38.647428Z",
"labels": {
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
"authorization.k8s.io/decision": "allow"
},
"logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
"operation": {
"id": "ID",
"producer": "k8s.io",
"first": true,
"last": true
},
"receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
Messaggi di output
L'azione Esegui query fornisce i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
|
L'azione è riuscita. |
Error executing action "Execute Query". Reason:
ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato dello script
La tabella seguente descrive i valori dell'output dei risultati dello script quando utilizzi l'azione Esegui query:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
True o False |
Dindin
Utilizza l'azione Ping per testare la connettività a Logging.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
Nessuno.
Output azione
L'azione Ping fornisce i seguenti output:
| Tipo di output dell'azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link alla bacheca casi | Non disponibile |
| Tabella della bacheca casi | Non disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Non disponibile |
| Messaggi di output | Disponibile |
| Risultato dello script | Disponibile |
Messaggi di output
L'azione Ping fornisce i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
Successfully connected to the Cloud Logging server with
the provided connection parameters! |
L'azione è riuscita. |
Failed to connect to the Cloud Logging server! Error is
ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato dello script
La tabella seguente descrive i valori dell'output del risultato dello script quando si utilizza l'azione Ping:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
True o False |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.