Saltar al contenido
aprendeaws.dev

Módulo 10 · Operación y automatización/Lección 61

Auditoría: CloudTrail y Config

Quién hizo qué y cuándo (CloudTrail), y cómo está configurado todo y si cumple tus reglas (Config).

Al terminar podrás

  • →Diferenciar CloudTrail, Config y CloudWatch
  • →Investigar un cambio con el historial de eventos de CloudTrail
  • →Detectar recursos fuera de norma con reglas de Config

Un lunes aparece un bucket de S3 público que nadie recuerda haber abierto. Necesitas dos respuestas: quién lo cambió y cuándo, y cuántos recursos más están así. Para lo primero está AWS CloudTrail; para lo segundo, AWS Config.

CloudTrail: quién hizo qué

Todo en AWS es una llamada a una API: crear una instancia, borrar un bucket, iniciar sesión en la consola. CloudTrail registra esas llamadas, vengan de la consola, la CLI, un SDK u otro servicio. Cada evento dice quién (userIdentity), qué (eventName, por ejemplo DeleteBucket), cuándo, desde dónde (sourceIPAddress) y si funcionó o falló.

Tipo de eventoQué registra
Eventos de administraciónCambios sobre los recursos: crear, modificar, borrar, iniciar sesiónEl plano de control. Se registran por defecto
Eventos de datosOperaciones sobre el contenido: leer un objeto de S3, invocar una LambdaMucho volumen. Hay que activarlos en un trail y tienen costo
Eventos de InsightsActividad fuera de lo normal, como un pico de llamadas a una APISe activan aparte
  • Historial de eventos (Event history): viene activo en toda cuenta, sin costo. Muestra los eventos de administración de los últimos 90 días, por región. No incluye eventos de datos.
  • Trail: para guardar más de 90 días, o para registrar eventos de datos, creas un trail que entrega los eventos de forma continua a un bucket de S3 (y, si quieres, a CloudWatch Logs para poner alarmas). Lo normal es que cubra todas las regiones.
  • Trail de organización: creado desde la cuenta de administración de AWS Organizations, registra todas las cuentas en un solo bucket. Los miembros no lo pueden apagar.

Investigar un cambio con el historial de eventos

  1. 1

    Abre CloudTrail → Event history

    En la región donde está el recurso. El historial es por región.
  2. 2

    Filtra por un atributo

    Por nombre del recurso (el bucket) o por nombre del evento, como PutBucketPolicy o DeleteBucketPublicAccessBlock.
  3. 3

    Abre el evento

    Mira userIdentity (usuario o rol), eventTime, sourceIPAddress y los parámetros de la petición.
  4. 4

    Si pasaron más de 90 días

    Busca en los archivos que el trail dejó en S3. Puedes consultarlos con Amazon Athena.

Desde la terminal es lo mismo: aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=DeleteBucket.

Config: cómo está todo y si cumple

AWS Config graba el estado de tus recursos. Cada vez que algo cambia, guarda un elemento de configuración (configuration item): cómo quedó el recurso y con qué otros se relaciona. Con eso tienes el historial de configuración: «¿cómo estaba este Security Group el martes pasado?». A diferencia del historial de CloudTrail, Config hay que activarlo.

  • Reglas de Config: condiciones que tus recursos deben cumplir. Hay reglas administradas por AWS (por ejemplo, «los buckets no permiten acceso público» o «los volúmenes EBS están cifrados») y reglas personalizadas. Cada recurso queda COMPLIANT o NON_COMPLIANT.
  • Paquetes de conformidad (conformance packs): un conjunto de reglas y remediaciones que se despliega como una unidad, en una cuenta o en toda la organización. AWS publica plantillas para marcos comunes.
  • Remediación: cuando un recurso no cumple, Config puede ejecutar un runbook de Systems Manager Automation para corregirlo, de forma manual o automática.

CloudWatch, CloudTrail o Config

Los tres «registran cosas», y por eso se confunden. Cada uno responde una pregunta distinta:

CriterioCloudWatchCloudTrailConfig
Pregunta¿Qué está pasando ahora?¿Quién hizo qué y cuándo?¿Cómo está configurado y si cumple?
Qué guardaMétricas, logs y alarmasLlamadas a la APIEstados de los recursos en el tiempo
EjemploLa CPU lleva 20 minutos al 95 %El rol deploy-ci borró la tabla a las 2:14Hay 3 buckets sin cifrado
En el conjuntoSensores y cámarasMinuta de porteríaInventario y reglamento

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.Alguien borró una tabla de DynamoDB ayer. ¿Qué servicio te dice qué usuario o rol lo hizo?

  2. 2.Seguridad quiere detectar, de forma continua, los volúmenes EBS sin cifrar en todas las cuentas. ¿Qué usas?

  3. 3.Sin haber configurado nada, ¿cuántos días de eventos de administración muestra el historial de CloudTrail?

  4. 4.Necesitas registrar cada lectura de objetos en un bucket de S3 con información sensible. ¿Qué activas?

  5. 5.¿Cómo estaban las reglas de un Security Group hace dos semanas? ¿Dónde lo ves más fácil?