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:
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 (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 :
En la consola de Google Cloud , ve a Roles.
Haz clic en agregarCrear 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 a esta cuenta de servicio acceso al proyecto, 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 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.
En Google SecOps, ve a Content Hub > 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 > Prueba. La prueba falla.
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@...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 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 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 |
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 |
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 |
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.