Administra las políticas de seguridad de Cloud Armor

En esta página, se describe cómo administrar las políticas de seguridad de Google Cloud Armor y filtrar el tráfico entrante a tu aplicación. Las políticas de seguridad de Cloud Armor ayudan a proteger tus aplicaciones y servicios web de ataques de denegación de servicio distribuido (DSD) y otras amenazas de Internet. Para aplicar una postura de seguridad sólida, debes administrar tus políticas de seguridad a través de la creación, las pruebas y la consolidación. Para crear o ver políticas de seguridad, consulta Crea y visualiza políticas de seguridad de Cloud Armor.

Administra las políticas de seguridad

En las siguientes secciones, se describe cómo puedes enumerar, actualizar, borrar o probar tus políticas de seguridad.

Mostrar lista de políticas de seguridad

Sigue los pasos de esta sección para generar una lista de las políticas de seguridad de Cloud Armor en tu proyecto.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Para ver una política, en la lista de políticas, haz clic en el nombre de esa política específica.

gcloud

gcloud compute security-policies list

Por ejemplo:

gcloud compute security-policies list

Resultado:

NAME: my-policy
REGION: us-central1

Para obtener más información, consulta gcloud compute security-policies list.

Actualiza las políticas de seguridad

En los pasos de esta sección, se describe cómo puedes actualizar una política de seguridad de Cloud Armor. Puedes modificar la descripción de la política, la regla predeterminada, cambiar el servicio de backend de destino o agregar reglas.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Busca el nombre de la política que quieres actualizar en la lista de políticas y haz clic en Menú para esa política.

    • Para actualizar la descripción o la acción de la regla predeterminada, selecciona Editar, realiza los cambios y haz clic en Actualizar.
    • Para agregar una regla, selecciona Agregar regla y, luego, sigue los pasos en Agrega reglas a una política de seguridad.
    • Para reemplazar el servicio de backend de destino, selecciona Aplicar política al destino, haz clic en Agregar destino, selecciona un destino y, luego, haz clic en Agregar.

gcloud

Para actualizar una política de seguridad, sigue estos pasos de Google Cloud CLI:

Borrar políticas de seguridad

En esta sección, se describe cómo puedes borrar una política de seguridad de Cloud Armor. Quita todos los servicios de backend de la política antes de borrarla.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Selecciona la casilla de verificación junto a la política que deseas borrar.

  3. En la esquina superior derecha de la página, haz clic en Borrar.

gcloud

Usa gcloud compute security-policies delete NAME. Reemplaza NAME por el nombre de la política de seguridad:

gcloud compute security-policies delete NAME

Prueba políticas de seguridad

Recomendamos que implementes todas las reglas nuevas en el modo de vista previa y, luego, examines los registros de solicitud para verificar que las políticas y reglas se comporten como se espera.

Administra reglas de políticas de seguridad

En las siguientes secciones, se describe cómo puedes enumerar, agregar, actualizar o borrar reglas de políticas de seguridad.

Enumera las reglas en una política de seguridad

Sigue los pasos de esta sección para generar una lista de las reglas en una política de seguridad de Cloud Armor.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad específica. En la página Detalles de la política, se muestran las reglas de la política en la pestaña Reglas.

gcloud

Usa el siguiente comando de gcloud para enumerar todas las reglas de una política de seguridad:

gcloud compute security-policies describe NAME \

Usa el siguiente comando de gcloud para obtener una lista de todas las reglas en una sola política de seguridad en una región especificada junto con una descripción de la política:

gcloud compute security-policies describe NAME \
  --region REGION

Usa el siguiente comando de gcloud para describir una regla:

gcloud compute security-policies rules describe PRIORITY \
    --security-policy POLICY_NAME

Por ejemplo, con el siguiente comando, se describe la regla con una prioridad de 1,000 en la política de seguridad my-policy:

gcloud compute security-policies rules describe 1000 \
    --security-policy my-policy

Resultado:

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

Para obtener más información, consulta gcloud compute security-policies describe.

Agrega reglas a una política de seguridad

Sigue los pasos de esta sección para agregar reglas a una política de seguridad de Cloud Armor.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el centro de la página, haga clic en la pestaña Reglas.

  4. Haga clic en Agregar regla.

  5. Ingresa una descripción de la regla (opcional).

  6. Selecciona el modo:

    • Modo básico: Permite o rechaza el tráfico en función de los rangos o las direcciones IP.
    • Modo avanzado: Permite o rechaza el tráfico según las expresiones de reglas.
  7. En el campo Coincidencia, especifica las condiciones a las que se aplica la regla:

    • Modo básico: Ingresa entre 1 y 10 rangos de direcciones IP para que coincidan con la regla. Puedes agregar un máximo de 10 rangos de direcciones IP. Para conocer los límites, consulta Cuotas y límites de Cloud Armor.

    • Modo avanzado:

    • La siguiente expresión coincide con las solicitudes de la dirección IP 1.2.3.4 que contienen la cadena example en el encabezado User-Agent:

        inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
      
    • La siguiente expresión coincide con las solicitudes que tienen una cookie con un valor específico:

          has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
        

    • La siguiente expresión coincide con las solicitudes de la región AU:

          origin.region_code == 'AU'
        

    • La siguiente expresión coincide con las solicitudes de la región AU que no están en el rango de IP especificado:

          origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
        

    • La siguiente expresión coincide con las solicitudes si el URI coincide con una expresión regular:

          request.path.matches('/example_path/')
        

    • La siguiente expresión coincide con las solicitudes si el encabezado user-id contiene un valor codificado en Base64 que, cuando se decodifica, contiene una cadena específica:

          has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
        

    • En la siguiente expresión, se usa un conjunto de expresiones preconfiguradas para establecer coincidencias con los ataques de SQLi:

          evaluatePreconfiguredWaf('sqli-stable')
        

  8. En la lista Acción, selecciona Permitir o Rechazar.

  9. Si configuras una regla para rechazar, selecciona un mensaje Rechazar estado.

  10. Para habilitar el modo de vista previa para la regla, selecciona Habilitar.

  11. En el campo Prioridad, ingresa un número entero positivo.

  12. Haga clic en Add.

gcloud

Usa el comando gcloud compute security-policies rules create PRIORITY. Reemplaza PRIORITY por la prioridad de la regla en la política:

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

Por ejemplo, el siguiente comando agrega una regla con una prioridad de 1,000 para bloquear el tráfico de los rangos de direcciones IP 192.0.2.0/24 y 198.51.100.0/24:

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"

Usa la marca --expression para especificar una condición. El siguiente comando agrega una regla para permitir el tráfico desde la dirección IP 1.2.3.4 que contiene la cadena example en el encabezado 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'"

Con el siguiente comando, se agrega una regla para bloquear solicitudes si la cookie de la solicitud contiene un valor específico:

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"

Con el siguiente comando, se agrega una regla para bloquear solicitudes de la región AU:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "origin.region_code == 'AU'" \
    --action deny-403 \
    --description "AU block"

Con el siguiente comando, se agrega una regla para bloquear las solicitudes de la región AU que no están en el rango de IP especificado:

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"

Con el siguiente comando, se agrega una regla para bloquear solicitudes con un URI que coincide con una expresión regular:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "request.path.matches('/example_path/')" \
    --action deny-502 \
    --description "regex block"

Con el siguiente comando, se agrega una regla para bloquear solicitudes si el valor decodificado en Base64 del encabezado de user-id contiene un valor específico:

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"

Con el siguiente comando, se agrega una regla que usa un conjunto de expresiones preconfiguradas para mitigar los ataques de SQLi:

gcloud compute security-policies rules create 1000 \
    --security-policy my-policy \
    --expression "evaluatePreconfiguredWaf('sqli-stable')" \
    --action deny-403

Actualiza una sola regla en una política de seguridad

En esta sección, se describe cómo puedes actualizar una sola regla en una política de seguridad de Cloud Armor. Para actualizar varias reglas de forma atómica, consulta Actualiza varias reglas de forma atómica en una política de seguridad.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el centro de la página, haga clic en la pestaña Reglas.

  4. Haz clic en Editar junto a la regla que deseas actualizar. Se abrirá la página Editar regla.

  5. Realiza los cambios y, luego, haz clic en Actualizar.

gcloud

Usa el siguiente comando para actualizar una regla. Solo puedes actualizar una política de seguridad a la vez:

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
  ]
  

Por ejemplo, con el siguiente comando, se actualiza una regla con una prioridad de 1111 para permitir el tráfico del rango de direcciones 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"

Para obtener más información sobre el comando anterior, consulta gcloud compute security-policies rules update.

Para actualizar la prioridad de una regla, usa la API de REST. Consulta securityPolicies.patchRule.

Cómo usar el creador de condiciones de coincidencia

El compilador de condiciones de coincidencia es una interfaz visual en la consola de Google Cloud que te ayuda a crear expresiones complejas de reglas de Cloud Armor sin escribir código de Common Expression Language (CEL). En lugar de escribir código, puedes usar la IU estructurada del compilador para combinar condiciones y agrupar la lógica, lo que puede ayudarte a evitar errores de sintaxis y visualizar mejor la estructura de tu regla. El compilador admite listas planas y lógica anidada con hasta cinco niveles de expresiones. Usa esta herramienta cuando configures reglas para proteger backends de múltiples nubes o implementaciones híbridas, en las que es posible que debas inspeccionar atributos de solicitudes específicos antes de enrutar el tráfico.

Funciones del creador de condiciones de coincidencia

El compilador de condiciones de coincidencia incluye las siguientes funciones:

  • Lógica y anidación: Combina varias condiciones con los operadores AND y OR. El compilador admite el agrupamiento y el anidamiento de hasta cinco expresiones.
  • Transformaciones de cadenas: Para los atributos basados en cadenas (como request.path o request.headers), aplica transformaciones para normalizar los datos antes de la evaluación. Las transformaciones compatibles incluyen las siguientes:
    • Minúsculas y mayúsculas
    • Decodificación en Base64
    • Decodificar URL y Decodificar URL (Unicode)
    • Convertir de UTF-8 a Unicode
  • Análisis bidireccional: Cambia entre el Creador de condiciones de coincidencia visual y el Editor de condiciones de coincidencia de texto sin formato. La IU analiza el código CEL sin procesar en bloques visuales de forma automática.
  • Compatibilidad con funciones: El compilador proporciona controles de IU para expresiones basadas en funciones, como reglas de WAF preconfiguradas, grupos de direcciones y Threat Intelligence.

Limitaciones

El creador de condiciones de coincidencia es la interfaz predeterminada para la creación de reglas avanzadas. Si una expresión contiene lógica no admitida (como macros desconocidas), el compilador se inhabilita. En estos casos, usa el texto sin procesar en el editor de condiciones de coincidencia para editar la regla.

Además, la disponibilidad de ciertas expresiones en el compilador depende del nivel de Google Cloud Armor Enterprise de tu proyecto y del tipo de política de seguridad.

Actualiza varias reglas de forma atómica en una política de seguridad

Puedes usar la función de actualización atómica para aplicar cambios a varias reglas en una sola actualización. Las actualizaciones de una sola regla pueden causar comportamientos no deseados, como errores, ya que las reglas antiguas y las nuevas pueden superponerse durante un período breve.

Para actualizar varias reglas de forma atómica, exporta la política de seguridad actual a un archivo JSON o YAML y, luego, modifica el archivo. Usa el archivo modificado para crear una política de seguridad y, luego, cambia la política de seguridad para los servicios de backend.

gcloud

  1. Exporta la política que deseas actualizar, como se muestra en el siguiente ejemplo:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
    

    La política exportada será similar al siguiente ejemplo:

        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
    
  2. Usa un editor de texto para modificar la política. Por ejemplo, puedes modificar las prioridades de las reglas existentes y agregar una regla:

        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
    
  3. Crea una nueva política de seguridad de Cloud Armor y especifica el nombre y el formato del archivo modificado, como se muestra en el siguiente ejemplo:

    gcloud compute security-policies create new-policy \
        --file-name modified-policy \
        --file-format yaml
    
  4. Quita la política de seguridad anterior del servicio de backend relevante, como se muestra en el siguiente ejemplo:

    gcloud compute backend-services update my-backend \
        --security-policy ""
    
  5. Agrega la nueva política de seguridad al servicio de backend, como se muestra en el siguiente ejemplo:

    gcloud compute backend-services update my-backend \
        --security-policy new-policy
    
  6. Si no deseas usar la política anterior, bórrala:

    gcloud compute security-policies delete my-policy
    

Borra reglas de una política de seguridad

Sigue los pasos que se indican en esta sección para borrar reglas de una política de seguridad de Cloud Armor.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el centro de la página, en la pestaña Reglas, selecciona la casilla de verificación junto a la regla que deseas borrar.

  4. Haz clic en Borrar.

gcloud

Usa el siguiente comando para quitar una regla. Solo puedes modificar una política de seguridad a la vez, pero puedes borrar varias reglas al mismo tiempo:

gcloud compute security-policies rules delete PRIORITY [...] [
    --security-policy POLICY_NAME \
  ]

Por ejemplo:

gcloud compute security-policies rules delete 1000 \
    --security-policy my-policy

Cómo adjuntar y quitar políticas de seguridad

En las siguientes secciones, se describe cómo puedes adjuntar y quitar políticas de seguridad.

Vincula una política de seguridad a un servicio de backend

Sigue los pasos de esta sección para vincular una política de seguridad de Cloud Armor a un servicio de backend. Puedes adjuntar una política de seguridad a varios servicios de backend, pero un servicio de backend solo puede tener una de cada tipo de política de seguridad adjunta.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el medio de la página, haz clic en la pestaña Destinos.

  4. Haz clic en Aplicar política a un destino nuevo.

  5. Haga clic en Agregar destino.

  6. En la lista Destino, selecciona un objetivo y, luego, haz clic en Agregar.

gcloud

Cuando adjuntas una política de seguridad de backend a un servicio de backend, usa el comando gcloud compute backend-services y la marca --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy my-policy

Cuando adjuntes una política de seguridad perimetral a un servicio de backend, usa el comando gcloud compute backend-services y la marca --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy my-policy

Quita una política de seguridad de un servicio de backend

Sigue los pasos de esta sección para quitar una política de seguridad de Cloud Armor de un servicio de backend.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el medio de la página, haz clic en la pestaña Destinos.

  4. Selecciona el servicio de backend de destino del que deseas quitar la política.

  5. Haz clic en Quitar.

  6. En el mensaje Quitar objetivo, haz clic en Quitar.

gcloud

Cuando quites una política de seguridad de backend, usa el comando gcloud compute backend-services y la marca --security-policy:

gcloud compute backend-services update my-backend \
    --security-policy ""

Cuando quites una política de seguridad perimetral, usa el comando gcloud compute backend-services y la marca --edge-security-policy:

gcloud compute backend-services update my-backend \
    --edge-security-policy ""

Vincula una política de seguridad a un bucket de backend

Sigue los pasos de esta sección para adjuntar una política de seguridad perimetral de Cloud Armor a un bucket de backend. Puedes adjuntar una política de seguridad perimetral a varios buckets de backend.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el medio de la página, haz clic en la pestaña Destinos.

  4. Haz clic en Aplicar política a un destino nuevo.

  5. Haga clic en Agregar destino.

  6. En la lista Destino, selecciona un objetivo y, luego, haz clic en Agregar.

gcloud

Cuando adjuntes una política de seguridad perimetral a un bucket de backend, usa el comando cloud compute backend-buckets y la marca --edge-security-policy:

gcloud compute backend-services update my-bucket \
    --edge-security-policy my-edge-policy

Quita una política de seguridad de un bucket de backend

Sigue los pasos que se indican en esta sección para quitar una política de seguridad perimetral de Cloud Armor de un bucket de backend.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de Cloud Armor.

    Ir a Políticas de Cloud Armor

  2. Haz clic en el nombre de la política de seguridad para abrir la página Detalles de la política.

  3. En el medio de la página, haz clic en la pestaña Destinos.

  4. Selecciona el servicio de backend de destino del que deseas quitar la política.

  5. Haz clic en Quitar.

  6. En el mensaje Quitar objetivo, haz clic en Quitar.

gcloud

Cuando quites una política de seguridad perimetral de un bucket de backend, usa el comando cloud compute backend-buckets y la marca --edge-security-policy:

gcloud compute backend-services update my-bucket \
    --edge-security-policy ""

Importa y exporta políticas de seguridad

En las siguientes secciones, se describe cómo puedes importar y exportar políticas de seguridad.

Exporta políticas de seguridad

Puedes exportar una política de seguridad de Cloud Armor como un archivo YAML o JSON con Google Cloud CLI. Esta función ofrece los siguientes beneficios:

  • Guardar una copia para el control de versión o la copia de seguridad: La exportación proporciona una copia local de tu política. Guarda esta copia en sistemas de control de origen como copia de seguridad o para hacer un seguimiento de los cambios. Puedes volver a importarlo más adelante para restablecer una versión anterior.

  • Modifica y actualiza políticas de forma local: Modifica las políticas exportadas sin conexión con un editor de texto. Después de realizar los cambios, vuelve a importar la política actualizada para aplicar las modificaciones a Cloud Armor.

gcloud

  1. En el siguiente comando, NAME es el nombre de la política de seguridad. Los formatos de archivo válidos son YAML y JSON. Si no especificas el formato de archivo, Cloud Armor usa YAML.

    gcloud compute security-policies export NAME \
        --file-name FILE_NAME  \
        --file-format FILE_FORMAT
    

    En el siguiente ejemplo, se muestra el comando para exportar la política de seguridad my-policy al archivo my-file en formato YAML:

    gcloud compute security-policies export my-policy \
        --file-name my-file \
        --file-format yaml
     

    En el siguiente ejemplo, se muestra una política de seguridad exportada:

    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
      
  2. Modifica el archivo exportado con un editor de texto y, luego, impórtalo de nuevo a Google Cloud con el comandoimport.

Importa políticas de seguridad

Puedes importar políticas de seguridad de Cloud Armor desde un archivo YAML o JSON con Google Cloud CLI. No puedes usar el comando import para actualizar las reglas de una política existente. En su lugar, actualiza las reglas de forma individual con el procedimiento Actualiza una sola regla en una política de seguridad o todas a la vez con el procedimiento Actualiza varias reglas de forma atómica en una política de seguridad.

gcloud

Para importar políticas de seguridad, usa el siguiente comando gcloud compute security-policies import NAME.

gcloud compute security-policies import NAME \
    --file-name FILE_NAME  \
   [--file-format FILE_FORMAT]

Por ejemplo, con el siguiente comando, se actualiza la política my-policy mediante la importación del archivo my-file.

gcloud compute security-policies import my-policy \
    --file-name my-file \
    --file-format json

Reemplaza NAME por el nombre de la política de seguridad. Si no proporcionas el formato de archivo, se supone cuál es el formato correcto en función de la estructura del archivo. Si la estructura no es válida, la gcloud CLI muestra un mensaje de error.

Si la huella digital de la política no está actualizada cuando la importas, Cloud Armor muestra un error. Esto significa que la política se modificó desde la última vez que la exportaste. Para solucionar esto, usa el comando describe en la política para obtener la huella digital más reciente. Puedes usar --format=yaml o --format=json con el comando describe para facilitar la comparación. Compara la sección rules del resultado de describe con la sección rules de tu archivo de política, combina las diferencias y, luego, reemplaza la huella digital desactualizada de tu archivo por la más reciente del resultado de describe.

Enumera las reglas preconfiguradas disponibles

Además de las reglas que configuras por tu cuenta, Cloud Armor proporciona reglas preconfiguradas que puedes usar en tus políticas de seguridad. Puedes obtener una lista de las reglas preconfiguradas para ver las reglas y firmas predefinidas de protección de aplicaciones, como el conjunto de reglas principales de OWASP que proporciona Cloud Armor. Estas reglas contienen firmas integradas que Cloud Armor evalúa en función de las solicitudes entrantes. Agrega estas reglas preconfiguradas a reglas nuevas o existentes con la referencia del lenguaje de reglas personalizadas.

Para obtener más información, consulta las reglas preconfiguradas.

gcloud

  1. Ejecuta el comando gcloud compute security-policies list-preconfigured-expression-sets:

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

    En el siguiente ejemplo, se muestra el formato del resultado 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
    

    En el siguiente ejemplo, se incluye una muestra del resultado real del comando. Ten en cuenta que, en el resultado real, se incluirían todas las reglas que se enumeran en Ajuste de las reglas de WAF de Cloud Armor.

    gcloud compute security-policies list-preconfigured-expression-sets
    
    EXPRESSION_SET
    sqli-canary
        RULE_ID                          SENSITIVITY
        owasp-crs-v042200-id942120-sqli  2
        …
    xss-canary
        RULE_ID                         SENSITIVITY
        owasp-crs-v042200-id941110-xss  1
        owasp-crs-v042200-id941120-xss  2
    …
    sourceiplist-fastly
    sourceiplist-cloudflare
    sourceiplist-imperva
    

¿Qué sigue?