Google Cloud Storage
En este documento, se proporciona orientación para integrar Cloud Storage con el módulo SOAR de Google Security Operations.
Esta integración usa uno o más componentes de código abierto. Puedes descargar una copia del código fuente de esta integración desde un bucket de Cloud Storage.
Casos de uso
En la plataforma de Google SecOps SOAR, la integración de Google Cloud Storage resuelve los siguientes casos de uso:
Almacenamiento de evidencia de incidentes: Las guías pueden recopilar y almacenar de forma automática evidencia relacionada con incidentes, como registros y muestras de software malicioso, en buckets de Cloud Storage para proporcionar un repositorio a prueba de manipulaciones para la preservación de evidencia.
Uso compartido de inteligencia contra amenazas: Tu equipo de seguridad puede usar Cloud Storage para compartir de forma segura feeds de inteligencia contra amenazas, como listas de direcciones IP y dominios maliciosos, con otros equipos u organizaciones. El uso compartido de feeds permite la defensa colaborativa contra amenazas y tiempos de respuesta más rápidos.
Integración de la zona de pruebas de análisis de software malicioso: Las guías pueden enviar automáticamente archivos sospechosos de un incidente a una zona de pruebas de análisis de software malicioso basada en la nube. Puedes almacenar los resultados del análisis en Cloud Storage para su revisión y posterior acción, y así proporcionar un análisis de malware eficiente y escalable.
Copia de seguridad de la configuración de seguridad: Usa las capacidades de SOAR de Google SecOps para automatizar copias de seguridad periódicas de configuraciones de seguridad críticas, como reglas de firewall y firmas del sistema de detección de intrusiones en Cloud Storage. La automatización de las copias de seguridad proporciona continuidad empresarial y una recuperación más rápida en caso de cambios accidentales o maliciosos.
Almacenamiento de artefactos de campañas de phishing: Usa las capacidades de SOAR de Google SecOps para almacenar correos electrónicos de phishing, archivos adjuntos y otros artefactos en Cloud Storage mientras investigas una campaña de phishing. El almacenamiento de artefactos permite el análisis centralizado y la conservación de evidencia para posibles acciones legales.
Antes de comenzar
Antes de configurar la integración de Cloud Storage en Google SecOps, completa los siguientes pasos previos:
Crea una cuenta de servicio
Para crear una cuenta de servicio, completa los siguientes pasos:
En la consola de Google Cloud , ve a Credenciales. Ir a Credenciales
En el menú Crear credenciales, selecciona Cuenta de servicio.
Ingresa un nombre en el campo Nombre de la cuenta de servicio y haz clic en Crear y continuar.
Haz clic en Continuar > Listo para omitir las pantallas opcionales de asignación de roles y acceso de la entidad principal.
Otorga roles a tu cuenta de servicio
Para permitir que la integración acceda a tus buckets y objetos de almacenamiento y los administre, otorga los roles necesarios a tu cuenta de servicio:
En la consola de Google Cloud , ve a IAM y administración > IAM.
Ubica tu cuenta de servicio y haz clic en editarEditar principal.
Haz clic en Agregar otro rol y selecciona lo siguiente:
Administrador de Storage: Proporciona control total sobre los buckets y los objetos.
Consumidor de Service Usage: Solo es necesario si usas un
Quota Project IDpara la facturación.
Haz clic en Guardar.
Elige y configura un método de autenticación
Workload Identity es el método de autenticación recomendado porque usa tokens de corta duración en lugar de secretos estáticos.
Clave JSON: Se basa en un archivo de clave secreta estática.
Workload Identity (recomendado): Usa tokens de acceso temporales.
Configura una clave JSON
Sigue este procedimiento para generar un archivo de claves de cuenta de servicio en formato JSON:
Selecciona tu cuenta de servicio en la consola de Google Cloud y ve a Claves.
Haz clic en Agregar clave > Crear clave nueva.
Selecciona JSON y haz clic en Crear. El archivo de claves se descargará en tu computadora.
Configura credenciales de Workload Identity
Workload Identity permite que Google SecOps use de forma segura la identidad de tu cuenta de servicio. Completa los siguientes pasos para configurar tu Workload Identity.
Configura la instancia de integración
Para activar el proceso de descubrimiento de identidades, primero debes configurar los parámetros de conexión básicos en Google SecOps:
Ve a Content Hub > Response Integrations.
Busca y selecciona la integración de Google Cloud Storage.
Configura los siguientes parámetros obligatorios:
API Root: Ingresa la URL base (por ejemplo,
https://storage.googleapis.com).Correo electrónico de Workload Identity: Ingresa la dirección de correo electrónico de la cuenta de servicio que creaste antes.
Verificar SSL: Asegúrate de que esta opción esté habilitada.
Deja en blanco el campo Cuenta de servicio del usuario (JSON).
Haz clic en Guardar.
Identifica el correo electrónico de identidad único
Para identificar la dirección de identidad específica, se debe activar una prueba de conexión, ya que Google SecOps usa un principal interno específico para comunicarse con tus recursos de Google Cloud . Este paso garantiza que otorgues permisos a la entidad principal de backend correcta.
Haz clic en Probar. Se espera que la prueba falle.
Haz clic en el botón close_small junto a Probar.
Busca en el mensaje de error una dirección de correo electrónico que comience con
gke-init-python@...osoar-python@.... Copia este correo electrónico único.
Otorga permisos de robo de identidad
Establecer una relación de confianza requiere otorgar autoridad a la identidad única para que actúe en nombre de tu cuenta de servicio. Este último paso establece el puente seguro que permite que la integración acceda a tus recursos con tokens temporales de corta duración.
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.
Haz clic en Otorgar acceso.
En el campo Principales nuevas, pega el correo electrónico de identidad único que copiaste de Google SecOps.
En el campo Asignar roles, selecciona el rol
Service Account Token Creator(roles/iam.serviceAccountTokenCreator).Haz clic en Guardar.
Integra Cloud Storage en Google SecOps
La integración requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Service Account |
Optional
Es el contenido completo del archivo de claves JSON de la cuenta de servicio. |
Workload Identity Email |
Opcional.
Es la dirección de correo electrónico del cliente de la cuenta de servicio que se usa para la suplantación de identidad de Workload Identity. |
Project ID |
Optional Es el ID del proyecto que se usará para la integración de Cloud Storage. Si no estableces ningún valor para este parámetro, el ID del proyecto se recupera del contenido del archivo JSON proporcionado en el parámetro |
Quota Project ID |
Optional Es el ID del proyecto de Google Cloud que usas para
las APIs de Google Cloud y la facturación. Este parámetro requiere que otorgues el rol Si no se proporciona ningún valor, el ID del proyecto se recupera del contenido del archivo JSON proporcionado en el parámetro |
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 Compatibilidad con varias instancias.
Acciones
Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes de Tu escritorio y Cómo realizar una acción manual.
Descarga un objeto de un bucket
Usa esta acción para descargar un objeto (archivo) específico de un bucket de Cloud Storage.
Esta acción no se ejecuta en entidades.
Entradas de acción
La acción Descargar un objeto de un bucket requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Bucket Name |
Obligatorio El nombre del bucket de Cloud Storage que contiene el objeto que se descargará. |
Object Name |
Obligatorio Es el nombre completo del objeto que se descargará. Si el objeto se encuentra dentro de una carpeta del bucket, incluye la ruta de acceso a la carpeta, como |
Download Path |
Obligatorio Ruta de acceso absoluta del objeto descargado que conduce a un directorio existente, por ejemplo, |
Resultados de la acción
La acción Descarga un objeto de un bucket proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se describe el resultado JSON que se recibe cuando se usa la acción Download an Object From a Bucket:
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Mensajes de salida
En un muro de casos, la acción Download an Object From a Bucket proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Download an Object From a Bucket:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Obtén la lista de control de acceso de un bucket
Usa la acción Obtener la lista de control de acceso de un bucket para recuperar y mostrar las LCA de los buckets de Cloud Storage especificados.
Esta acción no se ejecuta en entidades.
Entradas de acción
La acción Get a Bucket's Access Control List requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Bucket Name |
Obligatorio Es el nombre del bucket de Cloud Storage cuya LCA deseas recuperar. Para recuperar las LCA de varios buckets, ingresa los nombres de bucket como una cadena separada por comas, como |
Resultados de la acción
La acción Obtener la lista de control de acceso de un bucket proporciona los siguientes resultados:
| Tipo de resultado de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
Mensajes de salida
En un muro de casos, la acción Obtén la lista de control de acceso de un bucket proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado del script cuando se usa la acción Get a Bucket's Access Control List:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Enumera los objetos del bucket
Usa la acción Enumerar objetos del bucket para enumerar los objetos que se almacenan en el bucket de Cloud Storage.
Esta acción no se ejecuta en entidades.
Entradas de acción
La acción List Bucket Objects requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Bucket Name |
Obligatorio Nombre del bucket del que se recuperarán los objetos. |
Max Objects to Return |
Optional Es la cantidad de objetos que se devolverán. De forma predeterminada, la acción devuelve 50 objetos por cada ejecución de la acción. |
Retrieves the Access Control List of an object |
Optional Si se selecciona, la acción recupera la LCA del objeto. No está seleccionado de forma predeterminada. |
Resultados de la acción
La acción List Bucket Objects proporciona los siguientes resultados:
| Tipo de resultado de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En los siguientes ejemplos, se describen los resultados JSON que se reciben cuando se usa la acción List Bucket Objects:
Si no se selecciona el parámetro
Retrieves the Access Control List of an object, ocurre lo siguiente:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }Si se selecciona el parámetro
Retrieves the Access Control List of an object, ocurre lo siguiente:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
Mensajes de salida
En un muro de casos, la acción List Bucket Objects proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción List Bucket Objects:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
List Buckets
Usa la acción List Buckets para recuperar una lista de buckets de Cloud Storage.
Esta acción no se ejecuta en entidades.
Entradas de acción
La acción List Buckets requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Max Results |
Optional Es la cantidad máxima de buckets que se devolverán. De forma predeterminada, la acción devuelve 50 buckets. |
Resultados de la acción
La acción List Buckets proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se describe el resultado JSON que se recibe cuando se usa la acción List Buckets:
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
Mensajes de salida
En un muro de casos, la acción List Buckets proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "List Buckets". Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción List Buckets:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Ping
Usa la acción Ping para probar la conectividad a Cloud Storage.
Esta acción no se ejecuta en entidades.
Entradas de acción
Ninguno
Resultados de la acción
La acción proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Mensajes de salida
En un muro de casos, la acción de ping proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
La acción se realizó correctamente. |
Failed to connect to the Google Cloud Storage server! 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. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Ping:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Quita el acceso público al bucket
Usa la acción Remove Public Access From Bucket para quitar el acceso público del bucket de Cloud Storage.
Esta acción requiere que otorgues el rol Storage Admin a la cuenta de servicio que usas en la integración.
Esta acción no se ejecuta en entidades.
Entradas de acción
La acción Remove Public Access From Bucket requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Resource Name |
Obligatorio Es el nombre del recurso del bucket. |
Prevent Public Access From Bucket |
Obligatorio Si se selecciona, la acción configura el bucket para evitar el posible acceso público. |
Resultados de la acción
La acción Remove Public Access From Bucket proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Mensajes de salida
En un muro de casos, la acción Remove Public Access From Bucket proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
La acción se realizó correctamente. |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado del script cuando se usa la acción Remove Public Access From Bucket:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Actualiza una entrada de ACL en el bucket
Usa la acción Update an ACL entry on Bucket para actualizar una entrada de LCA en el bucket de Cloud Storage especificado.
Entradas de acción
La acción Update an ACL entry on Bucket requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Bucket Name |
Obligatorio Es el nombre del bucket cuya ACL se modificará. |
Entity |
Obligatorio Es la entidad que tiene el permiso. Los valores posibles son los siguientes:
Para obtener más información sobre las entidades, consulta Representaciones de recursos. |
Role |
Obligatorio Es el permiso de acceso que se requiere para la entidad. Los valores posibles se detallan a continuación:
|
Resultados de la acción
La acción Actualizar una entrada de LCA en un bucket proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Mensajes de salida
En un muro de casos, la acción Update an ACL entry on Bucket proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. El rol existente no coincide con el valor del parámetro
Role. Verifica el valor del parámetro Role. |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
La acción se realizó correctamente. |
|
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Actualizar una entrada de LCA en el bucket:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
Sube un objeto a un bucket
Usa la acción Upload an Object To a Bucket para subir un objeto al bucket de Cloud Storage.
Esta acción no se ejecuta en entidades.
Entradas de acción
La acción Upload an Object To a Bucket requiere los siguientes parámetros:
| Parámetros | Descripción |
|---|---|
Bucket Name |
Obligatorio Nombre del bucket al que se subirá un objeto. |
Source File Path |
Obligatorio Es la ruta de acceso absoluta al archivo que se subirá, como
|
Object Name |
Obligatorio Es el nombre del objeto subido en el bucket. |
Resultados de la acción
La acción Upload an Object To a Bucket proporciona los siguientes resultados:
| Tipo de resultado de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
Mensajes de salida
En un muro de casos, la acción Subir un objeto a un bucket proporciona los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Upload an Object To a Bucket:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
True o False |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.