Configurare Cloud Armor Adaptive Protection

Questa pagina contiene informazioni sulla configurazione della protezione adattiva. Prima di configurare Adaptive Protection, assicurati di conoscere le informazioni contenute nella panoramica di Adaptive Protection e nei 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 i criteri 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 i criteri di sicurezza di Cloud Armor

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

  • Configurazione, modifica, aggiornamento ed eliminazione di un criterio di sicurezza Cloud Armor
  • Utilizzando i seguenti metodi 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 Cloud Armor per un servizio di backend
  • Utilizzando i seguenti metodi 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 le norme di sicurezza di Cloud Armor utilizzando i metodi API SecurityPolicies get, list e getRule.

Configurare le autorizzazioni IAM per i ruoli personalizzati

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

Autorizzazioni IAM Metodi 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 la protezione adattiva per le tue norme di sicurezza, segui questa procedura. Adaptive Protection viene applicato a ogni criterio di sicurezza singolarmente.

Console

Per attivare Adaptive Protection per un criterio di sicurezza:

  1. Nella console Google Cloud , vai alla pagina Network Security.

    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 Protezione adattiva, seleziona Attiva.

  5. Fai clic su Aggiorna.

Per disattivare Adaptive Protection per una policy di sicurezza:

  1. Nella console Google Cloud , vai alla pagina Network Security.

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

  5. Fai clic su 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 una policy 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. Negli esempi seguenti, crei unità di traffico granulari per ogni host, personalizzi un'unità di traffico granulare e configuri la protezione adattiva in modo che intervenga quando il traffico supera le query al secondo (QPS) di base. Per saperne di più sui modelli granulari, consulta la panoramica di Adaptive Protection.

Configura 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 abilitare Adaptive Protection in modo che funzioni con la 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 base.

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 abilitato, utilizza il seguente comando per abilitarlo per la tua policy:
    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 rilevamento e deployment automatico 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 è ancora 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 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 le QPS medie di riferimento

Nell'esempio seguente, configuri Adaptive Protection per rilevare un attacco solo quando il volume dell'attacco supera la QPS media di base 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 abilitato, utilizza il seguente comando per abilitarlo per il 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 seguente comando per configurare la protezione adattiva 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