CloudTrail lo ve todo - Mecanismo de registro de llamadas API y práctica de investigación forense
Explicamos cómo CloudTrail registra las llamadas a la API de AWS, las diferencias entre eventos de administración y eventos de datos, el análisis SQL con CloudTrail Lake y las técnicas de investigación forense ante incidentes de seguridad.
¿Qué registra CloudTrail?
CloudTrail es un servicio que registra prácticamente todas las llamadas API ejecutadas dentro de una cuenta de AWS. Se registran todas las llamadas API desde la consola de administración de AWS, CLI, SDK y otros servicios de AWS, incluyendo el lanzamiento de instancias EC2, la creación de buckets S3, cambios en políticas IAM y el despliegue de funciones Lambda. Cada evento registra quién (userIdentity), cuándo (eventTime), desde dónde (sourceIPAddress), qué (eventName), sobre qué recurso (resources) y cuál fue el resultado (errorCode). Los eventos de CloudTrail se dividen en 2 tipos. Los eventos de administración (Management Events) son operaciones del plano de control como la creación, modificación y eliminación de recursos. Se registran de forma predeterminada y los últimos 90 días se pueden consultar gratuitamente desde la consola. Los eventos de datos (Data Events) son operaciones del plano de datos como lectura/escritura de objetos S3, invocaciones de funciones Lambda y operaciones de ítems en DynamoDB. Los eventos de datos generan un gran volumen, por lo que no se registran de forma predeterminada y deben habilitarse explícitamente.
Mecanismo de entrega de eventos de CloudTrail
Los eventos de CloudTrail se entregan normalmente dentro de 5 a 15 minutos después de ejecutarse la llamada API. Es importante tener en cuenta que no es en tiempo real. Hay 3 destinos de entrega de eventos. Primero, la consola de CloudTrail (historial de eventos). Los eventos de administración de los últimos 90 días se pueden consultar gratuitamente con filtrado y búsqueda. Segundo, un bucket S3. Al crear un trail, los eventos se entregan en formato JSON a un bucket S3. Los logs almacenados en S3 se pueden analizar ejecutando consultas SQL con Athena. Tercero, CloudTrail Lake. Introducido en 2022, CloudTrail Lake es un servicio administrado que almacena eventos en un almacén de datos dedicado y permite consultas SQL directas. Comparado con la combinación S3 + Athena, la configuración es más sencilla y el rendimiento de las consultas es más rápido. Los logs de CloudTrail cuentan con funcionalidad de detección de manipulación. Al habilitar la validación de integridad de archivos de log (Log File Integrity Validation), se registran los valores hash de cada archivo de log en archivos digest, permitiendo verificar criptográficamente que los logs no han sido manipulados.
Práctica de investigación forense - Rastreo de accesos no autorizados
Cuando ocurre un incidente de seguridad, CloudTrail es la fuente de evidencia más importante. Por ejemplo, mostramos el procedimiento de investigación al recibir una alerta de que "se han lanzado instancias EC2 desconocidas". Primero, busque eventos RunInstances en CloudTrail para identificar quién y cuándo lanzó la instancia. Del campo userIdentity se obtiene el nombre de usuario IAM, nombre del rol e ID de clave de acceso. Luego, busque en CloudTrail con ese ID de clave de acceso para identificar otras llamadas API realizadas con las mismas credenciales. Accesos a buckets S3, cambios en políticas IAM, modificaciones de grupos de seguridad: emerge el panorama completo de las acciones del atacante. Del campo sourceIPAddress se puede identificar la dirección IP del atacante. Sin embargo, si se usa VPN o Tor, la dirección IP por sí sola no permite identificar al atacante. El campo userAgent contiene información sobre la herramienta utilizada (AWS CLI, SDK, consola, etc.), proporcionando pistas para estimar el método de ataque.
Lo que CloudTrail no registra
CloudTrail es poderoso, pero no registra absolutamente todo. Conocer lo que no se registra es importante para el diseño de seguridad. Primero, las operaciones a nivel de SO. Si se conecta por SSH a una instancia EC2 y manipula archivos, no se registra en CloudTrail. Para auditoría a nivel de SO se necesita CloudWatch Agent o los logs de sesión de AWS Systems Manager Session Manager. Segundo, las operaciones de objetos S3 cuando los eventos de datos no están habilitados. Si se descargan archivos de un bucket S3 pero los eventos de datos están deshabilitados, no se registra. Asegúrese de habilitar los eventos de datos para buckets que contienen datos sensibles. Tercero, algunas API de solo lectura. Las API de lectura como DescribeInstances se registran como eventos de administración, pero al ser llamadas en gran volumen, su visualización puede omitirse en la consola de CloudTrail. En los logs entregados a S3 se registran completamente. Cuarto, la comunicación interna entre servicios de AWS. Cuando un servicio de AWS llama internamente a otro servicio, parte de esas llamadas no se registra en CloudTrail.
Optimización de costos de CloudTrail
Los eventos de administración de CloudTrail son gratuitos para el primer trail. A partir del segundo trail, se cobran 2.00 USD por cada 100,000 eventos. Los eventos de datos cuestan 0.10 USD por cada 100,000 eventos. En entornos a gran escala, los eventos de datos de S3 pueden generar volúmenes enormes, resultando en costos de miles de dólares mensuales. Hay varias formas de optimizar costos. Primero, limitar el alcance de los eventos de datos. En lugar de registrar eventos de datos de todos los buckets S3, limítelos solo a buckets que contienen datos sensibles. Segundo, configurar apropiadamente el período de retención de CloudTrail Lake. Los 7 años predeterminados son excesivos para muchos casos. Reducir a 1 o 3 años según los requisitos de cumplimiento reduce los costos de almacenamiento. Tercero, gestionar el período de retención de los logs entregados a S3 con reglas de ciclo de vida de S3. Configurar reglas para migrar a Glacier después de 90 días y eliminar después de 1 año reduce significativamente los costos de almacenamiento. Para aprender sistemáticamente sobre el diseño y operación de logs de auditoría, consulte libros especializados en Amazon.