Integra Cloud Armor con Google SecOps

Questo documento spiega come integrare Google Cloud Armor con Google Security Operations.

Casi d'uso

L'integrazione con Cloud Armor supporta i seguenti casi d'uso:

  • Blocco automatico delle minacce: blocca istantaneamente gli indirizzi IP o gli intervalli dannosi sul perimetro Google Cloud aggiornando le regole delle policy di sicurezza durante un incidente.

  • Gestione delle policy di sicurezza: elenca, recupera e aggiorna le policy e le regole di sicurezza nel tuo ambiente per garantire una protezione WAF coerente.

  • Mitigazione DDoS dinamica: rispondi agli attacchi volumetrici o basati su protocollo modificando in modo programmatico le impostazioni delle policy di sicurezza.

  • Audit forense: recupera i dettagli di configurazione delle policy di sicurezza esistenti per correlare le protezioni perimetrali con gli avvisi di sicurezza interni.

Prima di iniziare

Prima di configurare l'integrazione di Cloud Armor in Google SecOps, completa i seguenti passaggi preliminari:

  1. Crea e configura un ruolo personalizzato di Identity and Access Management.

  2. Crea un account di servizio.

  3. Scegli e configura uno dei seguenti metodi di autenticazione:

    • Opzione 1: Workload Identity (consigliata): questo metodo utilizza token di breve durata tramite la simulazione dell'identità dei account di servizio.

    • Opzione 2: chiave JSON del service account. Questo metodo si basa su un file di chiave secret statico e di lunga durata.

Crea e configura il ruolo IAM

Per fornire all'integrazione le autorizzazioni necessarie, crea un ruolo personalizzato nel tuo progetto Google Cloud :

  1. Nella console Google Cloud , vai a Ruoli.

    Vai a Ruoli.

  2. Fai clic su addCrea ruolo personalizzato.

  3. Fornisci un titolo, una descrizione e un ID univoco.

  4. Imposta Fase di lancio del ruolo su Disponibilità generale.

  5. Aggiungi le seguenti autorizzazioni al ruolo:

    • compute.backendBuckets.setSecurityPolicy
    • compute.backendServices.setSecurityPolicy
    • compute.regionBackendServices.setSecurityPolicy
    • compute.regionSecurityPolicies.create
    • compute.regionSecurityPolicies.get
    • compute.regionSecurityPolicies.list
    • compute.regionSecurityPolicies.update
    • compute.securityPolicies.create
    • compute.securityPolicies.get
    • compute.securityPolicies.list
    • compute.securityPolicies.update
  6. Fai clic su Crea.

Crea un account di servizio

  1. Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio.

    Vai a Service account

  2. Fai clic su addCrea service account.

  3. Fornisci un nome e una descrizione e fai clic su Crea e continua.

  4. Nel passaggio Concedi a questo account di servizio l'accesso al progetto, assegna il ruolo IAM personalizzato che hai creato.

  5. Fai clic su Fine. Prendi nota dell'indirizzo email del account di servizio.

Configura le credenziali di Workload Identity

Workload Identity è l'approccio consigliato perché utilizza token di breve durata tramite la simulazione dell'identità dei account di servizio.

Identifica l'identità univoca dell'istanza

Per stabilire una connessione, devi concedere alla tua istanza Google SecOps l'autorizzazione per simulare l'identità del tuo account di servizio.

  1. In Google SecOps, vai a Content Hub > Integrazioni di risposta.

  2. Seleziona l'integrazione di Cloud Armor e inserisci l'indirizzo email del tuo service account in Workload Identity Email.

  3. Fai clic su Salva > Verifica. Il test non va a buon fine.

  4. Fai clic sul pulsante close_small accanto a Test e individua l'email di identità che inizia con gke-init-python@... o soar-python@....

  5. Copia questo indirizzo email univoco.

Autorizza l'identità dell'istanza in Google Cloud

  1. Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio.

    Vai a Service account

  2. Seleziona il account di servizio di destinazione e vai a Autorizzazioni > Concedi l'accesso.

  3. Incolla l'indirizzo email univoco nel campo Nuove entità e assegna il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator).

Configura una chiave JSON

I file di chiavi secret statici e di lunga durata richiedono la rotazione manuale. Utilizza questo metodo solo se l'autenticazione di Workload Identity non è disponibile.

  1. Nella console Google Cloud , vai a IAM e amministrazione > Account di servizio e seleziona il tuo service account.

    Vai a Service account

  2. Vai alla scheda Chiavi e fai clic su Aggiungi chiave > Crea nuova chiave.

  3. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul tuo computer.

Parametri di integrazione

L'integrazione di Cloud Armor richiede i seguenti parametri:

Parametro Descrizione
API Root

Obbligatorio.

La radice dell'API del servizio Cloud Armor.

Il valore predefinito è https://compute.googleapis.com/compute/v1/.

Project ID

Facoltativo.

L'ID progetto da scegliere come target per Cloud Armor.

Se non viene fornito alcun valore, l'integrazione recupera l'ID dalle credenziali dell'account di servizio.

Workload Identity Email

Facoltativo.

L'indirizzo email client del tuo account di servizio. Configura questo parametro per l'autenticazione di Workload Identity.

Se configurato, User Service Account viene ignorato.

User Service Account

Facoltativo.

I contenuti completi del file JSON della chiave del account di servizio. Configura questo parametro per l'autenticazione della chiave del account di servizio.

Se configurata, l'integrazione ignora Workload Identity Email.

Verify SSL

Obbligatorio.

Se selezionata, l'integrazione convalida il certificato SSL durante la connessione al server Google Cloud .

Abilitato per impostazione predefinita.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.

Se necessario, puoi 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 saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.

Aggiungi una regola a una policy di sicurezza

Aggiungi una nuova regola alla policy di sicurezza nel servizio Cloud Armor.

Entità

Questa azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
Policy Name Obbligatorio

Nome della policy di sicurezza a cui aggiungere una nuova regola.

Region Optional

Regione della policy in cui aggiungere la regola.

Se non viene fornito alcun valore, la regola viene aggiunta alla policy di sicurezza a livello globale.

Rule JSON Obbligatorio

Definizione JSON della regola da aggiungere.

Per saperne di più sull'aggiunta di una regola a una policy, consulta Metodo: securityPolicies.addRule.

Output azione

Tipo di output dell'azione
Allegato della bacheca richieste N/D
Link alla bacheca casi N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Risultato JSON Disponibile
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero o falso
Risultato JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Bacheca casi

Questa azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully added a new rule to the security policy! Azione riuscita.
Error executing action "Add a Rule to a Security Policy". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input, le credenziali, il nome della regione, i contenuti del file JSON o il nome di una policy.

Crea una policy di sicurezza

Crea una policy di sicurezza nel servizio Cloud Armor.

Entità

Questa azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
Region Optional

La regione in cui creare una policy.

Se non viene fornito alcun valore, viene creata la policy di sicurezza a livello globale.

Policy JSON Obbligatorio

La definizione JSON della policy da creare.

Per saperne di più sulle policy, consulta Risorsa REST: securityPolicies.

Output azione

Tipo di output dell'azione
Allegato della bacheca richieste N/D
Link alla bacheca casi N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Risultato JSON Disponibile
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero o falso
Risultato JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Bacheca casi

Questa azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully created a new security policy! Azione riuscita.
Error executing action "Create a Security Policy". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input, le credenziali, il nome della regione o i contenuti di un file JSON.

Dindin

Testa la connettività al servizio Cloud Armor con i parametri forniti nella pagina di configurazione dell'integrazione.

Entità

Questa azione non viene eseguita sulle entità.

Input azione

N/D

Output azione

Tipo di output dell'azione
Allegato della bacheca richieste N/D
Link alla bacheca casi N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Risultato JSON N/D
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero o falso
Bacheca casi

Questa azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully connected to the Google Cloud Armor service with the provided connection parameters! Azione riuscita.
Failed to connect to the Google Cloud Armor service! Error is ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Aggiorna una policy di sicurezza

Aggiorna la policy di sicurezza esistente nel servizio Cloud Armor.

Questa azione non può aggiornare le regole di una policy. Per aggiungere una regola alla policy correlata, utilizza l'azione Aggiungi una regola a una policy di sicurezza.

Entità

Questa azione non viene eseguita sulle entità.

Input azione

Per configurare l'azione, utilizza i seguenti parametri:

Parametri
Policy Name Obbligatorio

Nome della policy di sicurezza a cui aggiungere una nuova regola.

Region Optional

Regione per la policy aggiornata.

Se non viene fornito alcun valore, viene creata la policy di sicurezza a livello globale.

Rule JSON Obbligatorio

Definizione JSON della policy da aggiornare.

Per saperne di più sugli aggiornamenti delle policy, consulta Metodo: securityPolicies.patch .

Non puoi aggiornare le regole con questa azione. Per aggiungere una regola a una policy, utilizza l'azione Aggiungi una regola a una policy di sicurezza.

Output azione

Tipo di output dell'azione
Allegato della bacheca richieste N/D
Link alla bacheca casi N/D
Tabella della bacheca casi N/D
Tabella di arricchimento N/D
Risultato JSON Disponibile
Risultato dello script Disponibile
Risultato dello script
Nome del risultato dello script Valore
is_success Vero o falso
Risultato JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Bacheca casi

Questa azione fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully added comment to the identity protection detection with ID DETECTION_ID in CrowdStrike Azione riuscita.
Error executing action "Update a Security Policy". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.