Configura Adaptive Protection di Google Cloud Armor

Questa pagina contiene informazioni sulla configurazione di Adaptive Protection. Prima del giorno configuri Adaptive Protection, assicurati di conoscere bene le le informazioni nel Panoramica di Adaptive Protection e con i Casi d'uso di Adaptive Protection.

Prima di iniziare

Le sezioni seguenti spiegano tutti i ruoli e tutti i ruoli IAM (Identity and Access Management) autorizzazioni necessarie per configurare i criteri di sicurezza di Google Cloud Armor. Per casi d'uso di questo documento, è sufficiente Autorizzazione compute.securityPolicies.update.

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

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

  • Configurazione, modifica, aggiornamento ed eliminazione di Google Cloud Armor criterio di sicurezza
  • Se utilizzi 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
  • Se utilizzi i seguenti metodi dell'API:
    • BackendServices setSecurityPolicy
    • BackendServices list (solo gcloud)

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

Configura le autorizzazioni IAM per i ruoli personalizzati

La tabella seguente elenca i ruoli IAM autorizzazioni di base e i 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

Abilita Adaptive Protection

Segui questi passaggi per attivare Adaptive Protection per la tua 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 Criteri, fai clic sul nome di un criterio di sicurezza.

  3. Fai clic su Modifica.

  4. In Adaptive Protection, seleziona Attiva.

  5. Fai clic su 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 Criteri, fai clic sul nome di un criterio di sicurezza.

  3. Fai clic su Modifica.

  4. In 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 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 le unità granulari analizzate da Adaptive Protection. Nei seguenti esempi, puoi creare unità di traffico granulari per ogni host, personalizzare un e configurare Adaptive Protection in modo che intervenga quando il traffico supera le query al secondo (QPS) di riferimento. Per ulteriori informazioni sui dettagli i modelli, consulta Panoramica di Adaptive Protection.

Configura unità di traffico granulari

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

Bandiera Descrizione
--threshold-config-name Il nome della configurazione della soglia.
--traffic-granularity-configs Opzioni di configurazione per l'attivazione di Adaptive Protection la granularità del servizio specificata.
--auto-deploy-impacted-baseline-threshold Soglia dell'impatto stimato di Adaptive Protection sul il 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 azioni, se presenti, eseguite 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 assolute.
--detection-relative-to-baseline-qps Soglia di rilevamento basata su QPS rispetto alla media di riferimento per via del traffico.

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

gcloud

  1. Crea un criterio di sicurezza denominato POLICY_NAME o usare 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. Usa il seguente comando add-layer7-ddos-defense-threshold-config con il flag --traffic-granularity-configs per configurare un traffico granulare unità:
    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 diversi deployment e rilevamento automatici soglie 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à abilitato, crea una regola segnaposto.
  2. Il comando seguente personalizza la soglia di deployment automatico per una unità di traffico con un HTTP_HEADER_HOST di HOST e un HTTP_PATH di PATH. Utilizza questo comando per ogni unità di traffico granulare che desideri personalizzare, sostituendo variabili secondo necessità per ciascun 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 attacco supera il valore QPS medio di riferimento

Nell'esempio seguente, configuri Adaptive Protection per rilevare un attacco solo quando il volume degli attacchi supera di oltre il valore QPS medio di base del 50% e solo quando il carico del servizio di backend è superiore al 90% del suo e la capacità di archiviazione.

gcloud

  1. Crea un criterio di sicurezza denominato POLICY_NAME o usare un criterio di sicurezza esistente.
  2. Se Adaptive Protection non è già abilitato, usa quanto segue 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. Usa 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