Guía de configuración de Google Cloud para Cloud SIEM

Información general

Datadog Cloud SIEM aplica reglas de detección a todos los logs procesados en Datadog para detectar amenazas, como un ataque dirigido, una IP incluida en la lista de amenazas que se comunica con tus sistemas o una modificación de recursos insegura. Las amenazas aparecen como señales de seguridad en el Security Signals Explorer para su clasificación.

Utilice Google Cloud Dataflow y la plantilla de Datadog para reenviar logs desde tus servicios de Google Cloud a Datadog. Esta guía te indicará los siguientes pasos para que puedas empezar a detectar amenazas con tus logs de auditoría de Google Cloud:

  1. Habilitar logs de auditoría de acceso a datos
  2. Crear un tema de publicación/suscripción (Pub/Sub) de Google Cloud y una suscripción pull para recibir logs de un sink de log configurado
  3. Crear una cuenta de servicio de trabajo de Dataflow personalizada
  4. Crear un sink de log para publicar Logs al Pub/Sub
  5. Crear y ejecutar el trabajo de Dataflow
  6. Usar Cloud SIEM para clasificar señales de seguridad

La recopilación de logs de Google Cloud con una suscripción Push Pub/Sub está en proceso de ser obsoleta por las siguientes razones:

  • Si dispones de una VPC de Google Cloud, la suscripción Push no puede acceder a endpoints fuera de la VPC.
  • La suscripción Push no proporciona compresión ni agrupación por lotes de eventos, por lo que solo es adecuada para un volumen bajo de logs.

La documentación para la suscripción Push solo se mantiene para solucionar problemas o para modificar configuraciones legacy. En su lugar, utiliza una suscripción Pull con la plantilla de Datadog Dataflow para reenviar tus logs de Google Cloud a Datadog.

Habilitar los logs de auditoría de acceso a datos

  1. Ve a IAM & Admin Console > Audit Log (Consola de IAM y administración > Log de auditoría).
  2. Selecciona los servicios para los que deseas habilitar los logs de acceso a los datos.
  3. En el panel Log Types (Tipos de log), activa Admin Read, Data Read y Data Write.
  4. Haz clic en Save (Guardar).

Cambiar la configuración por defecto para los nuevos servicios

Si se añade un nuevo servicio de Google Cloud, hereda tu configuración de auditoría predeterminada.

Para garantizar que los logs de auditoría de acceso a datos se captura para los nuevos servicios Google Cloud, modifica tu configuración de auditoría predeterminada:

  1. Ve a IAM & Admin Console > Audit Log (Consola de IAM y administración > Log de auditoría).
  2. Activa Admin Read, Data Read y Data Write.
  3. Haz clic en Save (Guardar).

Crear un sistema de publicación/suscripción (Pub/Sub) de Google Cloud

  1. Ve a Pub/Sub > Topics (Pub/Sub > Temas).
  2. Haz clic en Create Topic (Crear tema).
  3. Introduce un nombre de tema descriptivo. Por ejemplo, export-audit-logs-to-datadog.
  4. Deja seleccionado Add a default subscription (Añadir una suscripción predeterminada), que crea una suscripción con los valores predeterminados de configuración. El nombre de la suscripción se genera automáticamente como el nombre de tu tema con “-sub” añadido. Este nombre de suscripción se utiliza cuando se crea el [trabajo de Dataflow] (#create-and-run-the-dataflow-job) más tarde.
  5. Haz clic en Create (Crear).

Crear un tema y una suscripción adicionales para el parámetro outputDeadletterTopic

Crea un tema adicional y una suscripción predeterminada para gestionar cualquier mensaje de log rechazado por la API de Datadog. Este tema se utiliza cuando se configura el trabajo de Dataflow más tarde.

  1. Vuelve a Pub/Sub > Topics (Pub/Sub > Temas).
  2. Haz clic en Create Topic (Crear tema).
  3. Introduce un nombre de tema descriptivo.
  4. Deja seleccionado Add a default subscription (Añadir una suscripción por defecto).
  5. Haz clic en Create (Crear).

Advertencia: Los pub/subs están sujetos a cuotas y limitaciones de Google Cloud. Si el número de logs que tienes es superior a esas limitaciones, Datadog te recomienda dividir tu logs en varios temas. Consulta Monitorizar el reenvío de logs para obtener información sobre cómo configurar un monitor para que te avise cuando estés cerca de esos límites.

Crear un secreto en el Secret Manager

Datadog recomienda crear un secreto en Secret Manager con el valor válido de tu clave de API de Datadog. Este secreto se utiliza cuando se configura el trabajo de Dataflow más tarde.

  1. Ve a Security > Secret Manager (Seguridad > Secret Manager).
  2. Haz clic en Create Secret (Crear secreto).
  3. Introduce un nombre para el secreto.
  4. Copia tu clave de API de Datadog y pégala en la sección Secret Value (Valor de secreto).
  5. Opcionalmente, establece las demás configuraciones en función de tu caso de uso.
  6. Haz clic en Create Secret (Crear secreto).

Crear una cuenta de servicio de trabajo personalizada de Dataflow

El comportamiento predeterminado para los trabajadores de pipeline de Dataflow es utilizar la cuenta de servicio predeterminada de Compute Engine de tu proyecto, que concede permisos a todos los recursos del proyecto. Si estás reenviando logs desde un entorno de producción, crea una cuenta de servicio de trabajo personalizada con solo los roles y permisos necesarios, y asigna esta cuenta de servicio a tus trabajadores de pipeline de Dataflow.

Nota: Si no vas a crear una cuenta personalizada de servicio para los trabajadores de pipeline de Dataflow, asegúrate de que la cuenta de servicio predeterminada de Compute Engine tenga los permisos necesarios que se indican a continuación.

  1. Accede a la página Cuenta de servicio de Google Cloud.
  2. Selecciona tu proyecto.
  3. Haz clic en Create Service Account (Crear una cuenta de servicio).
  4. Introduce un nombre descriptivo para la cuenta de servicio.
  5. Haz clic en Create and Continue (Crear y continuar).
  6. Añade los siguientes roles:
    Permisos necesarios
    RolRutaDescripción
    Administrador de Dataflowroles/dataflow.adminPermitir que esta cuenta de servicio realice tareas administrativas de Dataflow.
    Trabajador de Dataflowroles/dataflow.workerPermitir que esta cuenta de servicio realice operaciones de trabajo de Dataflow.
    Visor Pub/Subroles/pubsub.viewerPermitir a esta cuenta de servicio ver mensajes de la suscripción Pub/Sub con tus logs de Google Cloud
    Suscriptor Pub/Subroles/pubsub.subscriberPermitir a esta cuenta de servicio consumir mensajes de la suscripción Pub/Sub con tus logs de Google Cloud
    Publicador de Pub/Subroles/pubsub.publisherPermitir que esta cuenta de servicio publique mensajes fallidos en una suscripción separada, lo que permite analizar o reenviar logs
    Secret Manager Secret Accessorroles/secretmanager.secretAccessorPermitir que esta cuenta de servicio acceda a la clave de API de Datadog en Secret Manager.
    Storage Object Adminroles/storage.objectAdminPermitir que esta cuenta de servicio lea y escriba en el bucket de Cloud Storage especificado para los archivos de preparación
  7. Continue (Continuar).
  8. Haz clic en Done (Listo).

Crear un sink de log para publicar logs a Pub/Sub

  1. Navega hasta Logs Explorer de Google Cloud.
  2. Selecciona Log Router (Enrutador de log) en el menú de la izquierda.
  3. Haz clic en Create Sink (Crear sink).
  4. Introduce un nombre descriptivo para el sink.
  5. Haz clic en Next (Siguiente).
  6. En el menú desplegable Select Sink Service (Seleccionar servicio de sink), selecciona Cloud Pub/Sub topic (Tema Pub/Sub en la nube). Nota: El tema Pub/Sub en la nube puede estar ubicado en un proyecto diferente.
  7. En Select a Cloud Pub/Sub topic (Seleccionar un tema Pub/Sub en la nube), seleccione el Pub/Sub creado anteriormente.
  8. Haz clic en Next (Siguiente).
  9. Introduce un filtro de inclusión para los logs que deseas enviar a Datadog.
  10. Haz clic en Next (Siguiente).
  11. Opcionalmente, introduce un filtro de exclusión para excluir logs que no deseas que se envíen a Datadog.
  12. Haz clic en Create Sink (Crear sink).

Nota: Puedes crear varias exportaciones desde el registro de Google Cloud al mismo tema Pub/Sub con diferentes sinks.

Crear y ejecutar el trabajo de Dataflow

  1. Navega hasta Google Cloud Dataflow.
  2. Haz clic en Create job from template (Crear trabajo a partir de plantilla).
  3. Introduce un nombre para el trabajo.
  4. Selecciona un endpoint regional.
  5. En el menú desplegable Dataflow template (Plantilla de Dataflow), selecciona Pub/Sub to Datadog (Pub/Sub a Datadog).
  6. En la sección Required Parameters (Parámetros requeridos): a. En el menú desplegable Pub/Sub input subscription (Suscripción de entrada Pub/Sub), selecciona la suscripción predeterminada que se creó anteriormente al crear un nuevo sistema Pub/Sub.
    b. Introduce lo siguiente en el campo Datadog Logs API URL (URL de la API de logs de Datadog):
    https://
    
    Nota: Asegúrate de que el selector de sitio de Datadog situado a la derecha de esta página de documentación está configurado en tu sitio de Datadog antes de copiar la URL anterior.
    c. En el campo Output deadletter Pub/Sub topic, selecciona el tema adicional que creaste anteriormente para recibir mensajes rechazados por la API de Datadog. d. Especifica una ruta para los archivos temporales en tu bucket de almacenamiento en el campo Temporary location (Localización temporal).
  7. Si anteriormente creaste un secreto en Secret Manager para tu valor de clave de API de Datadog: a. Haz clic en Optional Parameters (Parámetros opcionales) para ver los campos adicionales.
    b. Introduce el nombre del recurso del secreto en el campo Google Cloud Secret Manager ID. Para obtener el nombre del recurso, ve a tu secreto en Secret Manager. Haz clic en tu secreto. Haz clic en los tres puntos bajo Action (Acción) y selecciona Copy resource name(Copiar nombre de recurso). c. Introduce SECRET_MANAGER en el campo Source of the API key passed (Fuente de la clave de API pasada).
  8. Si no utilizas un secreto para el valor de tu clave de API de Datadog:
    • Recomendado:
      • Configura Source of API key passed en KMS.
      • Establece Google Cloud KMS key for the API key como tu ID de clave de Cloud KMS.
      • Establece Logs API Key con la clave de API cifrada.
    • No recomendado: Source of API key passed establecido en PLAINTEXT con Logs API Key como la clave de API en texto sin formato.
  9. Consulta Parámetros de plantilla en la plantilla de Dataflow para obtener más información sobre otras opciones disponibles.
  10. Si has creado una cuenta de servicio personalizada para el trabajador, selecciónala en el menú desplegable Service account email (Correo electrónico de la cuenta de servicio).
  11. Haz clic en Run Job (Ejecutar trabajo).

Consulta nuevos eventos de registro entregados al tema Pub/Sub en la nube en el Datadog Log Explorer.

Usar Cloud SIEM para clasificar señales de seguridad

Cloud SIEM aplica reglas de detección predefinidas a todos los logs procesados, incluidos los logs de auditoría de Google Cloud que acabas de configurar. Cuando se detecta una amenaza con una regla de detección, se genera una señal de seguridad que se puede ver en el Security Signals Explorer.

Referencias adicionales