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:
Crea y configura un rol personalizado de Identity and Access Management.
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 :
En la consola de Google Cloud , ve a Roles.
Haz clic en addCrear rol personalizado.
Proporciona un Título, una Descripción y un ID único.
Establece la Etapa de lanzamiento del rol en Disponibilidad general.
Agrega los siguientes permisos al rol:
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
Haz clic en Crear.
Crea una cuenta de servicio
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.
Haz clic en addCrear cuenta de servicio.
Proporciona un nombre y una descripción, y haz clic en Crear y continuar.
En el paso Otorga acceso al proyecto a esta cuenta de servicio, asigna el rol de IAM personalizado que creaste.
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.
En Google SecOps, ve a Centro de contenido > Integraciones de respuesta.
Selecciona la integración de Cloud Armor y, luego, ingresa el correo electrónico de tu cuenta de servicio en
Workload Identity Email.Haz clic en Guardar > Probar. La prueba falla.
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@...osoar-python@....Copia esta dirección de correo electrónico única.
Autoriza la identidad de la instancia en Google Cloud
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.
Selecciona la cuenta de servicio de destino y ve a Permisos > Otorgar acceso.
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.
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona tu cuenta de servicio.
Ve a la pestaña Claves y haz clic en Agregar clave > Crear clave nueva.
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 |
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 |
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
|
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.