Recopila registros de AWS Control Tower

Compatible con:

En este documento, se explica cómo transferir registros de AWS Control Tower a Google Security Operations. AWS Control Tower permite la supervisión de la administración, el cumplimiento y la seguridad en varias cuentas de AWS. Esta integración te permite analizar los registros de AWS Control Tower para obtener una mejor visibilidad y postura de seguridad.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Acceso privilegiado a AWS

Configura el bucket de Amazon S3

  1. Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket
  2. Guarda el Nombre y la Región del bucket para usarlos más adelante.
  3. Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
  4. Selecciona el usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. Haz clic en Crear clave de acceso en la sección Claves de acceso.
  7. Selecciona Servicio de terceros como el Caso de uso.
  8. Haz clic en Siguiente.
  9. Opcional: Agrega una etiqueta de descripción.
  10. Haz clic en Crear clave de acceso.
  11. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más adelante.
  12. Haz clic en Listo.
  13. Selecciona la pestaña Permisos.
  14. Haz clic en Agregar permisos en la sección Políticas de permisos.
  15. Selecciona Agregar permisos.
  16. Selecciona Adjuntar políticas directamente.
  17. Busca y selecciona las políticas AmazonS3FullAccess y CloudWatchLogsFullAccess.
  18. Haz clic en Siguiente.
  19. Haz clic en Agregar permisos.

Configura CloudTrail en AWS Control Tower

  1. Accede a la consola de administración de AWS.
  2. Ve a AWS Control Tower.
  3. En la barra de búsqueda, escribe CloudTrail y selecciónalo en la lista de servicios.
  4. Haz clic en Create Trail para crear un nuevo registro de ruta.

  5. Especifica la configuración de Trail:

    • Nombre del registro de seguimiento: Proporciona un nombre significativo para el registro de seguimiento (por ejemplo, ControlTowerTrail).
    • Aplicar el registro a todas las regiones: Asegúrate de seleccionar para Aplicar el registro a todas las regiones.
    • Eventos de administración: Asegúrate de que los eventos de Lectura/escritura estén configurados como Todos.
    • Opcional: Eventos de datos: Habilita los eventos de datos de S3 y Lambda para capturar la actividad de datos detallada.
    • Opcional: Validación de archivos de registro: Habilita esta opción para asegurarte de que los archivos de registro no se alteren una vez que se almacenan.
  6. En el selector Evento, elige registrar Eventos de administración y Eventos de datos.

Cómo configurar CloudTrail

  1. Ve a la consola de IAM de AWS.
  2. Haz clic en Roles.
  3. Busca el rol que usa CloudTrail AWSServiceRoleForCloudTrail (el rol se crea automáticamente cuando configuras CloudTrail).
  4. En la pestaña Permisos del rol, haz clic en Adjuntar políticas.
  5. Busca CloudTrailS3DeliveryPolicy.
  6. Selecciona la casilla de verificación junto a la política de CloudTrailS3DeliveryPolicy.
  7. Haz clic en Adjuntar política.
  8. Ve a la consola de CloudTrail de AWS.
  9. En la sección Ubicación de almacenamiento, selecciona S3 como destino para los archivos de registro.
  10. Selecciona el bucket de S3 que creaste antes.
  11. Haz clic en Permitir cuando se te solicite otorgar permiso a CloudTrail para escribir registros en el bucket que elegiste.
  12. Revisa la configuración y haz clic en Crear (o Guardar cambios si editas un recorrido existente).

Configura feeds

Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:

  • Configuración de SIEM > Feeds
  • Centro de contenido > Paquetes de contenido

Configura feeds desde Configuración del SIEM > Feeds

Para configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Cómo configurar feeds por producto.

Para configurar un solo feed, sigue estos pasos:

  1. Ve a SIEM Settings > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. En la siguiente página, haz clic en Configurar un solo feed.
  4. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de AWS Control Tower).
  5. Selecciona Amazon S3 como el Tipo de fuente.
  6. Selecciona AWS Control Tower como el Tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifica valores para los siguientes parámetros de entrada:

    • Región: Es la región en la que se encuentra el bucket de Amazon S3.
    • URI de S3: Es el URI del bucket.
      • s3://your-log-bucket-name/
        • Reemplaza your-log-bucket-name por el nombre real de tu bucket de S3.
    • El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios, según la estructura de tu bucket.
    • Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.

    • ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.

    • Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.

    • Espacio de nombres del recurso: Es el espacio de nombres del recurso.

    • Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.

  9. Haz clic en Siguiente.

  10. Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Configura feeds desde el Centro de contenido

Especifica valores para los siguientes campos:

  • Región: Es la región en la que se encuentra el bucket de Amazon S3.
  • URI de S3: Es el URI del bucket.
    • s3://your-log-bucket-name/
      • Reemplaza your-log-bucket-name por el nombre real de tu bucket de S3.
  • El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios, según la estructura de tu bucket.
  • Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
  • ID de clave de acceso: Es la clave de acceso del usuario con permisos para leer desde el bucket de S3.

  • Clave de acceso secreta: Es la clave secreta del usuario con permisos para leer desde el bucket de S3.

Opciones avanzadas

  • Nombre del feed: Es un valor completado previamente que identifica el feed.
  • Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
  • Espacio de nombres del recurso: Espacio de nombres asociado al feed.
  • Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
awsAccountId target.user.group_identifiers Es el ID de la cuenta de AWS asociada al evento.
digestPublicKeyFingerprint target.file.sha1 Es la huella digital de la clave pública que se usa para firmar el resumen.
digestPublicKeyFingerprint target.resource.attribute.labels.value Es la huella digital de la clave pública que se usa para firmar el resumen.
digestS3Bucket target.resource.name Nombre del bucket de S3 en el que se almacena el resumen.
digestS3Object target.file.full_path Es la ruta de acceso al objeto de resumen en el bucket de S3.
digestSignatureAlgorithm network.tls.cipher Es el algoritmo que se usa para firmar el resumen.
digestSignatureAlgorithm target.resource.attribute.labels.value Es el algoritmo que se usa para firmar el resumen.
digestStartTime metadata.event_timestamp Es la hora de inicio del período del resumen. Se usa como hora del evento si eventTime no está disponible.
eventCategory security_result.category_details La categoría del evento
eventID metadata.product_log_id Es el ID único del evento.
eventName metadata.product_event_type Nombre del evento.
eventName security_result.summary Es el nombre del evento, que se usa para generar el resumen del resultado de seguridad.
eventSource target.application Es la fuente del evento.
eventTime metadata.event_timestamp La hora en que ocurrió el evento.
eventType additional.fields.value.string_value Es el tipo de evento.
logFiles.hashValue about.file.sha256 Es el hash SHA-256 del archivo de registro.
logFiles.s3Bucket about.resource.name Nombre del bucket de S3 en el que se almacena el archivo de registro.
logFiles.s3Object about.file.full_path Es la ruta de acceso al objeto del archivo de registro en el bucket de S3.
previousDigestHashValue target.file.sha256 Es el hash SHA-256 del resumen anterior.
recipientAccountId target.resource.attribute.labels.value Es el ID de la cuenta de AWS del destinatario del evento.
Records.awsRegion principal.location.name Región de AWS en la que ocurrió el evento.
Records.errorCode security_result.rule_id Es el código de error, si corresponde, asociado con la solicitud.
Records.errorMessage security_result.description Es el mensaje de error, si corresponde, asociado a la solicitud.
Records.eventCategory security_result.category_details La categoría del evento
Records.eventID metadata.product_log_id Es el ID único del evento.
Records.eventName metadata.product_event_type Nombre del evento.
Records.eventName security_result.summary Es el nombre del evento, que se usa para generar el resumen del resultado de seguridad.
Records.eventSource target.application Es la fuente del evento.
Records.eventTime metadata.event_timestamp La hora en que ocurrió el evento.
Records.eventType additional.fields.value.string_value Es el tipo de evento.
Records.requestID target.resource.attribute.labels.value Es el ID de la solicitud.
Records.requestParameters.groupName target.group.group_display_name Nombre del grupo, si existe, asociado a la solicitud.
Records.requestParameters.userName src.user.userid Nombre del usuario, si existe, asociado a la solicitud.
Records.requestParameters.userName src.user.user_display_name Nombre del usuario, si existe, asociado a la solicitud.
Records.responseElements.ConsoleLogin security_action Es el resultado del intento de acceso a la consola.
Records.responseElements.ConsoleLogin security_result.summary Es el resultado del intento de acceso a la consola, que se usa para generar el resumen de resultados de seguridad.
Records.sourceIPAddress principal.hostname Es la dirección IP de la principal. Se usa como nombre de host si no es una IP válida.
Records.sourceIPAddress principal.ip Es la dirección IP de la principal.
Records.tlsDetails.cipherSuite network.tls.cipher Es el conjunto de algoritmos de cifrado que se usa para la conexión TLS.
Records.tlsDetails.tlsVersion network.tls.version Es la versión de TLS que se usa para la conexión.
Records.userAgent network.http.user_agent Es el usuario-agente de la solicitud.
Records.userIdentity.accessKeyId additional.fields.value.string_value Es el ID de clave de acceso que se usa para la solicitud.
Records.userIdentity.accountId principal.user.group_identifiers ID de la cuenta de AWS del usuario.
Records.userIdentity.arn principal.user.attribute.labels.value ARN del usuario.
Records.userIdentity.arn target.user.userid ARN del usuario. Se usa como ID de usuario si no está disponible el nombre de usuario.
Records.userIdentity.principalId principal.user.product_object_id Es el ID principal del usuario.
Records.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value Indica si se usó la MFA para la solicitud.
Records.userIdentity.sessionContext.sessionIssuer.userName principal.user.userid Es el nombre de usuario de la persona que emitió la sesión.
Records.userIdentity.type principal.resource.type Es el tipo de identidad que se usa para la solicitud.
Records.userIdentity.userName target.user.userid Nombre de usuario de la persona.
- extensions.auth.mechanism Se establece en "REMOTE".
- metadata.event_type Se establece en "STATUS_UPDATE", "USER_RESOURCE_ACCESS", "USER_LOGIN" o "GENERIC_EVENT" según el valor de eventName.
- metadata.log_type Se debe establecer en "AWS_CONTROL_TOWER".
- metadata.product_name Se debe establecer en "AWS Control Tower".
- metadata.vendor_name Establécelo en "AWS".
- principal.asset.attribute.cloud.environment Se debe establecer en "AMAZON_WEB_SERVICES".
- security_result.action Se establece en "ALLOW" o "BLOCK" según el valor de errorCode.
- security_result.severity Se establece en "INFORMATIONAL".

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.