Configura Google Cloud Armor Adaptive Protection

Questa pagina contiene informazioni sulla configurazione di Adaptive Protection. Prima di configurare Adaptive Protection, assicurati di conoscere le informazioni contenute nella panoramica di Adaptive Protection e con i casi d'uso di Adaptive Protection.

Prima di iniziare

Le sezioni seguenti descrivono tutti i ruoli e le autorizzazioni di Identity and Access Management (IAM) necessari per configurare le policy di sicurezza di Cloud Armor. Per i casi d'uso descritti in questo documento, ti serve solo l'autorizzazione compute.securityPolicies.update.

Configura le autorizzazioni IAM per le policy di sicurezza di Cloud Armor

Le seguenti operazioni richiedono il ruolo Identity and Access Management (IAM) Compute Security Admin (roles/compute.securityAdmin):

  • Configurare, modificare, aggiornare ed eliminare una policy di sicurezza Cloud Armor
  • Utilizzare i seguenti metodi API:
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

Un utente con il ruolo Compute Network Admin (roles/compute.networkAdmin) può eseguire le seguenti operazioni:

  • Impostare una policy di sicurezza di Cloud Armor per un servizio di backend
  • Utilizzare i seguenti metodi API:
    • BackendServices setSecurityPolicy
    • BackendServices list (solo gcloud)

Gli utenti con il ruolo Security Admin (roles/iam.securityAdmin) e il ruolo Compute Network Admin (roles/compute.networkAdmin) possono visualizzare le policy di sicurezza di Cloud Armor utilizzando i metodi dell'API SecurityPolicies get, list e getRule.

Configura le autorizzazioni IAM per i ruoli personalizzati

La tabella seguente elenca le autorizzazioni di base dei ruoli IAM e i metodi dell'API associati.

Autorizzazione IAM Metodi dell'API
compute.securityPolicies.create SecurityPolicies insert
compute.securityPolicies.delete SecurityPolicies delete
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
compute.securityPolicies.list SecurityPolicies list
compute.securityPolicies.use BackendServices setSecurityPolicy
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
compute.backendServices.setSecurityPolicy BackendServices setSecurityPolicy

Abilita Adaptive Protection

Per attivare Adaptive Protection per le tue policy di sicurezza, segui questa procedura: Adaptive Protection viene applicata a ogni policy di sicurezza singolarmente.

Console

Per attivare Adaptive Protection per una policy di sicurezza:

  1. Nella console Google Cloud , vai alla pagina Sicurezza della rete.

    Vai a Sicurezza della rete

  2. Nella pagina Policy, fai clic sul nome di una policy di sicurezza.

  3. Fai clic su Modifica.

  4. Nella sezione Adaptive Protection, seleziona Abilita.

  5. Fai clic su Aggiorna.

Per disattivare Adaptive Protection per una policy di sicurezza:

  1. Nella console Google Cloud , vai alla pagina Sicurezza della rete.

    Vai a Sicurezza della rete

  2. Nella pagina Policy, fai clic sul nome di una policy di sicurezza.

  3. Fai clic su Modifica.

  4. Nella sezione Adaptive Protection, deseleziona Abilita.

  5. Fai clic su Aggiorna.

gcloud

Per attivare Adaptive Protection per una policy di sicurezza:

gcloud compute security-policies update MY-SECURITY-POLICY \
    --enable-layer7-ddos-defense

Per disattivare Adaptive Protection per una policy di sicurezza:

gcloud compute security-policies update MY-SECURITY-POLICY \
    --no-enable-layer7-ddos-defense

Configura i modelli granulari

La funzionalità dei modelli granulari consente di configurare host o percorsi specifici come unità granulari analizzate da Adaptive Protection. Negli esempi seguenti, crei unità di traffico granulari per ogni host, personalizzi un'unità di traffico granulare e configuri Adaptive Protection in modo che intervenga quando il traffico supera le query al secondo (QPS) di riferimento. Per saperne di più sui modelli granulari, consulta la panoramica di Adaptive Protection.

Configura le unità di traffico granulari

Gli esempi in questa sezione utilizzano il comando add-layer7-ddos-defense-threshold-config con alcuni o tutti i seguenti flag:

Flag Descrizione
--threshold-config-name Il nome della configurazione della soglia.
--traffic-granularity-configs Opzioni di configurazione per consentire ad Adaptive Protection di operare sulla granularità del servizio specificata.
--auto-deploy-impacted-baseline-threshold Soglia relativa all'impatto stimato di Adaptive Protection sul traffico di riferimento della regola di mitigazione suggerita per un attacco rilevato. Le difese automatiche vengono applicate solo se la soglia non viene superata.
--auto-deploy-expiration-sec La durata delle azioni, se presenti, intraprese dall'implementazione automatica.
--detection-load-threshold Soglia di rilevamento basata sul carico del servizio di backend.
--detection-absolute-qps Soglia di rilevamento basata sulle QPS assolute.
--detection-relative-to-baseline-qps Soglia di rilevamento basata sulle QPS rispetto alla media del traffico di riferimento.

Nel primo esempio, configuri Adaptive Protection per rilevare gli attacchi e suggerire mitigazioni indipendenti per ogni host dietro il servizio di backend, senza ignorare le soglie predefinite.

gcloud

  1. Crea una policy di sicurezza con il nome POLICY_NAME o utilizza una policy di sicurezza esistente.
  2. Se Adaptive Protection non è ancora abilitata, utilizza il seguente comando per abilitarla per la tua policy:
    gcloud compute security-policies update POLICY_NAME 
    --enable-layer7-ddos-defense
  3. Applica la policy di sicurezza a un servizio di backend con più host.
  4. Utilizza il seguente comando add-layer7-ddos-defense-threshold-config con il flag --traffic-granularity-configs per configurare un'unità di traffico granulare:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=per-host-config
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;enableEachUniqueValue=true

Nel secondo esempio, configuri soglie di rilevamento e deployment automatico diverse per alcune o tutte le unità di traffico granulari che hai configurato nel primo esempio.

gcloud

  1. Se il deployment automatico di Adaptive Protection non è già attivato, crea una regola segnaposto.
  2. Il seguente comando personalizza la soglia di deployment automatico per un'unità di traffico granulare con un HTTP_HEADER_HOST di HOST e un HTTP_PATH di PATH. Utilizza questo comando per ogni unità di traffico granulare che vuoi personalizzare, sostituendo le variabili in base alle esigenze per ogni host e percorso dell'URL:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=my-host-config
    --auto-deploy-impacted-baseline-threshold=0.01
    --auto-deploy-expiration-sec=3600
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;value=HOST,type=HTTP_PATH;value=PATH

Rileva quando il volume di attacchi supera il valore QPS medio di riferimento

Nell'esempio seguente, configuri Adaptive Protection per rilevare un attacco solo quando il volume dell'attacco supera il valore QPS medio di riferimento di oltre il 50% e solo quando il carico del servizio di backend è superiore al 90% della sua capacità.

gcloud

  1. Crea una policy di sicurezza con il nome POLICY_NAME o utilizza una policy di sicurezza esistente.
  2. Se Adaptive Protection non è ancora abilitata, utilizza il seguente comando per abilitarla per la tua policy:

    gcloud compute security-policies update POLICY_NAME \
      --enable-layer7-ddos-defense
    
  3. Applica la policy di sicurezza a un servizio di backend.

  4. Utilizza il seguente comando per configurare Adaptive Protection con soglie di rilevamento personalizzate:

    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME \
       --threshold-config-name=my-customized-thresholds \
       --detection-load-threshold=0.9 \
       --detection-relative-to-baseline-qps=1.5
    

Passaggi successivi