Recopila registros de auditoría de Chronicle SOAR
En este documento, se explica cómo transferir registros de auditoría de Chronicle SOAR a Google Security Operations con Google Cloud Storage V2.
La organización, automatización y respuesta de seguridad (SOAR) de Google Security Operations permite a los equipos de seguridad automatizar la respuesta a las amenazas transfiriendo, agrupando y priorizando alertas de las herramientas de detección para ejecutar automáticamente guías y coordinar la respuesta práctica. Los registros de SOAR capturan datos esenciales de las funciones de ETL, Playbook y Python, incluida la ejecución de secuencias de comandos de Python, la incorporación de alertas y el rendimiento de los Playbooks.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Una instancia de Google SecOps
- Un Google Cloud proyecto con la API de Cloud Storage habilitada
- Permisos para crear y administrar buckets de GCS
- Permisos para administrar políticas de IAM en buckets de GCS
- Permisos para crear y administrar receptores de Cloud Logging
- Acceso al proyecto de Google Cloud en el que se implementó Chronicle SOAR
- Rol de IAM de Visualizador de registros (
roles/logging.viewer) en tu proyecto de Google Cloud Rol de IAM de administrador de Logging (
roles/logging.admin) para crear receptores de registros
Crea un bucket de Google Cloud Storage
- Ve a Google Cloud Console.
- Selecciona tu proyecto o crea uno nuevo.
- En el menú de navegación, ve a Cloud Storage > Buckets.
- Haz clic en Crear bucket.
Proporciona los siguientes detalles de configuración:
Configuración Valor Asigna un nombre a tu bucket Ingresa un nombre global único (por ejemplo, chronicle-soar-audit-logs).Tipo de ubicación Elige según tus necesidades (región, birregional, multirregional) Ubicación Selecciona la ubicación (por ejemplo, us-central1).Clase de almacenamiento Estándar (recomendado para los registros a los que se accede con frecuencia) Control de acceso Uniforme (recomendado) Herramientas de protección Opcional: Habilita el control de versiones de objetos o la política de retención Haz clic en Crear.
Habilita la recopilación de registros de SOAR (solo para implementaciones independientes)
Para habilitar la exportación de registros de SOAR en implementaciones independientes, sigue estos pasos:
- En la consola de Google Cloud, ve a IAM y administración > Cuentas de servicio.
- Haz clic en Crear cuenta de servicio.
- Proporciona los siguientes detalles de configuración:
- Nombre de la cuenta de servicio: Ingresa
soar-logs-export-sa. - Descripción de la cuenta de servicio: Ingresa
Service account for exporting SOAR logs to Cloud Logging.
- Nombre de la cuenta de servicio: Ingresa
- Haz clic en Crear y continuar.
- En la sección Otorga a esta cuenta de servicio acceso al proyecto, haz lo siguiente:
- Haz clic en Selecciona un rol.
- Busca y selecciona Escritor de registros.
- Haz clic en Continuar.
- Haz clic en Listo.
- En la lista Cuentas de servicio, busca la cuenta de servicio (
soar-logs-export-sa). - Haz clic en more_vert Más > Administrar permisos.
- En la sección Permisos, haz clic en Otorgar acceso.
En el campo Agregar principales, ingresa el siguiente principal:
gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.comEn la sección Asignar roles, haz lo siguiente:
- Haz clic en Selecciona un rol.
- Busca y selecciona Creador de tokens de cuenta de servicio.
Haz clic en Guardar.
Copia la dirección de correo electrónico completa de la cuenta de servicio (
soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com).Envía un ticket al equipo de asistencia de SecOps de Google con el correo electrónico de la cuenta de servicio para habilitar la exportación de registros.
Configura el receptor de Cloud Logging para exportar registros de SOAR a GCS
Los registros de Chronicle SOAR se escriben en Google Cloud Logging en el espacio de nombres chronicle-soar. Debes crear un receptor de registros para enrutar estos registros a tu bucket de GCS.
- En la consola de Google Cloud, ve a Logging > Enrutador de registros.
- Selecciona el proyecto de Google Cloud en el que se implementó Chronicle SOAR.
- Haz clic en Crear un receptor.
- En el panel Detalles del receptor, proporciona los siguientes detalles de configuración:
- Nombre del receptor: Ingresa
chronicle-soar-to-gcs. - Descripción del receptor: Ingresa
Export Chronicle SOAR audit logs to GCS for Chronicle SIEM ingestion.
- Nombre del receptor: Ingresa
- Haz clic en Siguiente.
- En el panel Destino del receptor, haz lo siguiente:
- En el menú Selecciona el servicio de receptor, selecciona Bucket de Cloud Storage.
- En el menú Seleccionar bucket de Cloud Storage, selecciona el bucket (
chronicle-soar-audit-logs).
- Haz clic en Siguiente.
En el panel Elige registros para incluirlos en el receptor, haz lo siguiente:
En el campo Crear filtro de inclusión, ingresa el siguiente filtro:
resource.labels.namespace_name="chronicle-soar"Este filtro coincide con todos los registros de SOAR de los servicios de ETL, Playbook y Python.
Haz clic en Obtener vista previa de los registros para verificar que el filtro coincida con las entradas de registro esperadas.
Haz clic en Siguiente.
Opcional: En el panel Elige registros para filtrar fuera del receptor, puedes agregar filtros de exclusión si es necesario. En la mayoría de las implementaciones, no se requieren exclusiones.
Haz clic en Crear un receptor.
Verifica la exportación de registros a GCS
- Espera entre 5 y 10 minutos para que los registros se exporten al bucket de GCS.
- En la consola de Google Cloud, ve a Cloud Storage > Buckets.
- Haz clic en el nombre del bucket (
chronicle-soar-audit-logs). Verifica que se estén creando archivos de registro en el bucket. Los archivos se organizan por fecha y hora de la siguiente manera:
chronicle-soar/YYYY/MM/DD/HH:MM:SS_<unique-id>.jsonHaz clic en un archivo de registro para obtener una vista previa de su contenido. Cada archivo contiene entradas de registro con formato JSON.
Recupera la cuenta de servicio de Google SecOps
Las Operaciones de seguridad de Google usan una cuenta de servicio única para leer datos de tu bucket de GCS. Debes otorgar acceso a tu bucket a esta cuenta de servicio.
Obtén el correo electrónico de la cuenta de servicio
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar feed nuevo.
- Haz clic en Configura un feed único.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo,
Chronicle SOAR Audit Logs). - Selecciona Google Cloud Storage V2 como el Tipo de fuente.
- Selecciona CHRONICLE_SOAR_AUDIT como el Tipo de registro.
- Haz clic en Obtener cuenta de servicio.
Se muestra un correo electrónico único de la cuenta de servicio, por ejemplo:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comCopia esta dirección de correo electrónico para usarla en el siguiente paso.
Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
URL del bucket de almacenamiento: Ingresa el URI del bucket de GCS con la ruta de acceso del prefijo:
gs://chronicle-soar-audit-logs/chronicle-soar/Opción de borrado de la fuente: Selecciona la opción de borrado según tu preferencia:
- Nunca: Nunca borra ningún archivo después de las transferencias (se recomienda para las pruebas).
- Borrar archivos transferidos: Borra los archivos después de la transferencia exitosa.
- Borrar los archivos transferidos y los directorios vacíos: Borra los archivos y los directorios vacíos después de la transferencia exitosa.
Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días más reciente (el valor predeterminado es 180 días).
Espacio de nombres del recurso: Es el espacio de nombres del recurso.
Etiquetas de transmisión: Es la etiqueta que se aplicará a los eventos de este feed.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Otorga permisos de IAM a la cuenta de servicio de Google SecOps
La cuenta de servicio de Google SecOps necesita el rol de visualizador de objetos de almacenamiento en tu bucket de GCS.
- Ve a Cloud Storage > Buckets.
- Haz clic en el nombre del bucket (
chronicle-soar-audit-logs). - Ve a la pestaña Permisos.
- Haz clic en Otorgar acceso.
- Proporciona los siguientes detalles de configuración:
- Agregar principales: Pega el correo electrónico de la cuenta de servicio de Google SecOps.
- Asignar roles: Selecciona Visualizador de objetos de Storage.
Haz clic en Guardar.
Filtra los registros de SOAR por tipo de servicio
Los registros de Chronicle SOAR se categorizan según el servicio que los generó. Puedes filtrar los registros en Cloud Logging o crear receptores separados para diferentes tipos de registros.
Servicios de registro disponibles
Están disponibles los siguientes tipos de servicios:
- playbook: Registros de las ejecuciones de la guía, incluida la ejecución de bloques, los resultados de las acciones y el estado del flujo de trabajo
- python: Registros de la ejecución de la secuencia de comandos de Python, incluidas las acciones de integración, los conectores y los trabajos
- etl: Registros de los procesos de transformación de datos y de la transferencia de alertas
Cómo filtrar por servicio en Cloud Logging
Para ver los registros de un servicio específico, haz lo siguiente:
- En la consola de Google Cloud, ve a Logging > Explorador de registros.
- Selecciona el proyecto de Google Cloud en el que se implementó Chronicle SOAR.
Ingresa el siguiente filtro para ver los registros de un servicio específico:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="playbook"Reemplaza
playbookporpythonoetlpara ver los registros de otros servicios.
Crea receptores separados para diferentes tipos de registros
Para enrutar diferentes tipos de registros a prefijos o buckets de GCS separados, crea receptores adicionales con filtros específicos del servicio:
- Sigue los pasos de la sección Configura el receptor de Cloud Logging para exportar registros de SOAR a GCS.
En el campo Crear filtro de inclusión, usa uno de los siguientes filtros:
Solo registros de la guía:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="playbook"Solo registros de Python:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="python"Solo registros de ETL:
resource.labels.namespace_name="chronicle-soar" resource.labels.container_name="etl"
Etiquetas de registro disponibles para filtrar
Los registros de Chronicle SOAR incluyen etiquetas que proporcionan contexto adicional para el filtrado y el análisis.
Etiquetas de la guía
Las siguientes etiquetas están disponibles para los registros de la guía:
playbook_definition: Es el identificador único de la definición del playbook.playbook_name: Nombre de la guía en lenguaje naturalblock_name: Nombre del bloque de la guía que se ejecutablock_definition: Es el identificador único de la definición del bloque.case_id: Identificador del caso de Chronicle SOARcorrelation_id: Es el identificador único para hacer un seguimiento de toda la ejecución del manual en los servicios.integration_name: Nombre de la integración que se usaaction_name: Nombre de la acción que se ejecuta
Etiquetas de Python
Las siguientes etiquetas están disponibles para los registros de servicio de Python:
Etiquetas de Integration y Connector:
integration_name: Nombre de la integraciónintegration_version: Versión de la integraciónconnector_name: Nombre del conectorconnector_instance: Es el identificador de instancia del conector.
Etiquetas de empleo:
integration_name: Nombre de la integraciónintegration_version: Versión de la integraciónjob_name: Nombre del trabajo programado
Etiquetas de acción:
integration_name: Nombre de la integraciónintegration_version: Versión de la integraciónintegration_instance: Es el identificador de instancia para la integración.correlation_id: Es el identificador único para el seguimiento de la ejecución.action_name: Nombre de la acción que se ejecuta
Etiquetas de ETL
Las siguientes etiquetas están disponibles para los registros de servicio de ETL:
correlation_id: Es el identificador único para hacer un seguimiento del flujo de la transferencia de alertas.
Usa correlation_id para un seguimiento completo
La etiqueta correlation_id está disponible en los registros de servicio de la guía y de Python. Usa esta etiqueta para recuperar todos los registros asociados de la ejecución de una guía completa:
- En la consola de Google Cloud, ve a Logging > Explorador de registros.
Ingresa el siguiente filtro:
resource.labels.namespace_name="chronicle-soar" labels.correlation_id="<correlation-id-value>"Reemplaza
<correlation-id-value>por el ID de correlación real de una entrada de registro.
Este filtro devuelve todos los registros de los servicios de Python y del playbook para el registro de ejecución completo.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
| module, screenSize, activityItem, modificationTimeUnixTimeInMs | additional.fields | Etiquetas combinadas creadas a partir de cada campo, si están presentes |
| usuario, operación | extensions.auth.type | Se establece en "AUTHTYPE_UNSPECIFIED" si el usuario no está vacío y la operación es "Login". |
| creationTimeUnixTimeInMs | metadata.event_timestamp | Se analiza como marca de tiempo UNIX_MS |
| usuario, operación y dirección | metadata.event_type | Se establece en "USER_LOGIN" si el usuario no está vacío y la operación es "Login"; en "USER_RESOURCE_ACCESS" si el usuario no está vacío; en "STATUS_UNCATEGORIZED" si la dirección está vacía; de lo contrario, se establece en "GENERIC_EVENT". |
| operación | metadata.product_event_type | Valor copiado directamente |
| id | metadata.product_log_id | Se convirtió en cadena |
| browser | network.http.parsed_user_agent | Se convirtió en un usuario-agente analizado |
| browser | network.http.user_agent | Valor copiado directamente |
| address | principal.hostname | Establece si la dirección no coincide con el patrón de IP |
| address | principal.ip | IP extraída con el patrón de Grok |
| source | principal.resource.resource_subtype | Valor copiado directamente |
| usuario | principal.user.userid | Valor copiado directamente |
| ContactEmails | security_result.about.user.email_addresses | Direcciones de correo electrónico extraídas con el patrón de Grok |
| ContactPhone | security_result.about.user.phone_numbers | Valor copiado directamente |
| ContactName | security_result.about.user.user_display_name | Valor copiado directamente |
| Nombre | security_result.about.user.userid | Valor copiado directamente |
| currentActivity, previousActivity | security_result.detection_fields | Etiquetas combinadas de currentActivity y previousActivity si están presentes |
| userGuid | target.user.product_object_id | Valor copiado directamente |
| metadata.product_name | Se establece en "CHRONICLE_SOAR_AUDIT". | |
| metadata.vendor_name | Se establece en "CHRONICLE_SOAR_AUDIT". |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.