Best practice per Google Cloud Armor

Questa pagina fornisce le best practice per l'ottimizzazione e l'ottimizzazione di Google Cloud Armor deployment di machine learning.

Il deployment di Google Cloud Armor viene eseguito con il bilanciatore del carico delle applicazioni esterno globale, il bilanciatore del carico delle applicazioni classico o il bilanciatore del carico di rete proxy esterno. Quando esegui il deployment di Google Cloud Armor, colleghi un al servizio di backend del bilanciatore del carico che vuoi proteggere. R I criteri di sicurezza sono costituiti da un insieme di regole preconfigurate e personalizzate che che hai stabilito.

Creazione di regole e criteri di sicurezza

Le seguenti sezioni contengono best practice e consigli per nuovi criteri e regole di sicurezza.

Fornisci le descrizioni delle regole

Utilizza le descrizioni delle regole per fornire ulteriore contesto su il motivo per cui è stata creata ogni regola e la funzione prevista della regola. La description ha un limite di 64 caratteri, quindi i riferimenti di gestione delle configurazioni o altri repository sono i più efficienti per catturare il contesto.

Valutare la spaziatura per la priorità

Quando configuri le regole inizialmente, lascia un intervallo di almeno 10 tra il valore di priorità di ogni regola. Ad esempio, le prime due regole in un criterio di sicurezza può avere priorità 20 e 30. In questo modo puoi inserire più regole quando ne hai bisogno che li rappresentano. Inoltre, consigliamo di raggruppare regole simili in blocchi, lasciando intervalli più ampi tra i gruppi.

Utilizzare la modalità di anteprima

Regole dei criteri di sicurezza, incluso Open Web Application Security Project (OWASP) può avere effetti imprevedibili sull'applicazione. Utilizza le funzionalità di modalità di anteprima, per valutare se l'introduzione di una regola ha un impatto negativo sul traffico di produzione.

Abilita Adaptive Protection di Google Cloud Armor

Abilita Adaptive Protection per una maggiore protezione delle applicazioni. Adaptive Protection monitora traffico e, se necessario, consiglia nuove regole per i criteri di sicurezza. Nel Inoltre, ti consigliamo di inserire criterio di avviso in garantire che vengano avvisate le persone giuste su potenziali attacchi informatici. Adaptive Protection è più adatto per la protezione volumetrica. Attacchi che non sono volumetrici potrebbero non attivare Adaptive Protection.

Abilita analisi JSON

Se la tua applicazione invia contenuti JSON nel corpo delle richieste POST, assicurati di abilitare l'analisi JSON. Se non abiliti l'analisi JSON, Google Cloud Armor non analizza il contenuto JSON dei corpi POST per regole WAF preconfigurate e i risultati possono essere rumorosi e generare positivi. Per ulteriori informazioni, vedi Analisi dei file JSON.

Testa la logica

Una regola viene attivata quando la sua condizione di corrispondenza è true; ad esempio la condizione di corrispondenza origin.region_code == 'AU' restituisce true se la regione il codice della richiesta è AU. Se una regola con priorità più elevata restituisce true, l'azione in una regola con priorità più bassa viene ignorata. Nell'esempio seguente, immagina di voler creare un criterio di sicurezza per bloccare gli utenti dal AU regione, tranne il traffico nell'intervallo di indirizzi IP 10.10.10.0/24. Prendi in considerazione il seguente criterio di sicurezza con due regole:

Rule1
expr: inIPRange(origin.ip, '10.10.10.0/24')
action: allow
priority: 1
Rule2
expr: origin.region_code == 'AU'
action: deny(403)
priority: 2

In questo esempio, Rule1 consente il traffico proveniente dall'indirizzo IP intervallo 10.10.10.0/24. Poiché Rule1 è la regola di priorità più alta, il traffico è consentito prima della valutazione rispetto a Rule2, il che significa che Google Cloud Armor non la valuta rispetto a Rule2 (o qualsiasi altro le altre regole).

Quando crei criteri Google Cloud Armor, testa la logica delle tue regole per garantire il comportamento previsto. A questo scopo, ti consigliamo di generare traffico sintetico per capire quali regole bloccano il traffico e per verificare che i risultati siano coerenti con le decisioni relative alla struttura delle regole. Se non hai la certezza di come possa passare una richiesta attraverso il sistema, usa la modalità di anteprima per vedere quale regola corrisponde alla richiesta.

Identifica gli indirizzi IP di origine dei tuoi scanner

I tuoi scanner di sicurezza possono trovarsi all'interno o all'esterno di Google. Se vuoi una valutazione esterna e senza filtri della tua applicazione, puoi consentire il traffico in base all'indirizzo IP (o a un altro token) prima di valutarlo rispetto ad altre regole.

Raggruppa e ordina le regole nel criterio di sicurezza

Le tue applicazioni potrebbero gestire sottoinsiemi diversi dei tuoi clienti. Nella Ad esempio, vuoi negare il traffico proveniente da determinate aree geografiche e gli intervalli IP, quindi la prima regola del criterio viene rifiutata questo tipo di traffico. Inoltre, vuoi consentire esplicitamente parte del traffico che un'applicazione senza che il criterio di sicurezza la elabori. Per questo esempio, consiglia la seguente struttura di priorità delle regole, dalla massima priorità a priorità minima:

  1. Regole di negazione esplicite (ASN, regione, intervalli IP)
  2. Regole di autorizzazione esplicite attendibili (scanner, sistemi attendibili, da utilizzare con estrema cautela)
  3. Regole di sicurezza (OWASP, regole personalizzate)
  4. Regole di autorizzazione esplicite (ASN, presenza di un valore di intestazione, intervallo IP)
  5. Regole di negazione predefinite

Utilizza reCAPTCHA per la gestione dei bot

Google Cloud Armor si integra con reCAPTCHA per i bot di Google a livello di WAF. In questa integrazione, genera token reCAPTCHA e Google Cloud Armor esegue i token. anziché reCAPTCHA. Questo riduce l'origine ridurre il carico di lavoro, riducendo potenzialmente i costi e avvicinando i controlli di sicurezza rispetto ai backend. Per ulteriori informazioni, vedi il panoramica sulla gestione dei bot.

Imposta soglie di limitazione di frequenza

La limitazione di frequenza è una funzionalità flessibile e preziosa per prevenire comportamenti illeciti e mitigazione di minacce a volumi elevati come credential stuffing o attacchi DDoS L7. Quando esegui il deployment della limitazione di frequenza per la prima volta, è importante scegliere appropriata per la tua applicazione. Ti consigliamo di iniziare con l'applicazione forzata in modalità di anteprima. Quando analizzi e comprendi il traffico profilo, puoi modificare i parametri della limitazione di frequenza. Inoltre, è importante considerare la priorità che assegni alla regola di limitazione di frequenza. Il traffico potrebbe essere consentito o negato in modo esplicito da una regola con priorità più elevata prima viene valutato in base alla regola di limitazione di frequenza.

Ottimizzazione delle regole

Le applicazioni web potrebbero consentire richieste che sembrano essere attacchi e potrebbero consentono, o addirittura richiedono, che gli utenti inviino richieste corrispondenti alle firme regole WAF preconfigurate. È fondamentale convalidare i tuoi Google Cloud Armor regola in base alla tua applicazione e gestisci eventuali risultati che potrebbero non essere pertinenti per la tua applicazione prima di promuovere la regola tramite la disattivazione della modalità di anteprima su un'applicazione di produzione. Le seguenti sezioni contengono best practice e consigli per l'ottimizzazione del modello WAF preconfigurato le regole del caso.

Scegli il livello di sensibilità delle regole WAF preconfigurato

Quando implementi una qualsiasi delle regole WAF preconfigurate, puoi scegliere un il livello di sensibilità appropriato in base ai requisiti e alle tempistiche di sicurezza. Ti consigliamo di iniziare con un livello di sensibilità di 1 per la maggior parte delle applicazioni che devono soddisfare i requisiti di sicurezza della tua organizzazione. Regole configurate per Sensibilità 1: usano firme ad alta fedeltà e riducono il potenziale rumore personalizzata. Le firme associate a sensibilità più elevate potrebbero rilevare e prevenire un un insieme più ampio di tentativi di exploit, a scapito del potenziale rumore per qualche delle applicazioni protette. Tuttavia, i carichi di lavoro sono soggetti a misure di sicurezza più rigide, potrebbero preferire il livello di sensibilità più elevato. Per questi casi d'uso, potrebbe esserci una grande quantità di rumore o risultati irrilevanti, di cui dovete utilizzando l'ottimizzazione prima che il criterio di sicurezza entri in produzione.

Attiva il logging dettagliato

Se hai bisogno di ulteriori informazioni su quali attributi della richiesta che attivano una particolare regola WAF, abilitano logging dettagliato. Logging dettagliato fornisce dettagli sulle richieste che attivano regole particolari, tra cui della parte in questione, ovvero utili per la risoluzione dei problemi e l'ottimizzazione di Google Cloud Armor. Poiché il livello di dettaglio il logging può far sì che i contenuti delle richieste degli utenti finali vengano registrati in Cloud Logging, è possibile che tu accumuli PII degli utenti finali nei tuoi log. Di conseguenza, non è consigliabile eseguire carichi di lavoro di produzione con il logging dettagliato abilitato per per lunghi periodi di tempo.

Utilizza regole stabili o canary

Esistono due tipi di regole WAF preconfigurate di Google Cloud Armor: stabile e canary. Quando vengono aggiunte nuove regole all'attuale set di regole ModSecurity Core (CRS), le pubblichiamo nelle build delle regole canary prima di pubblicarle automaticamente nelle build di regole stabili. Ti consigliamo di eseguire il deployment delle regole canary di test in modo da poter vedere gli effetti di eventuali modifiche e aggiunte nel tuo ambiente. Puoi controllare i nomi delle regole nella Ottimizzazione delle regole WAF di Google Cloud Armor per verificare se la build canary è sincronizzata con la build stabile.

Logging e monitoraggio

Le seguenti sezioni contengono best practice e consigli per configurazione del logging e del monitoraggio.

Utilizzare Security Command Center

Google Cloud Armor si integra automaticamente con Security Command Center. Google Cloud Armor esporta diversi risultati in Security Command Center:

  • Picco di traffico consentito
  • Aumento del tasso di negazione

Assicurati che il personale addetto alla sicurezza web esamini questi risultati.

Scegli una frequenza di campionamento di Cloud Logging

I log per richiesta di Google Cloud Armor utilizzano il bilanciatore del carico delle applicazioni esterno globale o logging del bilanciatore del carico delle applicazioni classico dell'infrastruttura. Di conseguenza, la generazione dei log di Google Cloud Armor è soggetta alla frequenza di campionamento dei log configurata sul bilanciatore del carico. Ti consigliamo di conservare la frequenza di campionamento a 1 quando l'ottimizzazione e l'implementazione Google Cloud Armor. Al termine dell'ottimizzazione e dell'implementazione di Google Cloud Armor, ti consigliamo di mantenere attivato il logging completo delle richieste. ma preferire un sottocampionamento a una velocità inferiore. Entrambi i campi Il bilanciatore del carico delle applicazioni esterno globale e il bilanciatore del carico delle applicazioni classico non abilita i log per impostazione predefinita, quindi è importante abilitare il logging manualmente.

Usa la dashboard di Cloud Monitoring

Visione chiara di ciò che sta succedendo in Google Cloud Armor la configurazione è essenziale. Per semplificare questa operazione, puoi utilizzare dashboard per la sicurezza. Inoltre, puoi esportare i log di Google Cloud Armor direttamente Logging sulla tua piattaforma. Se utilizzi Adaptive Protection, è importante avere un percorso di riassegnazione Avvisi di Adaptive Protection attivati.

Gestione generale

Di seguito sono riportate ulteriori best practice e consigli per configurazione di Google Cloud Armor.

Configura il controllo dell'accesso di Identity and Access Management

In conformità con le best practice generali di Google Cloud IAM, garantire che le persone giuste abbiano accesso a Google Cloud Armor. Il team di computing Per configurare, modificare, aggiornare ed eliminare è necessario il ruolo Amministratore sicurezza Criteri di sicurezza di Google Cloud Armor. Inoltre, l'amministratore della rete Compute è necessario un ruolo o l'autorizzazione compute.backendServices.setSecurityPolicy per collegare un criterio di sicurezza Google Cloud Armor a un servizio di backend.

Riduci al minimo il numero di criteri

Un criterio Google Cloud Armor può essere riutilizzato in più servizi di backend. Me di usare un insieme coerente di criteri di sicurezza riutilizzabili.

Utilizza Terraform

Per garantire che le configurazioni possano essere facilmente sottoposte a rollback e riprodotte tra progetti, consigliamo l'uso di Terraform. Google Cloud Armor è Integrazione Terraform per le funzionalità GA.

Configura Google Cloud Armor con Google Kubernetes Engine

Se utilizzi GKE, devi configurare Google Cloud Armor e altre funzionalità in entrata tramite BackendConfig parametri. Ti consigliamo di non configurare manualmente Bilanciatore del carico delle applicazioni esterno globale o bilanciatore del carico delle applicazioni classico fungere da punto di ingresso. Per ulteriori informazioni sulla configurazione Google Cloud Armor con GKE, consulta Configurazione delle funzionalità in entrata.