Le sezioni seguenti illustrano il modo in cui Google Cloud Armor interagisce con altre funzionalità e altri prodotti Google Cloud.
Regole firewall di Google Cloud Armor e VPC
I criteri di sicurezza di Google Cloud Armor e le regole del firewall VPC hanno funzioni diverse:
- I criteri di sicurezza di Google Cloud Armor forniscono sicurezza perimetrale e agiscono sul traffico client verso i front-end di Google (GFEs).
- Le regole firewall VPC consentono o negano il traffico da e verso i tuoi backend. Devi creare regole firewall di autorizzazione in entrata, i cui target sono le VM di backend bilanciate in base al carico e le cui origini sono gli intervalli IP utilizzati dai bilanciatori del carico delle applicazioni esterni globali o dai bilanciatori del carico delle applicazioni classici. Queste regole consentono ai GFE e ai sistemi di controllo di integrità di comunicare con le VM di backend.
Ad esempio, considera uno scenario in cui vuoi consentire il traffico solo dall'intervallo CIDR 100.1.1.0/24 e dall'intervallo CIDR 100.1.2.0/24 per accedere al bilanciatore del carico delle applicazioni esterno globale o al bilanciatore del carico delle applicazioni classico. Il tuo obiettivo è assicurarti che il traffico non possa raggiungere direttamente le istanze di backend bilanciate in base al carico. In altre parole, solo il traffico esterno sottoposto a proxy tramite il bilanciatore del carico delle applicazioni esterno globale o il bilanciatore del carico delle applicazioni classico con un criterio di sicurezza associato deve raggiungere le istanze.
Nell'illustrazione precedente, raggiungi i tuoi obiettivi di sicurezza configurando il deployment di Google Cloud come segue:
- Crea due gruppi di istanze, uno nella regione
us-west1
e un altro nella regioneeurope-west1
. - Esegui il deployment delle istanze dell'applicazione di backend nelle VM dei gruppi di istanze.
- Crea un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico delle applicazioni classico nel livello Premium. Configura una mappa di URL semplice
e un singolo servizio di backend i cui backend sono i due gruppi di istanze
che hai creato nel passaggio precedente. Assicurati che la regola di forwarding del bilanciatore del carico utilizzi l'indirizzo IP esterno
120.1.1.1
. - Configura un criterio di sicurezza di Google Cloud Armor che consenta il traffico proveniente da 100.1.1.0/24 e 100.1.2.0/24 e neghi tutto il resto.
- Associa questo criterio al servizio di backend del bilanciatore del carico. Per le istruzioni, consulta Configurare i criteri di sicurezza. I bilanciatori del carico HTTP(S) esterni con mappe URL più complesse possono fare riferimento a più servizi di backend. Puoi associare il criterio di sicurezza a uno o più servizi di backend, in base alle esigenze.
- Configura le regole del firewall in entrata per consentire il traffico dall'Application Load Balancer esterno globale o dall'Application Load Balancer classico. Per ulteriori informazioni, consulta Regole firewall.
Google Cloud Armor con deployment ibridi
In un deployment ibrido, un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico delle applicazioni classico necessita dell'accesso a un'applicazione o a un'origine di contenuti in esecuzione al di fuori di Google Cloud, ad esempio nell'infrastruttura di un altro fornitore di servizi cloud. Puoi utilizzare Google Cloud Armor per proteggere queste implementazioni.
Nel seguente diagramma, il bilanciatore del carico ha due servizi di backend. Uno ha un gruppo di istanze come backend. L'altro servizio di backend ha un NEG internet come backend e il NEG internet è associato a un'applicazione in esecuzione nel data center di un fornitore di terze parti.
Quando colleghi un criterio di sicurezza Google Cloud Armor al servizio di backend che ha un NEG internet come backend, Google Cloud Armor ispeziona ogni richiesta L7 che arriva all'Application Load Balancer esterno globale o all'Application Load Balancer classico destinato a quel servizio di backend.
La protezione di Google Cloud Armor per le implementazioni ibride è soggetta alle stesse limitazioni che si applicano ai NEG internet.
Google Cloud Armor con Ingress di Google Kubernetes Engine (GKE)
Dopo aver configurato un criterio di sicurezza di Google Cloud Armor, puoi utilizzare Kubernetes Ingress per attivarlo con GKE.
Puoi fare riferimento al criterio di sicurezza con una risorsa BackendConfig
aggiungendo il nome del criterio di sicurezza a BackendConfig
. Il seguente manifest BackendConfig
specifica un criterio di sicurezza denominato example-security-policy
:
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
namespace: cloud-armor-how-to
name: my-backendconfig
spec:
securityPolicy:
name: "example-security-policy"
Per ulteriori informazioni sulle funzionalità di Ingress, consulta la pagina Configurazione delle funzionalità di Ingress.
Google Cloud Armor con Cloud CDN
Per proteggere i server di origine CDN, puoi utilizzare Google Cloud Armor con Cloud CDN. Google Cloud Armor protegge il server di origine CDN dagli attacchi alle applicazioni, riduce i rischi della Top 10 OWASP e applica i criteri di filtrazione di livello 7. Esistono due tipi di criteri di sicurezza che influiscono sul funzionamento di Google Cloud Armor con Cloud CDN: i criteri di sicurezza perimetrali e i criteri di sicurezza del backend.
Criteri di sicurezza perimetrale
Puoi utilizzare i criteri di sicurezza perimetrali per i servizi di backend abilitati per Cloud CDN e per i bucket di backend di Cloud Storage dietro il bilanciatore del carico delle applicazioni esterno globale o il bilanciatore del carico delle applicazioni classico. Utilizza i criteri di sicurezza di Edge per filtrare le richieste prima che i contenuti vengano pubblicati dalla cache.
Criteri di sicurezza del backend
Quando i criteri di sicurezza di backend di Google Cloud Armor vengono applicati ai servizi di backend con Cloud CDN abilitato, si applicano solo alle richieste instradate al servizio di backend. Queste richieste includono richieste di contenuti dinamici e fallimenti della cache, ovvero richieste che non trovano o bypassano la cache di Cloud CDN.
Quando i criteri di sicurezza perimetrali e i criteri di sicurezza di backend sono associati allo stesso servizio di backend, i criteri di sicurezza di backend vengono applicati solo per le richieste con fallimento della cache che hanno superato i criteri di sicurezza perimetrali.
Il seguente diagramma mostra esclusivamente il funzionamento dei criteri di sicurezza del backend con le origini Cloud CDN, dopo che le richieste sono state consentite dai criteri di sicurezza dell'edge.
Per ulteriori informazioni su Cloud CDN, consulta la documentazione di Cloud CDN.
Google Cloud Armor con Cloud Run, App Engine o Cloud Functions
Puoi utilizzare i criteri di sicurezza di Google Cloud Armor con un backend NEG serverless che punta a un servizio Cloud Run, App Engine o Cloud Run Functions.
Tuttavia, quando utilizzi Google Cloud Armor con NEG serverless, Cloud Run o funzioni Cloud Run, devi adottare misure speciali per assicurarti che tutto l'accesso all'endpoint serverless venga filtrato tramite un criterio di sicurezza Google Cloud Armor.
Gli utenti che dispongono dell'URL predefinito per un'applicazione serverless possono bypassare il bilanciamento del carico e andare direttamente all'URL del servizio. In questo modo vengono ignorati i criteri di sicurezza di Google Cloud Armor. Per risolvere il problema, disattiva l'URL predefinito assignedo automaticamente da Google Cloud ai servizi Cloud Run o alle funzioni Cloud Run (2ª generazione.). Per proteggere le applicazioni App Engine, puoi utilizzare i controlli di ingresso.
Se utilizzi i controlli di ingresso per assicurarti che i controlli di accesso vengano applicati a tutto il traffico in entrata, puoi utilizzare internal-and-gclb
quando configuri le funzioni Cloud Run o Cloud Run. In questo modo viene consentito solo il traffico interno e il traffico inviato a un indirizzo IP esterno esposto dal bilanciatore del carico delle applicazioni esterno globale o dal bilanciatore del carico delle applicazioni classico. Il traffico inviato a questi URL predefiniti dall'esterno della tua rete privata viene bloccato. In questo modo, gli utenti non possono aggirare i controlli di accesso (ad esempio i criteri di sicurezza di Google Cloud Armor) configurati tramite l'Application Load Balancer esterno globale o l'Application Load Balancer classico.
Per ulteriori informazioni sui NEG serverless, consulta la panoramica dei gruppi di endpoint di rete serverless e la sezione Configurazione di NEG serverless.
Passaggi successivi
- Configura criteri, regole ed espressioni di sicurezza
- Scopri le funzionalità dei livelli di Cloud Armor Enterprise
- Risolvere i problemi