Recopila registros de AWS CloudTrail
En este documento, se describe cómo recopilar registros de AWS CloudTrail configurando un feed de Google Security Operations y cómo los campos de registro se asignan a los campos del Modelo de datos unificado (UDM) de Google SecOps.
Para obtener más información, consulta [Transferencia de datos a Google SecOps][1].
Una implementación típica consta de AWS CloudTrail y el feed de Google SecOps configurados para enviar registros a Google SecOps. Tu implementación puede ser diferente de la implementación típica que se describe en este documento. La implementación contiene los siguientes componentes:
AWS CloudTrail: Es la plataforma que recopila registros.
AWS S3: Es la plataforma que almacena los registros.
Feed de Google SecOps: Es el feed de Google SecOps que recupera registros de AWS S3 y los escribe en Google SecOps.
Google SecOps: Es la plataforma que retiene y analiza los registros de AWS CloudTrail.
Una etiqueta de transferencia identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de transferencia AWS_CLOUDTRAIL
.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Cuenta de AWS
- Se cumplen los requisitos previos para usar AWS CloudTrail. Para obtener más información, consulta Configuración de AWS CloudTrail.
- Todos los sistemas de la arquitectura de implementación usan la zona horaria UTC.
Pasos básicos para transferir registros de S3 con SQS
En esta sección, se describen los pasos básicos para transferir registros de AWS CloudTrail a tu instancia de Google SecOps. En los pasos, se describe cómo hacerlo con Amazon S3 y Amazon SQS como el tipo de fuente de feed.
Configura AWS CloudTrail y S3
En este procedimiento, configurarás los registros de AWS CloudTrail para que se escriban en un bucket de S3.
- En la consola de AWS, busca CloudTrail.
- Haz clic en Crear ruta.
- Proporciona un Nombre del registro de auditoría.
- Selecciona Crear un bucket de S3 nuevo. También puedes usar un bucket de S3 existente.
- Proporciona un nombre para el alias de AWS KMS o elige una clave de AWS KMS existente.
- Puedes dejar los demás parámetros de configuración con sus valores predeterminados y hacer clic en Siguiente.
- Elige Tipo de evento, agrega Eventos de datos según sea necesario y haz clic en Siguiente.
- Revisa la configuración en Revisar y crear y haz clic en Crear ruta.
- En la consola de AWS, busca Amazon S3 Buckets.
- Haz clic en el bucket de registros que acabas de crear y selecciona la carpeta AWSLogs. Luego, haz clic en Copiar URI de S3 y guárdalo para usarlo en los siguientes pasos.
Configura una cola de SQS estándar y SNS
Si usas una cola de SQS, debe ser una cola estándar, no una cola FIFO.
- Habilita AWS CloudTrail y configúralo para que envíe registros a un bucket de S3 con un registro nuevo o existente.
- Abre la consola de AWS SNS y crea un tema estándar nuevo. Asigna un nombre, p.ej., CloudTrail-Notification-Topic.
Crea una cola de SQS con la consola de AWS SQS, p.ej., CloudTrail-Notification-Queue y actualiza su política de acceso para permitir que el ARN del tema de SNS envíe mensajes. Para obtener detalles sobre cómo crear colas de SQS, consulta Comienza a usar Amazon SQS.
Ejemplo de fragmento de política de SQS:
{ "Version": "2012-10-17", "Id": `PolicyForSNS`, "Statement": [ { "Sid": "AllowSNS", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:CloudTrail-Notification-Queue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:REGION:ACCOUNT_ID:CloudTrail-Notification-Topic"} } } ] }
Ve a SNS topic → Subscriptions → Create subscription, configura Protocol en SQS y Endpoint en el ARN de la cola de SQS.
CloudTrail no envía registros nuevos de forma nativa a SNS. Para habilitar las notificaciones, puedes usar un selector de eventos de CloudTrail para eventos de administración o la integración de CloudTrail con CloudWatch Logs y, luego, crear una regla de eventos de CloudWatch que active las notificaciones configurando un tema de SNS como destino. Para obtener más información, consulta cómo configurar notificaciones en tu bucket de S3.
Ejemplo de patrón de evento:
{ "source": ["aws.s3"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventName": ["PutObject"], "requestParameters": { "bucketName": [`CloudTrail-Notification-Topic`] } } }
Asegúrate de que los roles o las políticas de IAM permitan que CloudWatch Events publique en SNS y de que SNS pueda enviar mensajes a SQS.
Configura el usuario de IAM de AWS
Configura un usuario de IAM de AWS que Google SecOps usará para acceder a la cola de SQS (si se usa) y al bucket de S3.
- En la consola de AWS, busca IAM.
- Haz clic en Usuarios y, luego, en la siguiente pantalla, haz clic en Crear usuarios.
- Proporciona un nombre para el usuario, por ejemplo, chronicle-feed-user, y selecciona Proporcionar acceso de usuario a la consola de administración de AWS.
- Selecciona Adjuntar las políticas existentes de forma directa y, luego, AmazonS3ReadOnlyAccess o AmazonS3FullAccess, según sea necesario. Se usaría AmazonS3FullAccess si Google SecOps debe borrar los buckets de S3 después de leer los registros para optimizar los costos de almacenamiento de AWS S3.
- Como alternativa recomendada al paso anterior, puedes restringir aún más el acceso solo al bucket de S3 especificado creando una política personalizada. Haz clic en Crear política y sigue la documentación de AWS para crear una política personalizada.
- Cuando apliques una política, asegúrate de haber incluido
sqs:DeleteMessage
. Google SecOps no puede borrar mensajes si el permisosqs:DeleteMessage
no está adjunto a la cola de SQS. Todos los mensajes se acumulan en el lado de AWS, lo que provoca una demora, ya que Google SecOps intenta transferir los mismos archivos repetidamente. - Haz clic en Siguiente:Etiquetas.
- Agrega las etiquetas necesarias y haz clic en Siguiente:Revisar.
- Revisa la configuración y haz clic en Crear usuario.
- Una vez que se cree el usuario, ve a la pestaña Credenciales de seguridad y haz clic en Crear clave de acceso.
- Elige CLI y haz clic en Siguiente:Etiquetas.
- Agrega las etiquetas que sean necesarias y, luego, haz clic en Crear clave de acceso: Revisar.
- Copia el ID de clave de acceso y la clave de acceso secreta del usuario creado para usarlos en el siguiente paso.
Configura los permisos de la clave de KMS
Se requiere una clave de KMS para desencriptar los registros de CloudTrail, que se encriptan del lado del servidor. AWS KMS proporciona mayor encriptación y seguridad para los datos sensibles almacenados en Amazon S3.
- En la consola de AWS, busca Key Management Service (KMS).
- Haz clic en Crear clave > Siguiente.
- Agrega un alias para la clave. Si quieres, agrega una Descripción y Etiquetas si es necesario. Haz clic en Siguiente: Revisar.
- Después de revisar la configuración, haz clic en Siguiente.
- Selecciona los usuarios clave que deben tener acceso a esta clave y, luego, haz clic en Finalizar.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds > Agregar nuevo
- Centro de contenido > Paquetes de contenido > Comenzar
Cómo configurar el feed de AWS CloudTrail
- Haz clic en el paquete Amazon Cloud Platform.
- En el tipo de registro AWS CloudTrail, especifica los siguientes valores:
Especifica valores para los siguientes campos:
- Tipo de fuente: Amazon SQS V2
- Nombre de la cola: Es el nombre de la cola de SQS desde la que se leerá.
- 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.
- Reemplaza
Opciones de eliminación de la fuente: Selecciona la opción de eliminación según tus preferencias de transferencia.
Antigüedad máxima del archivo: Incluye los archivos modificados en la cantidad de días especificada. El valor predeterminado es de 180 días.
ID de clave de acceso a la cola de SQS: Es una clave de acceso a la cuenta que es una cadena alfanumérica de 20 caracteres.
Clave de acceso secreta de la cola de SQS: Es una clave de acceso a la cuenta que es una cadena alfanumérica de 40 caracteres.
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Espacio de nombres del activo: Es el espacio de nombres asociado con el feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Haz clic en Crear feed.
Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros dentro de esta familia de productos, consulta Configura feeds por producto.
Tipos de registros de AWS CloudTrail admitidos
El analizador de AWS CloudTrail admite los siguientes servicios:
- apigateway.amazonaws.com
- appconfig.amazonaws.com
- autoscaling.amazonaws.com
- cloud9.amazonaws.com
- cloudsearch.amazonaws.com
- cloudshell.amazonaws.com
- cloudtrail.amazonaws.com
- config.amazonaws.com
- devicefarm.amazonaws.com
- ds.amazonaws.com
- dynamodb.amazonaws.com
- ec2-instance-connect.amazonaws.com
- ec2.amazonaws.com
- ecr-public.amazonaws.com
- ecr.amazonaws.com
- ecs.amazonaws.com
- eks.amazonaws.com
- elasticache.amazonaws.com
- elasticloadbalancing.amazonaws.com
- firehose.amazonaws.com
- guardduty.amazonaws.com
- health.amazonaws.com
- iam.amazonaws.com
- imagebuilder.amazonaws.com
- kinesis.amazonaws.com
- kinesisanalytics.amazonaws.com
- kinesisvideo.amazonaws.com
- kms.amazonaws.com
- lambda.amazonaws.com
- logs.amazonaws.com
- macie2.amazonaws.com
- monitoring.amazonaws.com
- network-firewall.amazonaws.com
- organizations.amazonaws.com
- quicksight.amazonaws.com
- ram.amazonaws.com
- rds.amazonaws.com
- resource-explorer-2.amazonaws.com
- resource-groups.amazonaws.com
- route53-recovery-readiness.amazonaws.com
- route53.amazonaws.com
- route53domains.amazonaws.com
- route53resolver.amazonaws.com
- s3-outposts.amazonaws.com
- s3.amazonaws.com
- s3express.amazonaws.com
- secretsmanager.amazonaws.com
- securityhub.amazonaws.com
- ses.amazonaws.com
- signin.amazonaws.com
- ssm.amazonaws.com
- sts.amazonaws.com
- waf-regional.amazonaws.com
- waf.amazonaws.com
- wafv2.amazonaws.com
Para obtener más información sobre la asignación de campos y la asignación de UDM, consulta Asignación de campos de AWS CloudTrail.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.