Integra Cloud Armor en Google SecOps

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

Casos de uso

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

  • Bloqueo automático de amenazas: Bloquea al instante rangos o direcciones IP maliciosas en el Google Cloud borde 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 coherente del WAF.

  • Mitigación dinámica de DDoS: Responde a ataques volumétricos o basados en protocolos ajustando de forma 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 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 (recomendada): Este método usa tokens de corta duración a través de la identidad temporal como cuenta de servicio.

    • Opción 2: Clave JSON de cuenta de servicio: Este método se basa en un archivo de claves secretas 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 Google Cloud :

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

    Ir a Funciones

  2. Haz clic en agregarCrear 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 a esta cuenta de servicio acceso al proyecto, 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 credenciales de Workload Identity

Se recomienda usar Workload Identity porque utiliza tokens de corta duración a través de 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 suplantar tu cuenta de servicio.

  1. En Google SecOps, ve a Content Hub > 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 > Prueba. La prueba falla.

  4. Haz clic en el botón close_small junto a Test 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 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 clave 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 al que se segmenta Cloud Armor.

Si no se proporciona ningún valor, la integración recupera el ID de las credenciales de la 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 con clave de cuenta de servicio.

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

Verify SSL

Obligatorio.

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

Habilitada de forma predeterminada.

Si quieres obtener instrucciones para configurar una integración en Google SecOps, consulta Configura integraciones.

Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los playbooks. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Compatibilidad con varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes desde Tu escritorio y Cómo realizar una acción manual.

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 a nivel global.

Rule JSON Obligatorio

Es la definición en 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 salida de la acción
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 completó 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 una 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 a nivel global.

Policy JSON Obligatorio

Es la definición en 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 salida de la acción
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 completó correctamente.
Error executing action "Create 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 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 salida de la acción
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 completó 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 al 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 reglas en una política. Para agregar una regla a la política relacionada, usa la acción Agregar 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 a 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 .

Con esta acción, no puedes actualizar reglas. Para agregar una regla a una política, usa la acción Agregar una regla a una política de seguridad.

Resultados de la acción

Tipo de salida de la acción
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 completó correctamente.
Error executing action "Update a Security Policy". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al 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.