Utilizza queste istruzioni per creare policy di sicurezza Google Cloud Armor per filtrare il traffico in entrata verso la tua applicazione. Per informazioni concettuali sulle policy di sicurezza, consulta la panoramica delle policy di sicurezza di Cloud Armor.
Prima di iniziare
Prima di configurare le policy 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à una policy di sicurezza allegata. Questi servizi di backend e i relativi backend non sono protetti da Cloud Armor. Per aggiungere la protezione fornita da Cloud Armor, utilizza le istruzioni riportate in questo documento per collegare una policy di sicurezza appena creata o esistente al servizio di backend.
Configura le autorizzazioni IAM per le policy di sicurezza di Cloud Armor
Le seguenti operazioni richiedono il ruolo Identity and Access Management (IAM) Compute Security Admin (roles/compute.securityAdmin):
- Configurare, modificare, aggiornare ed eliminare una policy di sicurezza Cloud Armor
- Utilizzare i seguenti metodi API:
SecurityPolicies insertSecurityPolicies deleteSecurityPolicies patchSecurityPolicies addRuleSecurityPolicies patchRuleSecurityPolicies removeRule
Un utente con il ruolo Compute Network Admin (roles/compute.networkAdmin) può eseguire le seguenti operazioni:
- Impostare una policy di sicurezza di Cloud Armor per un servizio di backend
- Utilizzare i seguenti metodi API:
BackendServices setSecurityPolicyBackendServices list(sologcloud)
Gli utenti con il ruolo Security Admin (roles/iam.securityAdmin) e il ruolo Compute Network Admin (roles/compute.networkAdmin) possono visualizzare le policy di sicurezza di Cloud Armor utilizzando i metodi dell'API SecurityPolicies get, list e getRule.
Configura le autorizzazioni IAM per i ruoli personalizzati
La tabella seguente elenca le autorizzazioni di base dei ruoli IAM e i metodi dell'API associati.
| Autorizzazione IAM | Metodi dell'API |
|---|---|
compute.securityPolicies.create |
SecurityPolicies insert |
compute.securityPolicies.delete |
SecurityPolicies delete |
compute.securityPolicies.get |
SecurityPolicies getSecurityPolicies getRule |
compute.securityPolicies.list |
SecurityPolicies list |
compute.securityPolicies.use |
BackendServices setSecurityPolicy |
compute.securityPolicies.update |
SecurityPolicies patchSecurityPolicies addRuleSecurityPolicies patchRuleSecurityPolicies removeRule |
compute.backendServices.setSecurityPolicy |
BackendServices setSecurityPolicy |
Crea policy di sicurezza
Puoi configurare le policy, le regole e le espressioni di sicurezza di Cloud Armor
utilizzando la console Google Cloud , Google Cloud CLI o l'API REST. Quando utilizzi gcloud CLI per creare policy di sicurezza, utilizza il flag --type per specificare se le policy di sicurezza sono policy di sicurezza di backend o policy di sicurezza perimetrale.
Se non hai familiarità con la configurazione delle policy di sicurezza, ti consigliamo di visualizzare policy di sicurezza di esempio.
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 Cloud Armor.
Se stai configurando una regola o un'espressione che utilizza i codici paese o regione ISO 3166-1 alpha 2, Cloud Armor tratta ogni codice in modo indipendente. Le regole e le espressioni di 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.4e contiene la stringaexamplenell'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
AUche 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-idcontiene 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 la corrispondenza con gli attacchi SQLi:
evaluatePreconfiguredWaf('sqli-stable')
Gestisci le policy di sicurezza
Utilizza le sezioni seguenti per elencare le policy di sicurezza nel tuo progetto, aggiornarli, eliminarli o testarli.
Elenca policy di sicurezza
Utilizza queste istruzioni per elencare tutte le policy di sicurezza di Cloud Armor nel progetto attuale o in un progetto specificato.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Per visualizzare una policy specifica, nella pagina Policy di sicurezza, fai clic sul nome della policy nell'elenco.
gcloud
gcloud compute security-policies list
Ad esempio:
gcloud compute security-policies list
Output:
NAME: my-policy REGION: us-central1
Per saperne di più, vedi gcloud compute security-policies list.
Aggiorna le policy di sicurezza
Utilizza queste istruzioni per aggiornare una policy di sicurezza di Cloud Armor. Ad esempio, puoi modificare la descrizione della policy, il comportamento della regola predefinita, il servizio di backend di destinazione o aggiungere nuove regole.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Per aggiornare una determinata policy, nella pagina Policy di sicurezza, nell'elenco delle policy, fai clic su Menu per la policy che vuoi aggiornare.
- Per aggiornare la descrizione della policy dell'azione della regola predefinita, seleziona Modifica, apporta le modifiche e poi fai clic su Aggiorna.
- Per aggiungere una regola, seleziona Aggiungi regola e segui le istruzioni riportate in Aggiungi regole a una policy di sicurezza.
- Per modificare il servizio di backend di destinazione per la policy, seleziona Applica policy alla destinazione, fai clic su Aggiungi destinazione, seleziona una destinazione e poi fai clic su Aggiungi.
gcloud
Per aggiornare una policy di sicurezza, utilizza le seguenti istruzioni di Google Cloud CLI:
- Per aggiornare una regola in una policy di sicurezza, vedi Aggiornamento di una singola regola in una policy di sicurezza.
- Per aggiungere una regola a una policy di sicurezza, vedi Aggiunta di regole a una policy di sicurezza.
- Per eliminare una regola da una policy di sicurezza, consulta Eliminazione di regole da una policy di sicurezza.
- Per aggiornare più regole in un unico aggiornamento (aggiornamento atomico), vedi Aggiornamento di più regole in modo atomico in una policy di sicurezza.
- Per aggiornare i campi non di regole in una policy di sicurezza (ad esempio il campo della descrizione), consulta Esportazione delle policy di sicurezza e Importazione delle policy di sicurezza.
Elimina policy di sicurezza
Utilizza queste istruzioni per eliminare una policy di sicurezza di Cloud Armor. Devi rimuovere tutti i servizi di backend dalla policy prima di poterla eliminare.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, seleziona la casella di controllo accanto al nome della policy di sicurezza da eliminare.
Fai clic su Elimina nell'angolo in alto a destra della pagina.
gcloud
Utilizza gcloud compute security-policies delete NAME.
Sostituisci NAME con il nome della policy di sicurezza:
gcloud compute security-policies delete NAME
Testa le policy di sicurezza
Ti consigliamo di eseguire il deployment di tutte le nuove regole in modalità di anteprima, quindi esamina i log delle richieste per verificare che le policy e le regole si comportino come previsto.
Gestisci le regole delle policy di sicurezza
Utilizza le sezioni seguenti per elencare le regole della policy 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 una policy di sicurezza di Cloud Armor.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy e le regole della policy sono elencate nella scheda Regole al centro della pagina.
gcloud
Utilizza il seguente comando gcloud per elencare tutte le regole in una singola policy di sicurezza insieme a una descrizione della policy:
gcloud compute security-policies describe NAME \
Utilizza il seguente comando gcloud per elencare tutte le regole in una singola policy di sicurezza in una regione specificata insieme a una descrizione della policy:
gcloud compute security-policies describe NAME \ --region REGION
Utilizza il seguente comando gcloud per descrivere una regola con la priorità specificata
nella policy di sicurezza specificata:
gcloud compute security-policies rules describe PRIORITY \
--security-policy POLICY_NAME
Ad esempio, il comando seguente descrive la regola con priorità 1000 nella policy 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
Per saperne di più, vedi
gcloud compute security-policies describe.
Aggiungi regole a una policy di sicurezza
Utilizza queste istruzioni per aggiungere regole a una policy di sicurezza di Cloud Armor.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
Al centro della pagina, fai clic sulla scheda Regole.
Fai clic su Aggiungi regola.
(Facoltativo) Inserisci una descrizione della regola.
Seleziona la modalità:
- Modalità di 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 della regola.
Nel campo Corrispondenza, specifica le condizioni in base alle quali si applica la regola:
Modalità base: inserisci da uno (1) a 10 intervalli di indirizzi IP a cui deve corrispondere la regola. Puoi aggiungere un massimo di 10 intervalli di indirizzi IP. Per i limiti, consulta Quote e limiti di Cloud Armor.
Modalità avanzata: inserisci un'espressione o delle sottoespressioni da valutare rispetto alle richieste in entrata. Per informazioni su come scrivere le espressioni e leggere gli esempi seguenti, consulta il riferimento per il linguaggio delle regole personalizzate.
La seguente espressione corrisponde alle richieste provenienti dall'indirizzo IP
1.2.3.4e contiene la stringaexamplenell'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
AUche non rientrano nell'intervallo IP specificato:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
La seguente espressione confronta le 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-idcontiene 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 la corrispondenza con gli attacchi SQLi:
evaluatePreconfiguredWaf('sqli-stable')
Per Azione, seleziona Consenti o Nega.
Se stai configurando una regola Nega, seleziona un messaggio di Stato di negazione.
Se vuoi attivare la modalità di anteprima per la regola, seleziona la casella di controllo Attiva.
Nel campo 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 nella policy:
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 proveniente dagli intervalli di indirizzi IP 192.0.2.0/24 e 198.51.100.0/24. La regola ha priorità 1000 e fa parte di una policy denominata 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 seguente comando 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 set di espressioni preconfigurate per mitigare gli attacchi SQLi:
gcloud compute security-policies rules create 1000 \
--security-policy my-policy \
--expression "evaluatePreconfiguredWaf('sqli-stable')" \
--action deny-403
Aggiorna una singola regola in una policy di sicurezza
Utilizza queste istruzioni per aggiornare una singola regola in una policy di sicurezza di Cloud Armor. Per aggiornare più regole in modo atomico, vedi Aggiornamento atomico di più regole in una policy di sicurezza.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
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 una policy di sicurezza designata. Puoi aggiornare una sola policy 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 comando seguente 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ù, vedi
securityPolicies.patchRule.
Aggiorna in modo atomico più regole in una policy di sicurezza
Un aggiornamento atomico applica le modifiche a più regole in un unico aggiornamento. Se aggiorni le regole una alla volta, potresti notare un comportamento imprevisto perché le regole vecchie e nuove potrebbero funzionare insieme per un breve periodo di tempo.
Per aggiornare più regole in modo atomico, esporta la policy di sicurezza corrente in un file JSON o YAML, quindi modificalo. Utilizza il file modificato per creare una nuova policy di sicurezza, quindi cambia la policy di sicurezza per i servizi di backend pertinenti.
gcloud
Esporta la policy da aggiornare, come mostrato nell'esempio seguente:
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yamlLa 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-policyUtilizza un editor di testo per modificare la policy. 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-policyCrea una nuova policy di sicurezza di Cloud Armor e specifica il nome file e il formato modificati, come mostrato nell'esempio seguente:
gcloud compute security-policies create new-policy \ --file-name modified-policy \ --file-format yamlRimuovi 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 la nuova policy di sicurezza al servizio di backend, come mostrato nell'esempio seguente:
gcloud compute backend-services update my-backend \ --security-policy new-policySe la vecchia policy non viene utilizzata, eliminala:
gcloud compute security-policies delete my-policy
Elimina le regole da una policy di sicurezza
Utilizza queste istruzioni per eliminare le regole da una policy di sicurezza di Cloud Armor.
Console
Nella console Google Cloud , vai alla pagina Policy di Google Cloud Armor.
Fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
Al centro della pagina, nella scheda Regole, seleziona la casella di controllo accanto alla regola che vuoi eliminare.
Fai clic su Elimina.
gcloud
Utilizza questo comando per rimuovere una regola con la priorità specificata da una policy di sicurezza designata. Puoi modificare una sola policy 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
Allega e rimuovi le policy di sicurezza
Utilizza le sezioni seguenti per collegare e rimuovere le policy di sicurezza dai servizi di backend e dai bucket di backend.
Collega una policy di sicurezza a un servizio di backend
Utilizza queste istruzioni per collegare una policy di sicurezza di Cloud Armor a un servizio di backend. Una policy di sicurezza può essere collegata a più di un servizio di backend, ma un servizio di backend può avere collegato solo un tipo di policy di sicurezza.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
Al centro della pagina, fai clic sulla scheda Target.
Fai clic su Applica policy a una nuova destinazione.
Fai clic su Aggiungi target.
Nell'elenco Target, seleziona un target e poi fai clic su Aggiungi.
gcloud
Quando colleghi una policy 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 una policy 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
Rimuovi una policy di sicurezza da un servizio di backend
Utilizza queste istruzioni per rimuovere una policy di sicurezza del backend Cloud Armor o una policy di sicurezza perimetrale da un servizio di backend.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
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 una policy di sicurezza a un bucket di backend
Utilizza queste istruzioni per collegare una policy di sicurezza perimetrale di Cloud Armor a un bucket di backend. Una policy di sicurezza perimetrale può essere collegata a più di un bucket di backend.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
Al centro della pagina, fai clic sulla scheda Target.
Fai clic su Applica policy a una nuova destinazione.
Fai clic su Aggiungi target.
Nell'elenco Target, seleziona un target e poi fai clic su Aggiungi.
gcloud
Quando colleghi una policy 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
Rimuovi una policy di sicurezza da un bucket di backend
Utilizza queste istruzioni per rimuovere una policy di sicurezza perimetrale di Cloud Armor da un bucket di backend.
Console
Nella console Google Cloud , vai alla pagina Policy di Cloud Armor.
Nella pagina Policy di sicurezza, fai clic sul nome della policy di sicurezza. Viene visualizzata la pagina Dettagli policy.
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 ""
Importa ed esporta policy di sicurezza
Utilizza le sezioni seguenti per importare ed esportare le policy di sicurezza come file YAML o JSON.
Esporta policy di sicurezza
Puoi esportare una policy di sicurezza di Cloud Armor come file YAML o JSON utilizzando Google Cloud CLI. Questa funzionalità offre i seguenti vantaggi:
Salva una copia per il controllo delle versioni o il backup: l'esportazione fornisce una copia locale della policy. Puoi salvare questa copia nei sistemi di controllo del codice sorgente come backup o per monitorare le modifiche nel tempo. Puoi reimportarla in un secondo momento per ripristinare una versione precedente delle policy, se necessario.
Modifica e aggiorna le policy localmente: puoi modificare le policy esportate offline utilizzando l'editor di testo che preferisci. Dopo aver apportato le modifiche, importa nuovamente la policy aggiornata per applicarle a Cloud Armor.
gcloud
Nel seguente comando,
NAMEè il nome della policy di sicurezza. I formati di file validi sono YAML e JSON. Se non fornisci il formato file, Cloud Armor utilizza il formato YAML predefinito.gcloud compute security-policies export NAME \ --file-name FILE_NAME \ --file-format FILE_FORMATIl seguente esempio esporta la policy di sicurezza
my-policynel filemy-filein formato YAML:gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yamlL'esempio seguente mostra una policy di sicurezza esportata:
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-policyPuoi modificare il file esportato con qualsiasi editor di testo e poi importarlo di nuovo in Google Cloud utilizzando il comando
import.
Importa policy di sicurezza
Puoi importare le policy di sicurezza di 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 una policy di sicurezza o tutte
contemporaneamente utilizzando la procedura
Aggiornamento atomico di più regole in una policy di sicurezza.
gcloud
Per importare le policy di sicurezza, utilizza il comando gcloud compute security-policies import NAME.
Sostituisci NAME con il nome della policy di sicurezza che stai importando. Se non fornisci il formato 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 la policy my-policy importando il file my-file.
gcloud compute security-policies import my-policy \
--file-name my-file \
--file-format json
Se l'impronta della policy non è aggiornata quando la importi, Cloud Armor mostra un errore. Ciò significa
che le policy sono state modificate dall'ultima esportazione. Per risolvere il problema, utilizza il comando describe sulla policy per ottenere l'ultima impronta.
Unisci le differenze tra la policy descritta e la tua policy, quindi sostituisci l'impronta obsoleta con quella più recente.
Elenca le 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 Cloud Armor. Queste regole preconfigurate contengono più firme integrate che Cloud Armor utilizza per la valutazione rispetto alle richieste in entrata. Aggiungi queste regole preconfigurate a regole nuove o esistenti utilizzando il riferimento per il 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 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
- Ottimizza le regole del web application firewall (WAF)
- Risolvi i problemi
- Utilizza il riferimento per il linguaggio delle regole personalizzate