Codelab sulle regole WAF preconfigurate di Cloud Armor

1. Introduzione

Ciao! Benvenuto nel codelab sulle regole WAF preconfigurate di Cloud Armor.

Google Cloud Armor è la soluzione di sicurezza di rete perimetrale aziendale di Google che fornisce protezione DDoS, applicazione delle regole WAF e gestibilità adattiva su larga scala.

Cloud Armor ha esteso i set di regole WAF preconfigurate per mitigare le vulnerabilità di sicurezza delle applicazioni web OWASP Top 10. I set di regole si basano sulla OWASP Modsecurity Core Rule Set versione 3.0.2 per proteggere da alcuni dei rischi di sicurezza delle applicazioni web più comuni, tra cui l'inclusione di file locali (LFI), l'inclusione di file remoti (RFI), l'esecuzione di codice remoto (RCE) e molti altri.

In questo codelab, imparerai a mitigare alcune delle vulnerabilità comuni utilizzando le regole WAF di Google Cloud Armor.

Cosa imparerai a fare

  • Come configurare un gruppo di istanze e un bilanciatore del carico globale per supportare un servizio
  • Come configurare le policy di sicurezza di Cloud Armor con regole WAF preconfigurate per proteggere da LFI, RCE, scanner, attacchi di protocollo e sessione fissa
  • Come verificare che Cloud Armor abbia mitigato un attacco osservando i log.

Che cosa ti serve

  • Conoscenza di base di Google Compute Engine ( codelab)
  • Conoscenza di base del networking e di TCP/IP
  • Conoscenza di base della riga di comando Unix/Linux
  • È utile aver completato un tour del networking in GCP con Networking in the Google Cloud.
  • (Facoltativo) Completa il lab Cloudnet20 Cloud Armor per imparare a proteggere i carichi di lavoro con regole basate su SQL injection, IP e posizione geografica.

Topologia e caso d'uso del codelab

119e13312f3cec25.jpeg

Figura 1: topologia del codelab sulle regole WAF di Cloud Armor

L'applicazione OWASP Juice Shop è utile per la formazione e la sensibilizzazione in materia di sicurezza, perché contiene istanze di ciascuna delle 10 principali vulnerabilità di sicurezza OWASP, per progettazione. Un malintenzionato può sfruttarlo a scopo di test. In questo codelab, lo utilizzeremo per dimostrare alcuni attacchi alle applicazioni, seguiti dalla protezione dell'applicazione con le regole WAF di Cloud Armor. L'applicazione sarà front-end di un bilanciatore del carico Google Cloud, a cui verranno applicati i criteri di sicurezza e le regole di Cloud Armor. Verrà pubblicato su internet pubblico, quindi sarà raggiungibile da quasi ovunque e protetto utilizzando Cloud Armor e le regole firewall VPC.

2. Configurazione e requisiti

Configurazione dell'ambiente autonomo

  1. Accedi alla console Cloud e crea un nuovo progetto o riutilizzane uno esistente. Se non hai ancora un account Gmail o Google Workspace, devi crearne uno.

96a9c957bc475304.png

b9a10ebdf5b5a448.png

a1e3c01a38fa61c2.png

Ricorda l'ID progetto, un nome univoco tra tutti i progetti Google Cloud (il nome sopra è già stato utilizzato e non funzionerà per te, mi dispiace). In questo codelab verrà chiamato PROJECT_ID.

  1. Successivamente, dovrai abilitare la fatturazione in Cloud Console per utilizzare le risorse Google Cloud.

L'esecuzione di questo codelab non dovrebbe costare molto, se non nulla. Assicurati di seguire le istruzioni riportate nella sezione "Pulizia", che ti consiglia come arrestare le risorse in modo da non incorrere in addebiti oltre questo tutorial. I nuovi utenti di Google Cloud possono beneficiare del programma prova senza costi di 300$.

Avvia Cloud Shell

Sebbene Google Cloud possa essere gestito da remoto dal tuo laptop, in questo codelab utilizzerai Google Cloud Shell, un ambiente a riga di comando in esecuzione nel cloud.

Nella console GCP, fai clic sull'icona di Cloud Shell nella barra degli strumenti in alto a destra:

bce75f34b2c53987.png

Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Al termine, dovresti vedere un risultato simile a questo:

f6ef2b5f13479f3a.png

Questa macchina virtuale è caricata con tutti gli strumenti per sviluppatori di cui avrai bisogno. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud, migliorando notevolmente le prestazioni e l'autenticazione della rete. Tutto il lavoro di questo lab può essere svolto semplicemente con un browser.

Prima di iniziare

In Cloud Shell, assicurati che l'ID progetto sia configurato.

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID

Abilita le API

Attiva tutti i servizi necessari

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com        
gcloud services enable monitoring.googleapis.com 

3. crea la rete VPC

Crea una rete VPC

Da Cloud Shell

gcloud compute networks create ca-lab-vpc --subnet-mode custom

Output

Created
NAME        SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE  GATEWAY_IPV4
ca-lab-vpc  CUSTOM       REGIONAL

Crea una subnet

Da Cloud Shell

gcloud compute networks subnets create ca-lab-subnet \
        --network ca-lab-vpc --range 10.0.0.0/24 --region us-central1

Output

Created 
NAME           REGION       NETWORK       RANGE
ca-lab-subnet  us-central1  ca-lab-vpc    10.0.0.0/24

Crea regole firewall VPC

Dopo aver creato il VPC e la subnet, ora configurerai alcune regole firewall. La prima regola firewall verrà utilizzata per consentire a tutti gli IP di accedere all'IP esterno del sito web dell'applicazione di test sulla porta 3000. La seconda regola firewall verrà utilizzata per consentire i controlli di integrità dall'IP di origine dei bilanciatori del carico.

Da Cloud Shell

gcloud compute firewall-rules create allow-js-site --allow tcp:3000 --network ca-lab-vpc

Output

Creating firewall...done.
NAME           NETWORK     DIRECTION  PRIORITY  ALLOW     DENY  DISABLED
allow-js-site  ca-lab-vpc  INGRESS    1000      tcp:3000        False

Crea regole firewall per consentire i controlli di integrità dagli intervalli di controllo di integrità di Google.

Da Cloud Shell

gcloud compute firewall-rules create allow-health-check \
    --network=ca-lab-vpc \
    --action=allow \
    --direction=ingress \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 \
    --target-tags=allow-healthcheck \
    --rules=tcp

Output

Creating firewall...done.
NAME                NETWORK     DIRECTION  PRIORITY  ALLOW  DENY  DISABLED
allow-health-check  ca-lab-vpc  INGRESS    1000      tcp          False

4. Configurare l'applicazione di test

Il passaggio successivo consiste nel creare l'applicazione di test, in questo caso il server web OWASP Juice Shop.

Quando creiamo l'istanza di computing, utilizziamo un'immagine container per assicurarci che il server disponga dei servizi appropriati. Questo server verrà implementato in us-central1-c e avrà un tag di rete che consentirà i controlli di integrità.

Crea l'applicazione OWASP Juice Shop

Utilizza l'applicazione open source OWASP Juice Shop nota per fungere da applicazione vulnerabile. Puoi anche utilizzare questa applicazione per affrontare le sfide di sicurezza OWASP tramite il loro sito web.

Da Cloud Shell

gcloud compute instances create-with-container owasp-juice-shop-app --container-image bkimminich/juice-shop \
     --network ca-lab-vpc \
     --subnet ca-lab-subnet \
     --private-network-ip=10.0.0.3 \
     --machine-type n1-standard-2 \
     --zone us-central1-c \
     --tags allow-healthcheck

Output

NAME                  ZONE           MACHINE_TYPE   PREEMPTIBLE  
owasp-juice-shop-app  us-central1-c  n1-standard-2               

INTERNAL_IP  EXTERNAL_IP     STATUS
10.0.0.3     <public IP>     RUNNING

Configura il componente bilanciatore del carico Cloud: gruppo di istanze

Crea il gruppo di istanze non gestito.

Da Cloud Shell

gcloud compute instance-groups unmanaged create juice-shop-group \
    --zone=us-central1-c

Output

NAME              LOCATION       SCOPE  NETWORK  MANAGED  INSTANCES
juice-shop-group  us-central1-c  zone                     0

Aggiungi l'istanza GCE Juice Shop al gruppo di istanze non gestite.

Da Cloud Shell

gcloud compute instance-groups unmanaged add-instances juice-shop-group \
    --zone=us-central1-c \
    --instances=owasp-juice-shop-app

Output

Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].

Imposta la porta denominata su quella dell'applicazione Juice Shop.

Da Cloud Shell

gcloud compute instance-groups unmanaged set-named-ports \
juice-shop-group \
   --named-ports=http:3000 \
   --zone=us-central1-c

Output

Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].

Ora che hai creato il gruppo di istanze non gestite, il passaggio successivo consiste nel creare un controllo di integrità, un servizio di backend, una mappa URL, un proxy di destinazione e una regola di forwarding.

Configura il componente bilanciatore del carico Cloud: controllo di integrità

Crea il controllo di integrità per la porta del servizio Juice Shop.

Da Cloud Shell

gcloud compute health-checks create tcp tcp-port-3000 \
        --port 3000

Output

Created 
NAME           PROTOCOL
tcp-port-3000  TCP

Configura il componente bilanciatore del carico cloud: servizio di backend

Crea i parametri del servizio di backend.

Da Cloud Shell

gcloud compute backend-services create juice-shop-backend \
        --protocol HTTP \
        --port-name http \
        --health-checks tcp-port-3000 \
        --enable-logging \
        --global 

Output

NAME                BACKENDS  PROTOCOL
juice-shop-backend            HTTP

Aggiungi il gruppo di istanze Juice Shop al servizio di backend.

Da Cloud Shell

 gcloud compute backend-services add-backend juice-shop-backend \
        --instance-group=juice-shop-group \
        --instance-group-zone=us-central1-c \
        --global

Output

Updated [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/backendServices/juice-shop-backend].

Configura il componente bilanciatore del carico Cloud: mappa URL

Crea la mappa URL da inviare al backend.

Da Cloud Shell

gcloud compute url-maps create juice-shop-loadbalancer \
        --default-service juice-shop-backend

Output

NAME                     DEFAULT_SERVICE
juice-shop-loadbalancer  backendServices/juice-shop-backend

Configura il componente bilanciatore del carico Cloud: proxy di destinazione

Crea il proxy di destinazione per la parte anteriore della mappa URL.

Da Cloud Shell

gcloud compute target-http-proxies create juice-shop-proxy \
        --url-map juice-shop-loadbalancer

Output

NAME              URL_MAP
juice-shop-proxy  juice-shop-loadbalancer

Configura il componente bilanciatore del carico Cloud: regola di forwarding

Crea la regola di forwarding per il bilanciatore del carico.

Da Cloud Shell

gcloud compute forwarding-rules create juice-shop-rule \
        --global \
        --target-http-proxy=juice-shop-proxy \
        --ports=80

Output

Created [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/forwardingRules/juice-shop-rule].

Verificare che il servizio Juice Shop sia online

Da Cloud Shell

PUBLIC_SVC_IP="$(gcloud compute forwarding-rules describe juice-shop-rule  --global --format="value(IPAddress)")"

Da Cloud Shell

echo $PUBLIC_SVC_IP

Output

<public VIP of service>

Attendi qualche minuto prima di continuare, altrimenti potresti ricevere una risposta HTTP/1.1 404 Not Found.

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP

Output

HTTP/1.1 200 OK
<...>

Puoi anche andare al browser per visualizzare il Juice Shop.

428c18eee6708c28.png

Ora siamo pronti a esplorare le vulnerabilità di Juice Shop e come proteggerci da queste con i set di regole WAF di Cloud Armor.

5. Dimostrare le vulnerabilità note

Per risparmiare tempo, mostreremo gli stati prima e dopo la propagazione delle regole WAF di Cloud Armor in passaggi condensati.

Osservare una vulnerabilità LFI: path traversal

L'inclusione di file locali è il processo di osservazione dei file presenti sul server sfruttando la mancanza di convalida dell'input nella richiesta per esporre potenzialmente dati sensibili. Di seguito viene semplicemente mostrato che è possibile attraversare un percorso. Nel browser o con curl, osserva un percorso esistente pubblicato dall'applicazione.

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp

Output

HTTP/1.1 200 OK
<...>

Inoltre, osserva che funziona anche l'attraversamento del percorso:

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp/../

Output

HTTP/1.1 200 OK
<...>

Osservare una vulnerabilità RCE

L'esecuzione di codice remoto include vari scenari di inserimento di comandi UNIX e Windows che consentono agli autori degli attacchi di eseguire comandi del sistema operativo in genere riservati agli utenti con privilegi. Di seguito è riportata l'esecuzione di un semplice comando ls.

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls

Output

HTTP/1.1 200 OK
<...>

Puoi rimuovere i flag curl per osservare l'output completo.

Osservare l'accesso di uno scanner noto

Le applicazioni di scansione commerciali e open source vengono utilizzate per vari scopi, tra cui la scansione delle vulnerabilità. Questi strumenti utilizzano User-Agent e altre intestazioni noti. Osserva che curl funziona con un'intestazione user agent nota:

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"

Output

HTTP/1.1 200 OK
<...>

Osserva un attacco al protocollo: HTTP splitting

Alcune applicazioni web utilizzano l'input dell'utente per generare le intestazioni nelle risposte. Se l'applicazione non filtra correttamente l'input, un malintenzionato può potenzialmente contaminare il parametro di input con la sequenza %0d%0a (la sequenza CRLF utilizzata per separare le diverse righe). La risposta potrebbe quindi essere interpretata come due risposte da qualsiasi elemento che la analizza, ad esempio un server proxy intermediario, che potrebbe pubblicare contenuti falsi nelle richieste successive. Inserisci la sequenza %0d%0a nel parametro di input, che può portare alla pubblicazione di una pagina ingannevole.

Da Cloud Shell

curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"

Output

HTTP/1.1 200 OK
<...>

Osserva la sessione di correzione

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP -H session_id=X

Output

HTTP/1.1 200 OK
<...>

6. Definisci le regole WAF di Cloud Armor

Elenca le regole WAF preconfigurate:

Da Cloud Shell

gcloud compute security-policies list-preconfigured-expression-sets

Output

EXPRESSION_SET
Sqli-canary
RULE_ID
    owasp-crs-v030001-id942110-sqli
    owasp-crs-v030001-id942120-sqli
<...>

Crea la policy di sicurezza di Cloud Armor

Da Cloud Shell:

gcloud compute security-policies create block-with-modsec-crs \
    --description "Block with OWASP ModSecurity CRS"

Aggiorna la regola predefinita della policy di sicurezza

Tieni presente che la priorità della regola predefinita ha un valore numerico di 2147483647.

Da Cloud Shell:

gcloud compute security-policies rules update 2147483647 \
    --security-policy block-with-modsec-crs \
    --action "deny-403"

Poiché la regola predefinita è configurata con l'azione Nega, dobbiamo consentire l'accesso dal tuo IP. Trova il tuo IP pubblico (curl, ipmonkey, whatismyip e così via).

Da Cloud Shell:

MY_IP=$(curl ifconfig.me)

Aggiungi la prima regola per consentire l'accesso dal tuo IP (INSERISCI IL TUO IP DI SEGUITO)

Da Cloud Shell:

gcloud compute security-policies rules create 10000 \
    --security-policy  block-with-modsec-crs  \
    --description "allow traffic from my IP" \
    --src-ip-ranges "$MY_IP/32" \
    --action "allow"

Aggiorna la policy di sicurezza per bloccare gli attacchi LFI

Applica il ModSecurity Core Rule Set di OWASP che impedisce l'attraversamento del percorso per le inclusioni di file locali.

Da Cloud Shell:

gcloud compute security-policies rules create 9000 \
    --security-policy block-with-modsec-crs  \
    --description "block local file inclusion" \
     --expression "evaluatePreconfiguredExpr('lfi-stable')" \
    --action deny-403

Aggiornare le norme di sicurezza per bloccare l'esecuzione di codice remoto (RCE)

In base al ModSecurity Core Rule Set di OWASP, applica regole che cercano RCE, inclusa l'iniezione di comandi. I comandi del sistema operativo tipici vengono rilevati e bloccati.

Da Cloud Shell:

gcloud compute security-policies rules create 9001 \
    --security-policy block-with-modsec-crs  \
    --description "block rce attacks" \
     --expression "evaluatePreconfiguredExpr('rce-stable')" \
    --action deny-403

Aggiorna la policy di sicurezza per bloccare gli scanner di sicurezza

Applica il ModSecurity Core Rule Set di OWASP per bloccare scanner di sicurezza, client HTTP di scripting e web crawler noti.

Da Cloud Shell:

gcloud compute security-policies rules create 9002 \
    --security-policy block-with-modsec-crs  \
    --description "block scanners" \
     --expression "evaluatePreconfiguredExpr('scannerdetection-stable')" \
    --action deny-403

Aggiorna la policy di sicurezza per bloccare gli attacchi al protocollo

In base al ModSecurity Core Rule Set di OWASP, applica regole che cercano i caratteri Carriage Return (CR) %0d e Linefeed (LF) %0a e altri tipi di attacchi al protocollo come l'HTTP Request Smuggling.

Da Cloud Shell:

gcloud compute security-policies rules create 9003 \
    --security-policy block-with-modsec-crs  \
    --description "block protocol attacks" \
     --expression "evaluatePreconfiguredExpr('protocolattack-stable')" \
    --action deny-403

Aggiorna la policy di sicurezza per bloccare la sessione fissa

In base al ModSecurity Core Rule Set di OWASP, applica regole che…

Da Cloud Shell:

gcloud compute security-policies rules create 9004 \
    --security-policy block-with-modsec-crs  \
    --description "block session fixation attacks" \
     --expression "evaluatePreconfiguredExpr('sessionfixation-stable')" \
    --action deny-403

Collega la policy di sicurezza al servizio di backend

Da Cloud Shell:

gcloud compute backend-services update juice-shop-backend \
    --security-policy block-with-modsec-crs \
    --global

La propagazione delle regole potrebbe richiedere un po' di tempo (ma non più di 10 minuti). Una volta che hai la certezza che sia trascorso un tempo sufficiente, testa le vulnerabilità dimostrate in precedenza per confermare l'applicazione della regola WAF di Cloud Armor nel passaggio successivo.

7. Osserva la protezione Cloud Armor con il set di regole di base OWASP ModSecurity

Confermare che la vulnerabilità LFI sia stata mitigata

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/?a=../

Output

HTTP/1.1 403 Forbidden
<...>

Conferma che l'attacco RCE è stato mitigato

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls

Output

HTTP/1.1 403 Forbidden
<..>

Conferma il rilevamento dello scanner noto

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"

Output

HTTP/1.1 403 Forbidden
<..>

Confermare la mitigazione di un attacco al protocollo

In base a OWASP ModSecurity Core Rule Set versione 3.0.2, l'attacco al protocollo viene mitigato da

Da Cloud Shell

curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"

Output

HTTP/1.1 403 Forbidden
<..>

Confermare che i tentativi di session fixation siano bloccati

Da Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/?session_id=a

Output

HTTP/1.1 403 Forbidden
<..>

8. Esamina le regole di sicurezza di Cloud Armor

Ora che abbiamo creato la policy di sicurezza, vediamo quali regole sono state configurate.

d00e4102fc89e44f.png

Le regole vengono valutate per priorità: quelle con i numeri più bassi vengono valutate per prime e, una volta attivate, l'elaborazione non continua per le regole con valori di priorità più elevati.

  • Priorità 9000 - Blocca LFI (local file inclusion)
  • Priorità 9001 - Blocca RCE (remote code execution/command injection)
  • Priorità 9002 - Rilevati scanner di blocchi
  • Priorità 9003 - Blocca gli attacchi ai protocolli come HTTP splitting e HTTP smuggling
  • Priorità 9004 - Blocca gli attacchi di session fixation
  • Priorità 10000 - Consenti al tuo IP di accedere al sito web
  • Priorità predefinita - Nega.

*Nota che la regola "Consenti il tuo IP" è configurata con il numero di priorità più alto per consentire l'accesso al sito, ma blocca qualsiasi attacco.

9. Osserva i log dei criteri di sicurezza di Cloud Armor

Nella pagina della console Cloud Armor, puoi visualizzare i dettagli della policy di sicurezza e fare clic sulla scheda Logs e poi sul link View policy logs per accedere alla pagina Cloud Logging. Verranno filtrati automaticamente in base alle norme di sicurezza di interesse, ad esempio resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs). Osserva i codici di risposta di errore 403 ed espandi i dettagli del log per osservare il nome della norma di sicurezza applicata, il valore del campo corrispondente e, più in basso, gli ID espressione preconfigurati (o l'ID firma). Gli screenshot seguenti mostrano esempi dei log per le policy di sicurezza applicate configurate in questo codelab.

Log LFI

983a6cab0cff940d.png

Log RCE

988a3a571f9d9d45.png

Log di rilevamento dello scanner

7ed661863ba27555.png

Log degli attacchi di protocollo

17ee3cbe0bd98939.png

Session fixation log

80d1ddfd0fe982e1.png

10. Pulizia del lab

Esegui la pulizia delle risorse ora che hai completato il lab.

Esegui questi comandi per eliminare la policy di sicurezza di Cloud Armor, il bilanciatore del carico, le istanze, le regole firewall e la rete VPC.

Rimuovi la policy di sicurezza di Cloud Armor dal servizio di backend

gcloud -q compute backend-services update juice-shop-backend --security-policy "" --global

Elimina la policy di sicurezza di Cloud Armor

L'eliminazione della policy di sicurezza comporta l'eliminazione automatica delle regole associate.

gcloud -q compute security-policies delete block-with-modsec-crs

Elimina le risorse del bilanciatore del carico

Queste risorse del bilanciatore del carico da eliminare includono la regola di forwarding, i proxy HTTP di destinazione, le mappe URL, il backend, i controlli di integrità e il gruppo di istanze.

gcloud -q compute forwarding-rules delete juice-shop-rule --global

gcloud -q compute target-http-proxies delete juice-shop-proxy

gcloud -q compute url-maps delete juice-shop-loadbalancer

gcloud -q compute backend-services delete juice-shop-backend \
    --global

gcloud -q compute health-checks delete tcp-port-3000

gcloud -q compute instance-groups unmanaged delete juice-shop-group --zone=us-central1-c

Elimina l'istanza

gcloud -q compute instances delete owasp-juice-shop-app --zone us-central1-c

Elimina le regole firewall, la subnet e il VPC

gcloud -q compute firewall-rules delete allow-health-check
gcloud -q compute firewall-rules delete allow-js-site
gcloud -q compute networks subnets delete ca-lab-subnet --region us-central1
gcloud -q compute networks delete ca-lab-vpc

11. Complimenti!

Congratulazioni per aver completato il codelab sulle regole WAF preconfigurate di Cloud Armor.

Argomenti trattati

  • Come configurare un gruppo di istanze e un bilanciatore del carico Cloud globale
  • Come configurare le policy di sicurezza di Cloud Armor con regole WAF preconfigurate per proteggere da LFI, RCE, scanner, attacchi di protocollo e sessione fissa
  • Come verificare che Cloud Armor abbia mitigato alcuni degli attacchi OWASP Top 10 tramite i log

Passaggi successivi