Esegui automaticamente il deployment 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 la regola automatica 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 upstream davanti al bilanciatore del carico delle applicazioni esterno, ad esempio un una rete CDN di terze parti, puoi configurare la regola segnaposto in modo che corrisponda alle richieste in base all'indirizzo IP del client originale da una o più intestazioni specificate. Per utilizzare di questa funzionalità in anteprima, configura l'opzione userIpRequestHeaders[] advancedOptionsConfig. Per ulteriori informazioni, consulta la documentazione di riferimento della risorsa ComputeSecurityPolicy.

Regole segnaposto di esempio

I comandi seguenti sono esempi di regole segnaposto per i criteri di sicurezza chiamate POLICY_NAME, ciascuna delle quali prevede un'azione della 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 Configurazione dei criteri di sicurezza di Google Cloud Armor.

Bloccare il traffico dannoso

Questa regola di esempio restituisce true per le richieste che Adaptive Protection si 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 un test 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

Limitazione di frequenza per il traffico dannoso

In questo esempio viene applicata la limitazione di frequenza di Google 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 il 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 è sotto 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: il deployment delle regole viene eseguito 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
  • Scadenza impostata: Google Cloud Armor smette di applicare l'azione nella di cui è stato eseguito il deployment automatico a un utente malintenzionato identificato dopo questo periodo di tempo. La regola continua a essere applicata alle nuove richieste.

    • Valore predefinito: 7200 secondi

Puoi usare il comando di esempio seguente per aggiornare il criterio di sicurezza in modo che utilizzi soglie di deployment automatico non predefinite. Sostituisci NAME con il nome del criterio di sicurezza e sostituisci le variabili rimanenti con i valori desiderati 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 la 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 prende un'azione su una richiesta come parte di una difesa automatica, il log delle richieste il campo adaptiveProtection.autoDeployAlertId aggiuntivo, che registra le l'ID avviso. Questo campo viene visualizzato in enforcedSecurityPolicy o previewSecurityPolicy, a seconda che il criterio di sicurezza fosse in modalità di anteprima.

Per visualizzare i log delle richieste, consulta Logging delle richieste. La il seguente screenshot mostra un esempio di protezione voce di log, con autoDeployed e adaptiveProtection.autoDeployAlertId campi.

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

Limitazioni

  • La protezione adattiva è 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.