Configura Google Cloud Armor Adaptive Protection

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

Prima di iniziare

Le sezioni seguenti illustrano tutti i ruoli e le autorizzazioni di Identity and Access Management (IAM) necessari per configurare i criteri di sicurezza di Google Cloud Armor. Per i casi d'uso in questo documento, è necessaria solo l'autorizzazione compute.securityPolicies.update.

Configura le autorizzazioni IAM per i criteri di sicurezza di Google Cloud Armor

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

  • Configurazione, modifica, aggiornamento ed eliminazione di un criterio di sicurezza di Google Cloud Armor
  • Utilizzare i seguenti metodi dell'API:
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

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

  • Impostazione di un criterio di sicurezza di Google Cloud Armor per un servizio di backend
  • Utilizzare i seguenti metodi dell'API:
    • BackendServices setSecurityPolicy
    • BackendServices list (solo gcloud)

Gli utenti con il ruolo Amministratore sicurezza (roles/iam.securityAdmin) e il ruolo Amministratore rete Compute possono visualizzare i criteri di sicurezza di Google Cloud Armor utilizzando i metodi dell'API SecurityPolicies get, list e getRule.

Configurazione delle autorizzazioni IAM per i ruoli personalizzati

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

Autorizzazioni 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

Attiva Adaptive Protection

Segui questi passaggi per abilitare Adaptive Protection per il tuo criterio di sicurezza. Adaptive Protection viene applicato singolarmente a ogni criterio di sicurezza.

Console

Per attivare Adaptive Protection per un criterio di sicurezza:

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

    Vai a Sicurezza di rete

  2. Nella pagina Norme, fai clic sul nome di un criterio di sicurezza.

  3. Fai clic su Modifica.

  4. In Adaptive Protection, seleziona Attiva.

  5. Fai clic su Update (Aggiorna).

Per disattivare Adaptive Protection per un criterio di sicurezza:

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

    Vai a Sicurezza di rete

  2. Nella pagina Norme, fai clic sul nome di un criterio di sicurezza.

  3. Fai clic su Modifica.

  4. In Adaptive Protection, deseleziona Abilita.

  5. Fai clic su Update (Aggiorna).

gcloud

Per attivare Adaptive Protection per un criterio di sicurezza:

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

Per disattivare Adaptive Protection per un criterio di sicurezza:

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

Configura modelli granulari

La funzionalità dei modelli granulari consente di configurare host o percorsi specifici come unità granulari analizzate da Adaptive Protection. Nei seguenti esempi, puoi creare unità di traffico granulari per ogni host, personalizzare un'unità di traffico granulare e configurare Adaptive Protection in modo che intervenga quando il traffico supera le query di riferimento al secondo (QPS). Per ulteriori informazioni sui modelli granulari, consulta la panoramica di Adaptive Protection.

Configura unità di traffico granulari

Negli esempi in questa sezione viene utilizzato 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 il funzionamento di Adaptive Protection con la granularità del servizio specificata.
--auto-deploy-impacted-baseline-threshold Soglia sull'impatto stimato di Adaptive Protection sul traffico di base 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 eventuali azioni intraprese dal deployment automatico.
--detection-load-threshold Soglia di rilevamento basata sul carico del servizio di backend.
--detection-absolute-qps Soglia di rilevamento basata su QPS assoluta.
--detection-relative-to-baseline-qps Soglia di rilevamento basata su QPS rispetto alla media del traffico di riferimento.

Nel primo esempio, configuri Adaptive Protection in modo da rilevare gli attacchi e suggerire mitigazioni indipendenti per ogni host dietro il servizio di backend, senza eseguire l'override di eventuali soglie predefinite.

gcloud

  1. Crea un criterio di sicurezza con il nome POLICY_NAME oppure utilizza un criterio di sicurezza esistente.
  2. Se Adaptive Protection non è già abilitato, utilizza il comando seguente per abilitare Adaptive Protection per il tuo criterio:
    gcloud compute security-policies update POLICY_NAME 
    --enable-layer7-ddos-defense
  3. Applica il criterio 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 diverse soglie di deployment e rilevamento automatici per alcune o tutte le unità di traffico granulari configurate nel primo esempio.

gcloud

  1. Se il deployment automatico di Adaptive Protection non è già abilitato, crea una regola segnaposto.
  2. Il seguente comando personalizza la soglia di deployment automatico per un'unità di traffico granulare con HTTP_HEADER_HOST pari a HOST e HTTP_PATH pari a PATH. Utilizza questo comando per ogni unità di traffico granulare che vuoi personalizzare, sostituendo le variabili in base alle esigenze di ciascun percorso dell'host e 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

Rilevare quando il volume degli attacchi supera il valore QPS medio di riferimento

Nell'esempio seguente, configurerai Adaptive Protection in modo da rilevare un attacco solo quando il volume dell'attacco supera di oltre il 50% il valore QPS medio di riferimento e solo quando il carico del servizio di backend supera il 90% della sua capacità.

gcloud

  1. Crea un criterio di sicurezza con il nome POLICY_NAME oppure utilizza un criterio di sicurezza esistente.
  2. Se Adaptive Protection non è già abilitato, utilizza il comando seguente per abilitare Adaptive Protection per il tuo criterio:

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

  4. Utilizza il comando seguente 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