Recopila registros de auditoría de Chronicle SOAR

Compatible con:

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

  1. Ve a Google Cloud Console.
  2. Selecciona tu proyecto o crea uno nuevo.
  3. En el menú de navegación, ve a Cloud Storage > Buckets.
  4. Haz clic en Crear bucket.
  5. 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
  6. 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:

  1. En la consola de Google Cloud, ve a IAM y administración > Cuentas de servicio.
  2. Haz clic en Crear cuenta de servicio.
  3. 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.
  4. Haz clic en Crear y continuar.
  5. En la sección Otorga a esta cuenta de servicio acceso al proyecto, haz lo siguiente:
    1. Haz clic en Selecciona un rol.
    2. Busca y selecciona Escritor de registros.
  6. Haz clic en Continuar.
  7. Haz clic en Listo.
  8. En la lista Cuentas de servicio, busca la cuenta de servicio (soar-logs-export-sa).
  9. Haz clic en more_vert Más > Administrar permisos.
  10. En la sección Permisos, haz clic en Otorgar acceso.
  11. En el campo Agregar principales, ingresa el siguiente principal:

    gke-init-backgroundservices@{SOAR-GCP-Project-Id}.iam.gserviceaccount.com
    
  12. En la sección Asignar roles, haz lo siguiente:

    1. Haz clic en Selecciona un rol.
    2. Busca y selecciona Creador de tokens de cuenta de servicio.
  13. Haz clic en Guardar.

  14. Copia la dirección de correo electrónico completa de la cuenta de servicio (soar-logs-export-sa@PROJECT_ID.iam.gserviceaccount.com).

  15. 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.

  1. En la consola de Google Cloud, ve a Logging > Enrutador de registros.
  2. Selecciona el proyecto de Google Cloud en el que se implementó Chronicle SOAR.
  3. Haz clic en Crear un receptor.
  4. 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.
  5. Haz clic en Siguiente.
  6. En el panel Destino del receptor, haz lo siguiente:
    1. En el menú Selecciona el servicio de receptor, selecciona Bucket de Cloud Storage.
    2. En el menú Seleccionar bucket de Cloud Storage, selecciona el bucket (chronicle-soar-audit-logs).
  7. Haz clic en Siguiente.
  8. En el panel Elige registros para incluirlos en el receptor, haz lo siguiente:

    1. 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.

    2. Haz clic en Obtener vista previa de los registros para verificar que el filtro coincida con las entradas de registro esperadas.

  9. Haz clic en Siguiente.

  10. 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.

  11. Haz clic en Crear un receptor.

Verifica la exportación de registros a GCS

  1. Espera entre 5 y 10 minutos para que los registros se exporten al bucket de GCS.
  2. En la consola de Google Cloud, ve a Cloud Storage > Buckets.
  3. Haz clic en el nombre del bucket (chronicle-soar-audit-logs).
  4. 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>.json
    
  5. Haz 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

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. Haz clic en Configura un feed único.
  4. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Chronicle SOAR Audit Logs).
  5. Selecciona Google Cloud Storage V2 como el Tipo de fuente.
  6. Selecciona CHRONICLE_SOAR_AUDIT como el Tipo de registro.
  7. Haz clic en Obtener cuenta de servicio.
  8. Se muestra un correo electrónico único de la cuenta de servicio, por ejemplo:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Copia esta dirección de correo electrónico para usarla en el siguiente paso.

  10. Haz clic en Siguiente.

  11. 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.

  12. Haz clic en Siguiente.

  13. 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.

  1. Ve a Cloud Storage > Buckets.
  2. Haz clic en el nombre del bucket (chronicle-soar-audit-logs).
  3. Ve a la pestaña Permisos.
  4. Haz clic en Otorgar acceso.
  5. 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.
  6. 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:

  1. En la consola de Google Cloud, ve a Logging > Explorador de registros.
  2. Selecciona el proyecto de Google Cloud en el que se implementó Chronicle SOAR.
  3. 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 playbook por python o etl para 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:

  1. Sigue los pasos de la sección Configura el receptor de Cloud Logging para exportar registros de SOAR a GCS.
  2. 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 natural
  • block_name: Nombre del bloque de la guía que se ejecuta
  • block_definition: Es el identificador único de la definición del bloque.
  • case_id: Identificador del caso de Chronicle SOAR
  • correlation_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 usa
  • action_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ón
  • integration_version: Versión de la integración
  • connector_name: Nombre del conector
  • connector_instance: Es el identificador de instancia del conector.

Etiquetas de empleo:

  • integration_name: Nombre de la integración
  • integration_version: Versión de la integración
  • job_name: Nombre del trabajo programado

Etiquetas de acción:

  • integration_name: Nombre de la integración
  • integration_version: Versión de la integración
  • integration_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:

  1. En la consola de Google Cloud, ve a Logging > Explorador de registros.
  2. 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.