Integra Cloud Armor con Google SecOps

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

Casi d'uso

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

  • Blocco automatico delle minacce: blocca immediatamente gli intervalli o gli indirizzi IP dannosi all' Google Cloud edge aggiornando le regole della policy di sicurezza durante un incidente.

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

  • Mitigazione dinamica degli attacchi DDoS: rispondi agli attacchi volumetrici o basati su protocollo regolando 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 Identity and Access Management personalizzato.

  2. Crea un service account.

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

    • Opzione 1: Workload Identity (consigliato): 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 segreta 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 AggiungiCrea 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 Google Cloud console, vai a IAM e amministrazione > Service Accounts.

    Vai a Service account

  2. Fai clic su AggiungiCrea 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.

Configurare 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.

Identificare l'identità univoca dell'istanza

Per stabilire una connessione è necessario concedere all'istanza Google SecOps l'autorizzazione a rappresentare il tuoaccount di serviziot.

  1. In Google SecOps, vai a Content Hub > Response Integrations.

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

  3. Fai clic su Salva > Test. Il test non riesce.

  4. Fai clic sul pulsante close_small accanto a Test e individua l'email dell'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 Google Cloud console, vai a IAM e amministrazione > Service Accounts.

    Vai a Service account

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

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

Configurare una chiave JSON

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

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

    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 delaccount di serviziot.

Workload Identity Email

Facoltativo.

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

Se configurato, User Service Account viene ignorato.

User Service Account

Facoltativo.

L'intero contenuto del file JSON della chiave dell'account di servizio. Configura questo parametro per l'autenticazione della chiave delaccount di serviziot.

Se configurata, l'integrazione ignora Workload Identity Email.

Verify SSL

Obbligatorio.

Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server Google Cloud .

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.

Aggiungere 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 in cui aggiungere la regola alla policy.

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 casi 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, il contenuto del file JSON o il nome di un criterio.

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 del criterio da creare.

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

Output azione

Tipo di output dell'azione
Allegato della bacheca casi 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 il contenuto 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 casi 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 un criterio di sicurezza

Aggiorna la policy di sicurezza esistente nel servizio Cloud Armor.

Questa azione non può aggiornare le regole in 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 le norme aggiornate.

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

Rule JSON Obbligatorio

Definizione JSON del criterio da aggiornare.

Per maggiori informazioni sugli aggiornamenti delle norme, 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 casi 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.