Integra Cloud Armor con Google SecOps

En este documento, se explica cómo integrar Google Cloud Armor en Google Security Operations.

Casos de uso

La integración de Cloud Armor admite los siguientes casos de uso:

  • Bloqueo automatizado de amenazas: Bloquea de forma instantánea las direcciones IP o los rangos de IP maliciosos en el perímetro de Google Cloud actualizando las reglas de la política de seguridad durante un incidente.

  • Administración de políticas de seguridad: Enumera, recupera y actualiza las políticas y reglas de seguridad en todo tu entorno para garantizar una protección de WAF coherente.

  • Mitigación dinámica de DDoS: Responde a ataques volumétricos o basados en protocolos ajustando de manera programática la configuración de la política de seguridad.

  • Auditoría forense: Recupera los detalles de configuración de las políticas de seguridad existentes para correlacionar las protecciones perimetrales con las alertas de seguridad internas.

Antes de comenzar

Antes de configurar la integración de Cloud Armor en Google SecOps, completa los siguientes pasos de requisitos previos:

  1. Crea y configura un rol personalizado de Identity and Access Management.

  2. Crea una cuenta de servicio.

  3. Elige y configura uno de los siguientes métodos de autenticación:

    • Opción 1: Workload Identity (recomendado): Este método usa tokens de corta duración con la identidad temporal como cuenta de servicio.

    • Opción 2: Clave JSON de la cuenta de servicio: Este método se basa en un archivo de clave secreta estático y de larga duración.

Crea y configura el rol de IAM

Para proporcionar a la integración los permisos necesarios, crea un rol personalizado en tu proyecto de Google Cloud :

  1. En la consola de Google Cloud , ve a Roles.

    Ir a Funciones

  2. Haz clic en addCrear rol personalizado.

  3. Proporciona un Título, una Descripción y un ID único.

  4. Establece la Etapa de lanzamiento del rol en Disponibilidad general.

  5. Agrega los siguientes permisos al rol:

    • compute.backendBuckets.setSecurityPolicy
    • compute.backendServices.setSecurityPolicy
    • compute.regionBackendServices.setSecurityPolicy
    • compute.regionSecurityPolicies.create
    • compute.regionSecurityPolicies.get
    • compute.regionSecurityPolicies.list
    • compute.regionSecurityPolicies.update
    • compute.securityPolicies.create
    • compute.securityPolicies.get
    • compute.securityPolicies.list
    • compute.securityPolicies.update
  6. Haz clic en Crear.

Crea una cuenta de servicio

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Haz clic en addCrear cuenta de servicio.

  3. Proporciona un nombre y una descripción, y haz clic en Crear y continuar.

  4. En el paso Otorga acceso al proyecto a esta cuenta de servicio, asigna el rol de IAM personalizado que creaste.

  5. Haz clic en Listo. Toma nota de la dirección de correo electrónico de la cuenta de servicio.

Configura las credenciales de Workload Identity

Workload Identity es el enfoque recomendado, ya que usa tokens de corta duración con la identidad temporal como cuenta de servicio.

Identifica la identidad única de la instancia

Para establecer una conexión, debes otorgar permiso a tu instancia de Google SecOps para que use la identidad de tu cuenta de servicio.

  1. En Google SecOps, ve a Centro de contenido > Integraciones de respuesta.

  2. Selecciona la integración de Cloud Armor y, luego, ingresa el correo electrónico de tu cuenta de servicio en Workload Identity Email.

  3. Haz clic en Guardar > Probar. La prueba falla.

  4. Haz clic en el botón close_small junto a Prueba y busca el correo electrónico de identidad que comienza con gke-init-python@... o soar-python@....

  5. Copia esta dirección de correo electrónico única.

Autoriza la identidad de la instancia en Google Cloud

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Selecciona la cuenta de servicio de destino y ve a Permisos > Otorgar acceso.

  3. Pega la dirección de correo electrónico única en el campo Principales nuevas y asigna el rol de Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator).

Configura una clave JSON

Los archivos de claves secretas estáticas y de larga duración requieren una rotación manual. Usa este método solo si la autenticación de Workload Identity no está disponible.

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona tu cuenta de servicio.

    Ir a Cuentas de servicio

  2. Ve a la pestaña Claves y haz clic en Agregar clave > Crear clave nueva.

  3. Selecciona JSON y haz clic en Crear. El archivo de claves se descarga en tu computadora.

Parámetros de integración

La integración de Cloud Armor requiere los siguientes parámetros:

Parámetro Descripción
API Root

Obligatorio.

Es la raíz de la API del servicio de Cloud Armor.

El valor predeterminado es https://compute.googleapis.com/compute/v1/.

Project ID

Es opcional.

Es el ID del proyecto de destino para Cloud Armor.

Si no se proporciona ningún valor, la integración recupera el ID de las credenciales de cuenta de servicio.

Workload Identity Email

Es opcional.

Es la dirección de correo electrónico del cliente de tu cuenta de servicio. Configura este parámetro para la autenticación de Workload Identity.

Si se configura, se ignora User Service Account.

User Service Account

Es opcional.

Es el contenido completo del archivo JSON de la clave de la cuenta de servicio. Configura este parámetro para la autenticación de claves de cuentas de servicio.

Si se configura, la integración ignora Workload Identity Email.

Verify SSL

Obligatorio.

Si se selecciona, la integración valida el certificado SSL cuando se conecta al servidor de Google Cloud .

Habilitada de forma predeterminada.

Para obtener instrucciones sobre cómo configurar una integración en Google SecOps, consulta Configura integraciones.

Si es necesario, puedes realizar cambios más adelante. Después de configurar una instancia de integración, puedes usarla en las guías. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Cómo admitir varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Responde a las acciones pendientes desde tu escritorio y Ejecuta una acción manual en tu caso.

Agrega una regla a una política de seguridad

Agrega una regla nueva a la política de seguridad en el servicio de Cloud Armor.

Entidades

Esta acción no se ejecuta en entidades.

Entradas de acción

Para configurar la acción, usa los siguientes parámetros:

Parámetros
Policy Name Obligatorio

Es el nombre de la política de seguridad a la que se agregará una regla nueva.

Region Optional

Es la región de la política en la que se agregará la regla.

Si no se proporciona ningún valor, la regla se agrega a la política de seguridad de nivel global.

Rule JSON Obligatorio

Es la definición JSON de la regla que se agregará.

Para obtener más información sobre cómo agregar una regla a una política, consulta Método: securityPolicies.addRule.

Resultados de la acción

Tipo de resultado de la acción
Archivo adjunto del muro de casos N/A
Vínculo al muro de casos N/A
Tabla del muro de casos N/A
Tabla de enriquecimiento N/A
Resultado de JSON Disponible
Resultado de secuencia de comandos Disponible
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Resultado de JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Muro de casos

Esta acción proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully added a new rule to the security policy! La acción se realizó correctamente.
Error executing action "Add a Rule to a Security Policy". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada, las credenciales, el nombre de la región, el contenido del archivo JSON o el nombre de la política.

Crea una política de seguridad

Crea una política de seguridad en el servicio de Cloud Armor.

Entidades

Esta acción no se ejecuta en entidades.

Entradas de acción

Para configurar la acción, usa los siguientes parámetros:

Parámetros
Region Optional

Es la región en la que se creará una política.

Si no se proporciona ningún valor, se crea la política de seguridad de nivel global.

Policy JSON Obligatorio

Es la definición JSON de la política que se creará.

Para obtener más información sobre las políticas, consulta Recurso de REST: securityPolicies.

Resultados de la acción

Tipo de resultado de la acción
Archivo adjunto del muro de casos N/A
Vínculo al muro de casos N/A
Tabla del muro de casos N/A
Tabla de enriquecimiento N/A
Resultado de JSON Disponible
Resultado de secuencia de comandos Disponible
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Resultado de JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Muro de casos

Esta acción proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully created a new security policy! La acción se realizó correctamente.
Error executing action "Create a Security Policy". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión con el servidor, los parámetros de entrada, las credenciales, el nombre de la región o el contenido de un archivo JSON.

Ping

Prueba la conectividad con el servicio de Cloud Armor con los parámetros proporcionados en la página de configuración de la integración.

Entidades

Esta acción no se ejecuta en entidades.

Entradas de acción

N/A

Resultados de la acción

Tipo de resultado de la acción
Archivo adjunto del muro de casos N/A
Vínculo al muro de casos N/A
Tabla del muro de casos N/A
Tabla de enriquecimiento N/A
Resultado de JSON N/A
Resultado de secuencia de comandos Disponible
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Muro de casos

Esta acción proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully connected to the Google Cloud Armor service with the provided connection parameters! La acción se realizó correctamente.
Failed to connect to the Google Cloud Armor service! Error is ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión con el servidor, los parámetros de entrada o las credenciales.

Actualiza una política de seguridad

Actualiza la política de seguridad existente en el servicio de Cloud Armor.

Esta acción no puede actualizar las reglas de una política. Para agregar una regla a la política relacionada, usa la acción Agrega una regla a una política de seguridad.

Entidades

Esta acción no se ejecuta en entidades.

Entradas de acción

Para configurar la acción, usa los siguientes parámetros:

Parámetros
Policy Name Obligatorio

Es el nombre de la política de seguridad a la que se agregará una regla nueva.

Region Optional

Es la región de la política actualizada.

Si no se proporciona ningún valor, se crea la política de seguridad de nivel global.

Rule JSON Obligatorio

Es la definición JSON de la política que se actualizará.

Para obtener más información sobre las actualizaciones de políticas, consulta Método: securityPolicies.patch .

No puedes actualizar reglas con esta acción. Para agregar una regla a una política, usa la acción Agrega una regla a una política de seguridad.

Resultados de la acción

Tipo de resultado de la acción
Archivo adjunto del muro de casos N/A
Vínculo al muro de casos N/A
Tabla del muro de casos N/A
Tabla de enriquecimiento N/A
Resultado de JSON Disponible
Resultado de secuencia de comandos Disponible
Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Resultado de JSON
{
   "kind": "compute#securityPolicy",
   "id": "ID",
   "creationTimestamp": "2024-04-14T05:39:05.798-07:00",
   "name": "example",
   "description": "Test for integration",
   "rules": [
       {
           "kind": "compute#securityPolicyRule",
           "description": "test",
           "priority": 100,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       },
       {
           "kind": "compute#securityPolicyRule",
           "description": "Default rule, higher priority overrides it",
           "priority": 2147483647,
           "match": {
               "versionedExpr": "SRC_IPS_V1",
               "config": {
                   "srcIpRanges": [
                       "*"
                   ]
               }
           },
           "action": "allow",
           "preview": false
       }
   ],
   "fingerprint": "A3hq2ZQYxj8=",
   "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
   "type": "CLOUD_ARMOR",
   "labelFingerprint": "42WmSpB8rSM=",
   "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Muro de casos

Esta acción proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully added comment to the identity protection detection with ID DETECTION_ID in CrowdStrike La acción se realizó correctamente.
Error executing action "Update a Security Policy". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión con el servidor, los parámetros de entrada o las credenciales.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.