Codelab de reglas de WAF preconfiguradas de Cloud Armor

1. Introducción

¡Hola! Te damos la bienvenida al codelab de reglas de WAF preconfiguradas de Cloud Armor.

Google Cloud Armor es la solución de seguridad de red perimetral empresarial de Google que proporciona protección contra DDoS, aplicación de reglas de WAF y administración adaptable a gran escala.

Cloud Armor extendió los conjuntos de reglas de WAF preconfigurados para mitigar contra las 10 vulnerabilidades de seguridad principales de OWASP para aplicaciones web. Los conjuntos de reglas se basan en el conjunto de reglas principales de Modsecurity de OWASP versión 3.0.2 para brindar protección contra algunos de los riesgos de seguridad de aplicaciones web más comunes, como la inclusión de archivos locales (lfi), la inclusión de archivos remotos (rfi), la ejecución remota de código (rce) y muchos más.

En este codelab, aprenderás a mitigar algunas de las vulnerabilidades comunes con las reglas de WAF de Google Cloud Armor.

Qué aprenderás

  • Cómo configurar un grupo de instancias y un balanceador de cargas global para admitir un servicio
  • Cómo configurar las políticas de seguridad de Cloud Armor con reglas de WAF preconfiguradas para brindar protección contra lfi, rce, escáneres, ataques de protocolo y fijación de sesiones
  • Cómo validar que Cloud Armor haya mitigado un ataque mediante la observación de los registros.

Requisitos

  • Conocimiento básico de Google Compute Engine ( codelab)
  • Conocimiento básico de redes y TCP/IP
  • Conocimiento básico de la línea de comandos de Unix/Linux
  • Es útil haber completado un recorrido por las herramientas de redes en GCP con Networking in the Google Cloud.
  • (Opcional) Completa el lab Cloudnet20 Cloud Armor para aprender a proteger cargas de trabajo con inyección de SQL, reglas basadas en IP y basadas en la ubicación geográfica.

Topología del codelab y caso de uso

119e13312f3cec25.jpeg

Figura 1: Topología del codelab de reglas de WAF de Cloud Armor

La aplicación de OWASP Juice Shop es útil para la capacitación y el conocimiento de la seguridad, ya que contiene instancias de cada una de las 10 vulnerabilidades de seguridad principales de OWASP, por diseño. Un atacante puede aprovecharlo para realizar pruebas. En este codelab, lo usaremos para demostrar algunos ataques a la aplicación y, luego, protegerla con reglas de WAF de Cloud Armor. Un balanceador de cargas de Google Cloud encabezará la aplicación, en el que se aplicarán la política de seguridad y las reglas de Cloud Armor. Se entregará en la Internet pública y se podrá acceder a ella desde casi cualquier lugar y se protegerá con Cloud Armor y las reglas de firewall de VPC.

2. Configuración y requisitos

Configuración del entorno de autoaprendizaje

  1. Accede a la consola de Cloud y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.

96a9c957bc475304.png

b9a10ebdf5b5a448.png

a1e3c01a38fa61c2.png

Recuerde el ID de proyecto, un nombre único en todos los proyectos de Google Cloud (el nombre anterior ya se encuentra en uso y no lo podrá usar). Se mencionará más adelante en este codelab como PROJECT_ID.

  1. A continuación, deberás habilitar la facturación en la consola de Cloud para usar los recursos de Google Cloud recursos.

Ejecutar este codelab no debería costar mucho, tal vez nada. Asegúrate de seguir las instrucciones de la sección “Realiza una limpieza” en la que se aconseja cómo cerrar recursos para no incurrir en facturación más allá de este instructivo. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de$300.

Inicia Cloud Shell

Si bien Google Cloud y Spanner se pueden operar de manera remota desde tu laptop, en este codelab usarás Google Cloud Shell, un entorno de línea de comandos que se ejecuta en la nube.

En GCP Console, haga clic en el ícono de Cloud Shell en la barra de herramientas superior derecha:

bce75f34b2c53987.png

El aprovisionamiento y la conexión al entorno deberían tomar solo unos minutos. Cuando termine el proceso, debería ver algo como lo siguiente:

f6ef2b5f13479f3a.png

Esta máquina virtual está cargada con todas las herramientas de desarrollo que necesitarás. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud, lo que permite mejorar considerablemente el rendimiento de la red y la autenticación. Puedes realizar todo tu trabajo en este lab usando simplemente un navegador.

Antes de comenzar

En Cloud Shell, asegúrate de que el ID del proyecto esté configurado

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

Habilita las APIs

Habilita todos los servicios necesarios

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

3. Crea la red de VPC

Crear red de VPC

Desde Cloud Shell

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

Salida

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

Crear una subred

Desde Cloud Shell

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

Salida

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

Crea reglas de firewall de VPC

Después de crear la VPC y la subred, configurarás algunas reglas de firewall. Se usará la primera regla de firewall para permitir que todas las IP accedan a la IP externa del sitio web de la aplicación de prueba en el puerto 3000. La segunda regla de firewall se usará para permitir verificaciones de estado desde la IP de origen de los balanceadores de cargas.

Desde Cloud Shell

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

Salida

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

Crea reglas de FW para permitir verificaciones de estado de los rangos de verificaciones de estado de Google.

Desde 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

Salida

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

4. Configura la aplicación de prueba

El siguiente paso es crear la aplicación de prueba, en este caso, el servidor web de OWASP Juice Shop.

Cuando creamos la instancia de procesamiento, usamos una imagen de contenedor para asegurarnos de que el servidor tenga los servicios adecuados. Este servidor se implementará en us-central1-c y tendrá una etiqueta de red que permitirá las verificaciones de estado.

Crea la aplicación de OWASP Juice Shop

Usa la conocida aplicación OWASP Juice Shop de código abierto para que funcione como la aplicación vulnerable. También puedes usar esta aplicación para realizar desafíos de seguridad de OWASP a través de su sitio web.

Desde 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

Salida

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 el componente de balanceador de cargas de Cloud: grupo de instancias

Crea el grupo de instancias no administrado.

Desde Cloud Shell

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

Salida

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

Agrega la instancia de GCE de Juice Shop al grupo de instancias no administrado.

Desde Cloud Shell

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

Salida

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

Configura el puerto con nombre como el de la aplicación Juice Shop.

Desde Cloud Shell

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

Salida

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

Ahora que creaste el grupo de instancias no administrado, el siguiente paso es crear una verificación de estado, un servicio de backend, un mapa de URL, un proxy de destino y una regla de reenvío.

Configura el componente de balanceador de cargas de Cloud: verificación de estado

Crea la verificación de estado del puerto de servicio de Juice Shop.

Desde Cloud Shell

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

Salida

Created 
NAME           PROTOCOL
tcp-port-3000  TCP

Configura el componente de balanceador de cargas de Cloud: servicio de backend

Crea los parámetros del servicio de backend.

Desde Cloud Shell

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

Salida

NAME                BACKENDS  PROTOCOL
juice-shop-backend            HTTP

Agrega el grupo de instancias de Juice Shop al servicio de backend.

Desde Cloud Shell

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

Salida

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

Configura el componente Balanceador de cargas de Cloud: Mapa de URL

Crea el mapa de URL para enviar al backend.

Desde Cloud Shell

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

Salida

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

Configura el componente balanceador de cargas de Cloud: proxy de destino

Crea el proxy de destino para al frente del mapa de URL.

Desde Cloud Shell

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

Salida

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

Configura el componente de balanceador de cargas de Cloud: regla de reenvío

Crea la regla de reenvío para el balanceador de cargas.

Desde Cloud Shell

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

Salida

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

Verifica que el servicio de Juice Shop esté en línea

Desde Cloud Shell

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

Desde Cloud Shell

echo $PUBLIC_SVC_IP

Salida

<public VIP of service>

Espera unos minutos antes de continuar; de lo contrario, puedes recuperar una respuesta HTTP/1.1 404 Not Found.

Desde Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP

Salida

HTTP/1.1 200 OK
<...>

También puedes ir al navegador para ver la tienda de jugos.

428c18eee6708c28.png

Ahora estamos listos para explorar las vulnerabilidades de Juice Shop y cómo protegernos de ellas con conjuntos de reglas de WAF de Cloud Armor.

5. Demuestra vulnerabilidades conocidas

Para ahorrar tiempo, demostraremos los estados anteriores y posteriores a la propagación de las reglas de WAF de Cloud Armor en pasos condensados.

Observa una vulnerabilidad de LFI: salto de directorio

La inclusión de archivos locales es el proceso de observar los archivos presentes en el servidor mediante la explotación de la falta de validación de entrada en la solicitud para exponer datos sensibles. A continuación, simplemente se muestra que es posible un salto de directorio. En tu navegador o con curl, observa una ruta de acceso existente que entrega la aplicación.

Desde Cloud Shell

curl -Ii http://$PUBLIC_SVC_IP/ftp

Salida

HTTP/1.1 200 OK
<...>

Además, observa que el salto de directorio también funciona:

Desde Cloud Shell

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

Salida

HTTP/1.1 200 OK
<...>

Observa una vulnerabilidad de RCE

Remote Code Execution incluye varias situaciones de inyección de comandos de UNIX y Windows que permiten a los atacantes ejecutar comandos del SO que generalmente están restringidos a usuarios con privilegios. A continuación, se muestra una ejecución de comando ls simple pasada.

Desde Cloud Shell

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

Salida

HTTP/1.1 200 OK
<...>

Puedes quitar las marcas de curl para observar el resultado completo.

Observa el acceso de un escáner conocido

Tanto el comercial como el de código abierto analizan aplicaciones para diversos fines, incluido el análisis en busca de vulnerabilidades. Estas herramientas usan el conocido usuario-agente y otros encabezados. Observa que curl funciona con un encabezado User-Agent conocido:

Desde Cloud Shell

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

Salida

HTTP/1.1 200 OK
<...>

Observar un ataque de protocolo: división de HTTP

Algunas aplicaciones web utilizan datos de entrada del usuario para generar los encabezados en las respuestas. Si la aplicación no filtra la entrada correctamente, un atacante podría envenenar el parámetro de entrada con la secuencia %0d%0a (la secuencia CRLF que se usa para separar diferentes líneas). La respuesta puede entonces interpretarse como dos respuestas por cualquier cosa que ocurra con el análisis, como un servidor proxy intermediario, lo que podría mostrar contenido falso en solicitudes posteriores. Inserta la secuencia %0d%0a en el parámetro de entrada, lo que puede hacer que se muestre una página engañosa.

Desde 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>"

Salida

HTTP/1.1 200 OK
<...>

Observa la fijación de la sesión

Desde Cloud Shell

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

Salida

HTTP/1.1 200 OK
<...>

6. Define las reglas de WAF de Cloud Armor

Enumera las reglas de WAF preconfiguradas:

Desde Cloud Shell

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

Salida

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

Crea la política de seguridad de Cloud Armor

Desde Cloud Shell:

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

Actualiza la regla predeterminada de la política de seguridad

Ten en cuenta que la prioridad de la regla predeterminada tiene un valor numérico de 2147483647.

Desde Cloud Shell:

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

Debido a que la regla predeterminada está configurada con acciones de denegación, debemos permitir el acceso desde tu IP. Busca tu IP pública (curl, ipmonkey, whatismyip, etcétera).

Desde Cloud Shell:

MY_IP=$(curl ifconfig.me)

Agrega la primera regla para permitir el acceso desde tu IP (INSERTA TU IP A CONTINUACIÓN)

Desde 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"

Actualiza la política de seguridad para bloquear los ataques de LFI

Aplica el conjunto de reglas principales de ModSecurity de OWASP que evita el salto de directorio para inclusiones de archivos locales.

Desde 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

Actualiza la política de seguridad para bloquear Remote Code Execution (rce)

Según el conjunto de reglas principales de ModSecurity de OWASP, aplica reglas que busquen rce, incluida la inserción de comandos. Se detectan y bloquean los comandos típicos del SO.

Desde 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

Actualiza la política de seguridad para bloquear los análisis de seguridad

Aplica el conjunto de reglas principal de ModSecurity de OWASP para bloquear escáneres de seguridad conocidos, clientes HTTP con secuencias de comandos y rastreadores web.

Desde 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

Actualiza la política de seguridad para bloquear ataques de protocolo

Según el conjunto de reglas principales de ModSecurity de OWASP, aplica reglas que busquen los caracteres de retorno de carro (CR) %0d y de salto de línea (LF) %0a, y otros tipos de ataques de protocolo, como el contrabando de solicitudes HTTP.

Desde 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

Actualiza la política de seguridad para bloquear la fijación de sesiones

Según el conjunto de reglas principales de ModSecurity de OWASP, se aplican reglas que...

Desde 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

Conecta la política de seguridad al servicio de backend

Desde Cloud Shell:

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

Las reglas pueden tardar un poco en propagarse (pero no más de 10 minutos). Una vez que estés seguro de que haya transcurrido el tiempo suficiente, prueba las vulnerabilidades demostradas anteriormente para confirmar la aplicación de la regla de WAF de Cloud Armor en el siguiente paso.

7. Observa la protección de Cloud Armor con el conjunto de reglas principales de ModSecurity de OWASP

Confirma que se mitigó la vulnerabilidad de LFI

Desde Cloud Shell

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

Salida

HTTP/1.1 403 Forbidden
<...>

Confirma que se mitigó el ataque de RCE

Desde Cloud Shell

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

Salida

HTTP/1.1 403 Forbidden
<..>

Confirma la detección del escáner conocido

Desde Cloud Shell

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

Salida

HTTP/1.1 403 Forbidden
<..>

Confirma que se mitigó un ataque de protocolo

Según el conjunto de reglas principales de ModSecurity de OWASP, versión 3.0.2, el ataque de protocolo se mitiga de la siguiente manera:

Desde 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>"

Salida

HTTP/1.1 403 Forbidden
<..>

Confirma que los intentos de corrección de la sesión estén bloqueados

Desde Cloud Shell

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

Salida

HTTP/1.1 403 Forbidden
<..>

8. Revisa las reglas de seguridad de Cloud Armor

Ahora que creamos la política de seguridad, veamos exactamente qué reglas se configuraron.

d00e4102fc89e44f.png

Las reglas se evalúan por prioridad: los números más bajos se evalúan primero y, una vez que se activan, el procesamiento no continúa para las reglas con valores de prioridad más altos.

  • Prioridad 9000: bloquear LFI (inclusión de archivos locales)
  • Prioridad 9001: RCE de bloque (ejecución de código remoto/inserción de comandos)
  • Prioridad 9002: escáneres de bloque detectados
  • Prioridad 9003: ataques de protocolo de bloqueo, como división de HTTP y contrabando de HTTP
  • Prioridad 9004: ataques de fijación de sesión en el bloque
  • Prioridad 10000: permitir que su IP acceda al sitio web
  • Prioridad predeterminada: rechazar.

*Observa la casilla “Permitir tu IP” se configura con el número de prioridad más alto para permitir el acceso al sitio, pero bloquea cualquier ataque.

9. Observa los registros de la política de seguridad de Cloud Armor

En la página de la consola de Cloud Armor, puedes ver los detalles de la política de seguridad y hacer clic en la pestaña Logs seguida del vínculo View policy logs para ir a la página de Cloud Logging. Filtrará automáticamente en función de la política de seguridad de interés, p.ej., resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs) Observa los códigos de respuesta de errores 403 y expande los detalles del registro para observar el nombre de la política de seguridad aplicada, el valor del campo coincidente y, más abajo, los IDs de expresiones preconfiguradas (o el ID de firma). En las siguientes capturas de pantalla, se muestran ejemplos de los registros de las políticas de seguridad aplicadas que se configuraron en este codelab.

Registro de la LFI

983a6cab0cff940d.png

Registro de RCE

988a3a571f9d9d45.png

Registro de detección del escáner

8ed661863ba27555.png

Registro de ataques de protocolo

17ee3cbe0bd98939.png

Registro de fijación de sesiones

80d1ddfd0fe982e1.png

10. Limpieza del lab

Ahora que completaste el lab, limpia los recursos.

Ejecuta estos comandos para borrar la política de seguridad de Cloud Armor, el balanceador de cargas, las instancias, las reglas de firewall y la red de VPC.

Quita la política de seguridad de Cloud Armor del servicio de backend

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

Borra la política de seguridad de Cloud Armor

Si borras la política de seguridad, se borrarán automáticamente las reglas asociadas.

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

Borra los recursos del balanceador de cargas

Estos recursos del balanceador de cargas que se borrarán incluyen la regla de reenvío, target-http-proxies, url-maps, backend, comprobaciones de estado y grupo de instancias.

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

Borra la instancia

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

Borra las reglas de firewall, la subred y la 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. ¡Felicitaciones!

Felicitaciones por completar el codelab de reglas de WAF preconfiguradas de Cloud Armor.

Temas abordados

  • Cómo configurar un grupo de instancias y un balanceador de cargas de Cloud global
  • Cómo configurar las políticas de seguridad de Cloud Armor con reglas de WAF preconfiguradas para brindar protección contra lfi, rce, escáneres, ataques de protocolo y fijación de sesiones
  • Cómo validar que Cloud Armor haya mitigado algunos de los 10 ataques principales de OWASP a través de registros

Próximos pasos