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
- Un NEG serverless che invia traffico ad App Engine Cloud Run o Funzioni di Cloud Run.
- Un NEG internet che invia traffico a un'origine esterna.
- Valore predefinito:
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
- Valore predefinito:
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
- Valore predefinito:
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
- Valore predefinito:
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 booleanoautoDeployed
, 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 campoadaptiveProtection.autoDeployAlertId
aggiuntivo, che registra le l'ID avviso. Questo campo viene visualizzato inenforcedSecurityPolicy
opreviewSecurityPolicy
, 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.
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.