Eseguire il deployment automatico delle regole suggerite da 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à superiore rispetto alle altre regole per il traffico legittimo ad alta priorità.

Se utilizzi un proxy a monte del bilanciatore del carico delle applicazioni esterno, ad esempio una CDN di terze parti, puoi configurare la regola del segnaposto in modo che corrisponda alle richieste in base all'indirizzo IP del client originale da un'intestazione o da intestazioni specifiche. Per utilizzare questa funzionalità di anteprima, configura l'opzione userIpRequestHeaders[] nel campo advancedOptionsConfig. Per ulteriori informazioni, consulta la documentazione di riferimento della risorsa ComputeSecurityPolicy.

Regole segnaposto di esempio

I seguenti comandi sono esempi di regole segnaposto per i criteri di sicurezza chiamati POLICY_NAME, ognuno dei quali presenta un'azione di regola diversa. Puoi aggiungere queste regole a un criterio di sicurezza esistente o crearne uno nuovo. Per maggiori informazioni sulla creazione dei criteri di sicurezza, consulta Configurare i criteri di sicurezza di Google Cloud Armor.

Bloccare il traffico dannoso

Questa regola di esempio restituisce true per le richieste che la Protezione adattiva identifica come traffico di attacco. Google 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

Reindirizzare il traffico dannoso a una verifica reCAPTCHA

Questa regola di esempio reindirizza il traffico identificato come malevolo da Adaptive Protection a una verifica reCAPTCHA:

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

Limitare la frequenza del traffico dannoso

Questo esempio applica limitazione di frequenza di Google Cloud Armor al traffico identificato come dannoso da Adaptive Protection:

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

Configurare 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 per un parametro, Google Cloud Armor utilizza il valore predefinito.

  • Soglia di carico: durante un attacco segnalato, Adaptive Protection identifica i nuovi utenti malintenzionati solo quando il carico sul servizio di backend sottoposto ad attacco supera questa soglia. Inoltre, le regole vengono implementate automaticamente solo per gli avvisi quando il carico sul servizio di backend sotto attacco supera questa soglia.

    • Valore predefinito: 0.8

  • Soglia di confidenza: le regole vengono implementate automaticamente solo per gli avvisi su potenziali attacchi con punteggi di confidenza superiori a questa soglia.

    • Valore predefinito: 0.5
  • Soglia di riferimento interessata: le regole vengono implementate automaticamente solo quando l'impatto stimato sul traffico di riferimento della mitigazione suggerita è inferiore a questa soglia.

    • Valore predefinito: 0.01 percento (0,01%, non 1%)
  • Impostazione di scadenza: Google Cloud Armor interrompe l'applicazione dell'azione nella regola di deployment automatico a un utente malintenzionato identificato dopo questa durata. La regola continua a essere applicata alle nuove richieste.

    • Valore predefinito: 7200 secondi

Puoi utilizzare il seguente comando di esempio per aggiornare il criterio di sicurezza in modo da utilizzare soglie non predefinite di cui è stato eseguito il deployment automatico. Sostituisci NAME con il nome del criterio di sicurezza e le variabili rimanenti con i valori che preferisci per il criterio.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-load-threshold LOAD_THRESHOLD
    --layer7-ddos-defense-auto-deploy-confidence-threshold CONFIDENCE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-impacted-baseline-threshold IMPACTED_BASELINE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-expiration-sec EXPIRATION_SEC
]

Logging

I log generati dalle regole di cui è stato eseguito il deployment automatico con Protezione adattiva contengono i seguenti campi aggiuntivi:

  • autoDeployed: dopo aver configurato il deployment automatico delle regole, ogni log di avviso generato da Adaptive Protection contiene il campo booleano autoDeployed, che indica se è stata attivata una difesa automatica.
  • adaptiveProtection.autoDeployAlertId: ogni volta che Adaptive Protection esegue un'azione su una richiesta nell'ambito di una difesa automatica, il log delle richieste contiene il campo aggiuntivo adaptiveProtection.autoDeployAlertId, che registra l'ID avviso. Questo campo viene visualizzato in enforcedSecurityPolicy o previewSecurityPolicy, a seconda che il criterio di sicurezza sia in modalità di anteprima.

Per visualizzare i log delle richieste, consulta Utilizzare 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 log di esempio di Adaptive Protection.
Un log di esempio di Adaptive Protection (fai clic per ingrandire).

Limitazioni

  • Adaptive Protection è disponibile solo per i criteri di sicurezza di backend collegati 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.