Utilizza queste istruzioni per creare criteri di sicurezza Google Cloud Armor per filtrare il traffico in entrata verso la tua applicazione. Per informazioni concettuali sui criteri di sicurezza, consulta la panoramica dei criteri di sicurezza di Google Cloud Armor.
Prima di iniziare
Prima di configurare i criteri di sicurezza:
Assicurati di avere familiarità con i concetti del bilanciatore del carico delle applicazioni esterno.
Esamina i servizi di backend esistenti per determinare quali non hanno già un criterio di sicurezza allegato. Questi servizi di backend e i relativi backend associati non sono protetti da Google Cloud Armor. Per aggiungere la protezione fornita da Google Cloud Armor, segui le istruzioni riportate in questo documento per collegare un criterio di sicurezza appena creato o esistente al servizio di backend.
Configura le autorizzazioni IAM per i criteri di sicurezza di Google Cloud Armor
Le seguenti operazioni richiedono il ruolo IAM
Amministratore sicurezza Identity and Access Management (roles/compute.securityAdmin
):
- Configurazione, modifica, aggiornamento ed eliminazione di un criterio di sicurezza Google Cloud Armor
- Utilizzando i seguenti metodi API:
SecurityPolicies insert
SecurityPolicies delete
SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Un utente con il ruolo Amministratore rete Compute (roles/compute.networkAdmin
)
può eseguire le seguenti operazioni:
- Impostazione di un criterio di sicurezza di Google Cloud Armor per un servizio di backend
- Utilizzando i seguenti metodi API:
BackendServices setSecurityPolicy
BackendServices list
(sologcloud
)
Gli utenti con il ruolo Amministratore sicurezza (roles/iam.securityAdmin
)
e il ruolo Amministratore rete Compute possono visualizzare i criteri di sicurezza di Google Cloud Armor utilizzando i metodi API SecurityPolicies
get
, list
e
getRule
.
Configurare le autorizzazioni IAM per i ruoli personalizzati
La tabella seguente elenca le autorizzazioni di base dei ruoli IAM e i metodi API associati.
Autorizzazioni IAM | Metodi API |
---|---|
compute.securityPolicies.create |
SecurityPolicies insert |
compute.securityPolicies.delete |
SecurityPolicies delete |
compute.securityPolicies.get |
SecurityPolicies get SecurityPolicies getRule |
compute.securityPolicies.list |
SecurityPolicies list |
compute.securityPolicies.use |
BackendServices setSecurityPolicy |
compute.securityPolicies.update |
SecurityPolicies patch SecurityPolicies addRule SecurityPolicies patchRule SecurityPolicies removeRule |
compute.backendServices.setSecurityPolicy |
BackendServices setSecurityPolicy |
Crea criteri di sicurezza
Puoi configurare le policy, le regole e le espressioni di sicurezza di Google Cloud Armor
utilizzando la console Google Cloud , Google Cloud CLI o l'API REST. Quando utilizzi gcloud CLI per creare criteri di sicurezza, utilizza il flag --type
per specificare se i criteri di sicurezza sono criteri di sicurezza di backend o criteri di sicurezza perimetrale.
Se non hai familiarità con la configurazione dei criteri di sicurezza, ti consigliamo di visualizzare esempi di criteri di sicurezza.
Espressioni di esempio
Di seguito sono riportate alcune espressioni di esempio. Per saperne di più sulle espressioni, consulta il riferimento per il linguaggio delle regole personalizzate di Google Cloud Armor.
Se stai configurando una regola o un'espressione che utilizza i codici paese o regione ISO 3166-1 alpha 2, Google Cloud Armor tratta ogni codice in modo indipendente. Le regole e le espressioni di Google Cloud Armor utilizzano esplicitamente questi codici regione per consentire o negare le richieste.
La seguente espressione corrisponde alle richieste provenienti dall'indirizzo IP
1.2.3.4
e contiene la stringaexample
nell'intestazione user-agent:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
In alternativa, puoi eseguire la corrispondenza in base all'intervallo di indirizzi IP di un'intestazione di indirizzo IP client personalizzato utilizzando l'attributo
origin.user_ip
:inIpRange(origin.user_ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
La seguente espressione corrisponde alle richieste che hanno un cookie con un valore specifico:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
La seguente espressione corrisponde alle richieste provenienti dalla regione
AU
:origin.region_code == 'AU'
La seguente espressione corrisponde alle richieste provenienti dalla regione
AU
che non rientrano nell'intervallo IP specificato:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
La seguente espressione corrisponde alle richieste con un percorso variabile numerato a un file specifico se l'URI corrisponde a un'espressione regolare:
request.path.matches('/path/[0-9]+/target_file.html')
La seguente espressione corrisponde alle richieste se il valore decodificato in Base64 dell'intestazione
user-id
contiene un valore specifico:has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
La seguente espressione utilizza un insieme di espressioni preconfigurato che corrisponde agli attacchi SQLi:
evaluatePreconfiguredWaf('sqli-stable')
Gestire i criteri di sicurezza
Utilizza le sezioni seguenti per elencare i criteri di sicurezza nel tuo progetto, aggiornarli, eliminarli o testarli.
Elenca criteri di sicurezza
Utilizza queste istruzioni per elencare tutti i criteri di sicurezza di Google Cloud Armor nel progetto attuale o in un progetto specificato.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Per visualizzare una policy specifica, fai clic sul relativo nome nell'elenco delle policy nella pagina Policy di sicurezza.
gcloud
gcloud compute security-policies list
Ad esempio:
gcloud compute security-policies list
NAME my-policy
Per ulteriori informazioni, vedi
gcloud compute security-policies list
.
Aggiornamento dei criteri di sicurezza
Utilizza queste istruzioni per aggiornare un criterio di sicurezza Google Cloud Armor. Ad esempio, puoi modificare la descrizione della norma, il comportamento della regola predefinita, il servizio di backend di destinazione o aggiungere nuove regole.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Per aggiornare una determinata norma, nella pagina Norme di sicurezza, nell'elenco delle norme, fai clic su
Menu per la norma che vuoi aggiornare.- Per aggiornare la descrizione delle norme dell'azione della regola predefinita, seleziona Modifica, apporta le modifiche e fai clic su Aggiorna.
- Per aggiungere una regola, seleziona Aggiungi regola e segui le istruzioni riportate in Aggiungere regole a un criterio di sicurezza.
- Per modificare il servizio di backend di destinazione per la norma, seleziona Applica norma alla destinazione, fai clic su Aggiungi destinazione, seleziona una destinazione e poi fai clic su Aggiungi.
gcloud
Per aggiornare un criterio di sicurezza, utilizza le seguenti istruzioni di Google Cloud CLI:
- Per aggiornare una regola in un criterio di sicurezza, vedi Aggiornare una singola regola in un criterio di sicurezza.
- Per aggiungere una regola a un criterio di sicurezza, vedi Aggiungere regole a un criterio di sicurezza.
- Per eliminare una regola da un criterio di sicurezza, consulta Eliminazione di regole da un criterio di sicurezza.
- Per aggiornare più regole in un unico aggiornamento (aggiornamento atomico), vedi Aggiornamento atomico di più regole in un criterio di sicurezza.
- Per aggiornare i campi non di regole in un criterio di sicurezza (ad esempio il campo della descrizione), vedi Esportazione dei criteri di sicurezza e Importazione dei criteri di sicurezza.
Elimina policy di sicurezza
Utilizza queste istruzioni per eliminare un criterio di sicurezza di Google Cloud Armor. Prima di poter eliminare la policy, devi rimuovere tutti i servizi di backend.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, seleziona la casella di controllo accanto al nome delle norme di sicurezza da eliminare.
Nell'angolo in alto a destra della pagina, fai clic su
Elimina.
gcloud
Utilizza gcloud compute security-policies delete NAME
.
Sostituisci NAME
con il nome della policy di sicurezza:
gcloud compute security-policies delete NAME
Testare le policy di sicurezza
Ti consigliamo di implementare tutte le nuove regole in modalità di anteprima, quindi di esaminare i log delle richieste per verificare che le norme e le regole si comportino come previsto.
Gestire le regole dei criteri di sicurezza
Utilizza le sezioni seguenti per elencare le regole del criterio di sicurezza, aggiungere regole, aggiornare regole o eliminare regole.
Elenca le regole in una policy di sicurezza
Utilizza queste istruzioni per elencare le regole in un criterio di sicurezza Google Cloud Armor.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma e le regole delle norme sono elencate nella scheda Regole al centro della pagina.
gcloud
Utilizza il seguente comando gcloud
per elencare tutte le regole in un singolo criterio di sicurezza
insieme a una descrizione del criterio:
gcloud compute security-policies describe NAME \
Utilizza il seguente comando gcloud
per descrivere una regola con la priorità specificata nel criterio di sicurezza specificato:
gcloud compute security-policies rules describe PRIORITY \ --security-policy POLICY_NAME
Ad esempio, il seguente comando descrive la regola con priorità 1000 nel criterio di sicurezza my-policy
:
gcloud compute security-policies rules describe 1000 \ --security-policy my-policy
Output:
action: deny(403) description: block traffic from 192.0.2.0/24 and 198.51.100.0/24 kind: compute#securityPolicyRule match: srcIpRanges: - '192.0.2.0/24' - '198.51.100.0/24' preview: false priority: 1000
Aggiungere regole a un criterio di sicurezza
Utilizza queste istruzioni per aggiungere regole a un criterio di sicurezza Google Cloud Armor.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, fai clic sulla scheda Regole.
Fai clic su Aggiungi regola.
(Facoltativo) Inserisci una descrizione della regola.
Seleziona la modalità:
- Modalità base: consente o nega il traffico in base agli indirizzi IP o agli intervalli IP.
- Modalità avanzata: consente o nega il traffico in base alle espressioni delle regole.
Nel campo Corrispondenza, specifica le condizioni in base alle quali la regola si applica:
Modalità di base: inserisci da uno (1) a 10 intervalli di indirizzi IP da corrispondere nella regola. Puoi aggiungere un massimo di 10 intervalli di indirizzi IP. Per i limiti, vedi Quote e limiti di Google Cloud Armor.
Modalità avanzata: inserisci un'espressione o delle sottoespressioni da valutare in base alle richieste in entrata. Per informazioni su come scrivere le espressioni e leggere gli esempi seguenti, consulta il riferimento al linguaggio delle regole personalizzate.
La seguente espressione corrisponde alle richieste provenienti dall'indirizzo IP
1.2.3.4
e contiene la stringaexample
nell'intestazione user-agent:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
La seguente espressione corrisponde alle richieste che hanno un cookie con un valore specifico:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
La seguente espressione corrisponde alle richieste provenienti dalla regione
AU
:origin.region_code == 'AU'
La seguente espressione corrisponde alle richieste provenienti dalla regione
AU
che non rientrano nell'intervallo IP specificato:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
La seguente espressione corrisponde alle richieste se l'URI corrisponde a un'espressione regolare:
request.path.matches('/example_path/')
La seguente espressione corrisponde alle richieste se il valore decodificato in Base64 dell'intestazione
user-id
contiene un valore specifico:has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
La seguente espressione utilizza un insieme di espressioni preconfigurato per corrispondere agli attacchi SQLi:
evaluatePreconfiguredWaf('sqli-stable')
Per Azione, seleziona Consenti o Nega.
Se stai configurando una regola di rifiuto, seleziona un messaggio di Stato di rifiuto.
Se vuoi attivare la modalità di anteprima per la regola, seleziona la casella di controllo Attiva.
Nel campo Priority (Priorità), inserisci un numero intero positivo.
Fai clic su Aggiungi.
gcloud
Utilizza il comando
gcloud compute security-policies rules create PRIORITY
.
Sostituisci PRIORITY
con la priorità della regola nel criterio:
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview
Ad esempio, il seguente comando aggiunge una regola per bloccare il traffico dagli intervalli di indirizzi IP 192.0.2.0/24 e 198.51.100.0/24. La regola ha priorità
1000 ed è una regola in un criterio denominato my-policy
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \ --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \ --action "deny-403"
Utilizza il flag --expression
per specificare una condizione nel
riferimento per il linguaggio delle regole personalizzate.
Il seguente comando aggiunge una regola per consentire il traffico dall'indirizzo IP
1.2.3.4
e contiene la stringa example
nell'intestazione user-agent:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \ --action allow \ --description "Block User-Agent 'example'"
Il comando seguente aggiunge una regola per bloccare le richieste se il cookie della richiesta contiene un valore specifico:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('80=BLAH')" \ --action deny-403 \ --description "Cookie Block"
Il seguente comando aggiunge una regola per bloccare le richieste provenienti dalla regione AU
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == 'AU'" \ --action deny-403 \ --description "AU block"
Il seguente comando aggiunge una regola per bloccare le richieste provenienti dalla regione AU
che non rientrano nell'intervallo IP specificato:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')" \ --action deny-403 \ --description "country and IP block"
Il seguente comando aggiunge una regola per bloccare le richieste con un URI che corrisponde a un'espressione regolare:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "request.path.matches('/example_path/')" \ --action deny-502 \ --description "regex block"
Il seguente comando aggiunge una regola per bloccare le richieste se il valore decodificato in Base64
dell'intestazione user-id
contiene un valore specifico:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \ --action deny-403 \ --description "country and IP block"
Il seguente comando aggiunge una regola che utilizza un insieme di espressioni preconfigurato per mitigare gli attacchi SQLi:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "evaluatePreconfiguredWaf('sqli-stable')" \ --action deny-403
Aggiornare una singola regola in una policy di sicurezza
Utilizza queste istruzioni per aggiornare una singola regola in un criterio di sicurezza di Google Cloud Armor. Per aggiornare atomicamente più regole, vedi Aggiornare atomicamente più regole in un criterio di sicurezza.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, fai clic sulla scheda Regole.
Accanto alla regola che vuoi aggiornare, fai clic su
Modifica. Viene visualizzata la pagina Modifica regola.Apporta le modifiche e fai clic su Aggiorna.
gcloud
Utilizza questo comando per aggiornare una regola con la priorità specificata in un criterio di sicurezza designato. Puoi aggiornare un solo criterio di sicurezza alla volta utilizzando questo comando:
gcloud compute security-policies rules update PRIORITY [ \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview ]
Ad esempio, il seguente comando aggiorna una regola con priorità 1111 per consentire il traffico dall'intervallo di indirizzi IP 192.0.2.0/24:
gcloud compute security-policies rules update 1111 \ --security-policy my-policy \ --description "allow traffic from 192.0.2.0/24" \ --src-ip-ranges "192.0.2.0/24" \ --action "allow"
Per ulteriori informazioni su questo comando, consulta
gcloud compute security-policies rules update
.
Per aggiornare la priorità di una regola, devi utilizzare l'API REST. Per saperne di più, consulta securityPolicies.patchRule
.
Aggiornare in modo atomico più regole in un criterio di sicurezza
Un aggiornamento atomico applica le modifiche a più regole in un unico aggiornamento. Se aggiorni le regole una per una, potresti notare un comportamento imprevisto perché le regole vecchie e nuove potrebbero funzionare insieme per un breve periodo di tempo.
Per aggiornare atomicamente più regole, esporta il criterio di sicurezza corrente in un file JSON o YAML, quindi modificalo. Utilizza il file modificato per creare una nuova norma di sicurezza, quindi cambia la norma di sicurezza per i servizi di backend pertinenti.
gcloud
Esporta la norma da aggiornare, come mostrato nell'esempio seguente:
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
La policy esportata sarà simile all'esempio seguente:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredWaf('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 2 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Utilizza un editor di testo qualsiasi per modificare il criterio. Ad esempio, puoi modificare le priorità delle regole esistenti e aggiungere una nuova regola:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredWaf('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-new-rule match: config: srcIpRanges: - '1.2.3.1' versionedExpr: SRC_IPS_V1 preview: false priority: 10 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 11 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Crea un nuovo criterio di sicurezza di Google Cloud Armor e specifica il nome e il formato del file modificato, come mostrato nell'esempio seguente:
gcloud compute security-policies create new-policy \ --file-name modified-policy \ --file-format yaml
Rimuovi la vecchia policy di sicurezza dal servizio di backend pertinente, come mostrato nell'esempio seguente:
gcloud compute backend-services update my-backend \ --security-policy ""
Aggiungi il nuovo criterio di sicurezza al servizio di backend, come mostrato nell'esempio seguente:
gcloud compute backend-services update my-backend \ --security-policy new-policy
Se il vecchio criterio non viene utilizzato, eliminalo:
gcloud compute security-policies delete my-policy
Eliminare le regole da un criterio di sicurezza
Utilizza queste istruzioni per eliminare le regole da un criterio di sicurezza Google Cloud Armor.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Fai clic sul nome del criterio di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, nella scheda Regole, seleziona la casella di controllo accanto alla regola da eliminare.
Fai clic su
Elimina.
gcloud
Utilizza questo comando per rimuovere una regola con la priorità specificata da un criterio di sicurezza designato. Puoi modificare una sola norma di sicurezza alla volta, ma puoi eliminare più regole contemporaneamente:
gcloud compute security-policies rules delete PRIORITY [...] [ --security-policy POLICY_NAME \ ]
Ad esempio:
gcloud compute security-policies rules delete 1000 \ --security-policy my-policy
Allegare e rimuovere criteri di sicurezza
Utilizza le sezioni seguenti per collegare e rimuovere i criteri di sicurezza dai servizi di backend e dai bucket di backend.
Collegare una policy di sicurezza a un servizio di backend
Utilizza queste istruzioni per collegare un criterio di sicurezza Google Cloud Armor a un servizio di backend. Un criterio di sicurezza può essere collegato a più di un servizio di backend, ma un servizio di backend può avere collegato un solo criterio di sicurezza per ogni tipo.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, fai clic sulla scheda Target.
Fai clic su Applica criterio a una nuova destinazione.
Fai clic su Aggiungi target.
Nell'elenco Target, seleziona un target e poi fai clic su Aggiungi.
gcloud
Quando colleghi un criterio di sicurezza del backend a un servizio di backend, utilizza il
comando gcloud compute backend-services
e il flag --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy my-policy
Quando colleghi un criterio di sicurezza perimetrale a un servizio di backend, utilizza il comando
gcloud compute backend-services
e il flag
--edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy my-policy
Rimuovere una policy di sicurezza da un servizio di backend
Utilizza queste istruzioni per rimuovere una policy di sicurezza del backend o una policy di sicurezza edge di Google Cloud Armor da un servizio di backend.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, fai clic sulla scheda Target.
Seleziona il servizio di backend di destinazione da cui stai rimuovendo la policy.
Fai clic su Rimuovi.
Nel messaggio Rimuovi target, fai clic su Rimuovi.
gcloud
Quando rimuovi una policy di sicurezza del backend, utilizza il comando gcloud compute
backend-services
e il flag --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy ""
Quando rimuovi una policy di sicurezza perimetrale, utilizza il comando gcloud compute
backend-services
e il flag --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy ""
Collega un criterio di sicurezza a un bucket di backend
Utilizza queste istruzioni per collegare un criterio di sicurezza edge di Google Cloud Armor a un bucket di backend. Un criterio di sicurezza perimetrale può essere collegato a più di un bucket di backend.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, fai clic sulla scheda Target.
Fai clic su Applica criterio a una nuova destinazione.
Fai clic su Aggiungi target.
Nell'elenco Target, seleziona un target e poi fai clic su Aggiungi.
gcloud
Quando colleghi un criterio di sicurezza perimetrale a un bucket di backend, utilizza il comando
cloud compute backend-buckets
e il flag
--edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy my-edge-policy
Rimuovere una policy di sicurezza da un bucket di backend
Utilizza queste istruzioni per rimuovere una policy di sicurezza edge di Google Cloud Armor da un bucket di backend.
Console
Nella console Google Cloud , vai alla pagina Policy Google Cloud Armor.
Nella pagina Norme di sicurezza, fai clic sul nome delle norme di sicurezza. Viene visualizzata la pagina Dettagli norma.
Al centro della pagina, fai clic sulla scheda Target.
Seleziona il servizio di backend di destinazione da cui stai rimuovendo la policy.
Fai clic su Rimuovi.
Nel messaggio Rimuovi target, fai clic su Rimuovi.
gcloud
Quando rimuovi una policy di sicurezza perimetrale da un bucket di backend, utilizza il
comando cloud compute backend-buckets
e il
flag --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy ""
Importazione ed esportazione delle norme di sicurezza
Utilizza le sezioni seguenti per importare ed esportare i criteri di sicurezza come file YAML o JSON.
Importare criteri di sicurezza
Puoi importare i criteri di sicurezza di Google Cloud Armor da un file YAML o JSON
utilizzando Google Cloud CLI. Non puoi utilizzare il comando import
per aggiornare le regole di una policy esistente. Devi invece aggiornare le regole una alla volta utilizzando la procedura
Aggiornamento di una singola regola in un criterio di sicurezza o tutte
contemporaneamente utilizzando la procedura
Aggiornamento atomico di più regole in un criterio di sicurezza.
gcloud
Per importare i criteri di sicurezza, utilizza il comando
gcloud compute security-policies import NAME
.
Sostituisci NAME
con il nome della norma di sicurezza che
stai importando. Se non fornisci il formato del file, viene presupposto il formato corretto
in base alla struttura del file. Se la struttura non è valida, viene visualizzato un errore.
gcloud compute security-policies import NAME \ --file-name FILE_NAME \ [--file-format FILE_FORMAT]
Ad esempio, il seguente comando aggiorna il criterio my-policy
importando il file my-file
.
gcloud compute security-policies import my-policy \ --file-name my-file \ --file-format json
Se l'impronta del criterio non è aggiornata quando lo importi, Google Cloud Armor mostra un errore. Ciò significa
che le norme sono state modificate dall'ultima esportazione. Per risolvere il problema,
utilizza il comando describe
nella policy per ottenere l'ultima impronta.
Unisci eventuali differenze tra la policy descritta e la tua policy, quindi sostituisci l'impronta obsoleta con quella più recente.
Esportare criteri di sicurezza
Puoi esportare un criterio di sicurezza di Google Cloud Armor come file YAML o JSON utilizzando Google Cloud CLI. L'esportazione di una norma consente di recuperarne una copia che puoi modificare o salvare nel controllo del codice sorgente.
gcloud
Nel seguente comando,
NAME
è il nome del criterio di sicurezza. I formati di file validi sono YAML e JSON. Se non fornisci il formato del file, Google Cloud Armor utilizza il formato YAML predefinito.gcloud compute security-policies export NAME \ --file-name FILE_NAME \ --file-format FILE_FORMAT
L'esempio seguente esporta il criterio di sicurezza
my-policy
nel filemy-file
in formato YAML:gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
L'esempio seguente mostra un criterio di sicurezza esportato:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: allow description: default rule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Puoi modificare il file esportato con qualsiasi editor di testo e poi importarlo di nuovo in Google Cloud utilizzando il comando
import
.
Elenco delle regole preconfigurate disponibili
Elenca le regole preconfigurate per visualizzare le regole e le firme di protezione delle applicazioni predefinite, ad esempio il set di regole di base OWASP fornito da Google Cloud Armor. Queste regole preconfigurate contengono più firme integrate che Google Cloud Armor utilizza per la valutazione rispetto alle richieste in entrata. Aggiungi queste regole preconfigurate a regole nuove o esistenti utilizzando il riferimento al linguaggio delle regole personalizzate.
Per ulteriori informazioni, vedi Regole preconfigurate.
gcloud
Esegui il comando
gcloud compute security-policies list-preconfigured-expression-sets
:gcloud compute security-policies list-preconfigured-expression-sets
L'esempio seguente mostra la forma dell'output del comando:
EXPRESSION_SET expression-set-1 RULE_ID SENSITIVITY expression-set-1-id-1 sensitivity-value-1 expression-set-1-id-2 sensitivity-value-2 expression-set-2 alias-1 RULE_ID SENSITIVITY expression-set-2-id-1 sensitivity-value-1 expression-set-2-id-2 sensitivity-value-2
L'esempio seguente include un campione dell'output effettivo del comando. Tieni presente che l'output effettivo includerebbe tutte le regole elencate in Ottimizzazione delle regole WAF di Google Cloud Armor.
gcloud compute security-policies list-preconfigured-expression-sets
EXPRESSION_SET sqli-canary RULE_ID SENSITIVITY owasp-crs-v030001-id942110-sqli 2 owasp-crs-v030001-id942120-sqli 2 … xss-canary RULE_ID SENSITIVITY owasp-crs-v030001-id941110-xss 1 owasp-crs-v030001-id941120-xss 1 … sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
Passaggi successivi
- Ottimizzare le regole del web application firewall (WAF)
- Risolvere i problemi
- Utilizzare il riferimento per il linguaggio delle regole personalizzate