Esegui il deployment automatico delle regole suggerite di Adaptive Protection

Questo documento fornisce i passaggi di configurazione per il deployment automatico delle regole suggerite generate da Adaptive Protection. Per attivare il deployment automatico delle regole, devi creare una regola segnaposto con i seguenti valori:

  • Espressione di corrispondenza: evaluateAdaptiveProtectionAutoDeploy()
  • Azione: Qualsiasi
  • Priorità: Qualsiasi. Ti consigliamo di impostare una regola di autorizzazione esplicita con una priorità più elevata rispetto alle altre regole per il traffico legittimo e ad alta priorità.

Se utilizzi un proxy upstream davanti al bilanciatore del carico delle applicazioni esterno, ad esempio una CDN di terze parti, puoi configurare la regola segnaposto per determinare le richieste corrispondenti in base all'indirizzo IP del client originale da una o più intestazioni specificate. Per utilizzare questa funzionalità in anteprima, configura l'opzione userIpRequestHeaders[] nel campo advancedOptionsConfig. Per saperne di più, consulta il riferimento per la risorsa ComputeSecurityPolicy.

Esempio di regole segnaposto

I seguenti comandi sono esempi di regole segnaposto per le policy di sicurezza denominate POLICY_NAME, ognuna delle quali presenta un'azione della regola diversa. Puoi aggiungere queste regole a una policy di sicurezza esistente o crearne una nuova. Per saperne di più sulla creazione di policy di sicurezza, consulta Configura le policy di sicurezza di Cloud Armor.

Blocca il traffico dannoso

Questa regola di esempio restituisce true per le richieste che Adaptive Protection identifica come traffico di attacco. Cloud Armor applica l'azione di blocco alla richiesta di attacco:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action deny-403

Reindirizza il traffico dannoso a una verifica reCAPTCHA

Questa regola di esempio reindirizza il traffico che Adaptive Protection identifica come dannoso a una verifica reCAPTCHA:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action redirect \
    --redirect-type google-recaptcha

Limita la frequenza del traffico dannoso

Questo esempio applica la limitazione di frequenza di Cloud Armor al traffico che Adaptive Protection identifica come dannoso:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action throttle \
    --rate-limit-threshold-count 500 \
    --rate-limit-threshold-interval-sec 120 \
    --conform-action allow \
    --exceed-action deny-404 \
    --enforce-on-key ip

Configura i parametri di deployment automatico di Adaptive Protection

Puoi configurare le soglie per il deployment automatico delle regole ottimizzando i seguenti parametri. Se non imposti il valore di un parametro, Cloud Armor utilizza il valore predefinito.

  • Soglia di carico: durante un attacco segnalato, Adaptive Protection identifica nuovi utenti malintenzionati solo quando il carico sul servizio di backend sotto attacco supera questa soglia. Inoltre, il deployment delle regole viene eseguito automaticamente solo per gli avvisi generati quando il carico sul servizio di backend sotto attacco supera questa soglia.

    • Valore predefinito: 0.8

  • Soglia di confidenza: il deployment delle regole viene eseguito automaticamente solo per gli avvisi relativi a potenziali attacchi con punteggi di confidenza superiori a questa soglia.

    • Valore predefinito: 0.5
  • Soglia di riferimento interessata: il deployment delle regole viene eseguito automaticamente solo quando l'impatto stimato sul traffico di riferimento della mitigazione suggerita è inferiore a questa soglia. impactedBaselineProportion e impactedbaselinePolicyProportion devono essere inferiori alla soglia di riferimento interessata.

    • Valore predefinito: 0.01 (1%)
  • Scadenza impostata: Cloud Armor smette di applicare l'azione nella regola con deployment automatico a un utente malintenzionato identificato dopo questa durata. La regola continua a operare per le nuove richieste.

    • Valore predefinito: 7200 secondi

Il seguente comando aggiunge le configurazioni delle soglie di difesa DDoS di livello 7 alle policy di sicurezza.

gcloud compute security-policies add-layer7-ddos-defense-threshold-config NAME
[FLAG = VALUE]

Sostituisci quanto segue:

  • NAME: il nome della policy di sicurezza.
  • FLAG: il parametro della soglia di difesa.
  • VALUE: il valore del parametro della soglia di difesa.

Per saperne di più, consulta Configura unità di traffico granulari.

Il seguente comando aggiorna la policy di sicurezza in modo che utilizzi soglie non predefinite con deployment automatico. Puoi impostare al massimo uno dei parametri auto_deploy_config e threshold_config. L'impostazione di più di un flag causa un errore.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-PARAMETER VALUE
]

Sostituisci quanto segue:

  • NAME: il nome della policy di sicurezza.
  • PARAMETER: il parametro di deployment automatico. Può essere uno dei seguenti:
    • load-threshold
    • confidence-threshold
    • impacted-baseline-threshold
    • expiration-sec
  • VALUE: il valore del parametro di deployment automatico.

Logging

I log generati dalle regole di cui è stato eseguito il deployment automatico con Adaptive Protection hanno i seguenti campi aggiuntivi:

  • autoDeployed: dopo aver configurato il deployment automatico delle regole, ogni log degli avvisi generato da Adaptive Protection ha il campo booleano autoDeployed, che indica se è stata attivata una difesa automatica. Quando autoDeployed è impostato su true, indica che la regola segnaposto evaluateAdaptiveProtectionAutoDeploy() ha già valutato che la soglia di confidenza e la soglia di riferimento interessata dell'attacco hanno superato i parametri di deployment automatico configurati. Il sistema inizia quindi a monitorare il carico dinamico. Una volta che il carico supera la soglia di carico configurata, viene eseguito il deployment automatico della regola per mitigare l'attacco.
  • adaptiveProtection.autoDeployAlertId: ogni volta che Adaptive Protection esegue un'azione su una richiesta nell'ambito di una difesa automatica, il log delle richieste ha il campo aggiuntivo adaptiveProtection.autoDeployAlertId, che registra l'ID avviso. Questo campo si trova in enforcedSecurityPolicy, oppure in previewSecurityPolicy se la policy di sicurezza è in modalità di anteprima.

Per visualizzare i log delle richieste, consulta Utilizza il logging delle richieste. Lo screenshot seguente mostra un esempio di voce di log di Adaptive Protection, con i campi autoDeployed e adaptiveProtection.autoDeployAlertId.

Un esempio di log di Adaptive Protection.
Esempio di log di Adaptive Protection (fai clic per ingrandire).

Limitazioni

  • Adaptive Protection è disponibile solo per le policy di sicurezza del backend collegate ai servizi di backend esposti tramite un bilanciatore del carico delle applicazioni esterno. Adaptive Protection non è disponibile per i bilanciatori del carico di rete proxy esterni.