Saltar al contenido

Temas

Registro y Security Lake

Las fuentes de registro de AWS (CloudTrail, VPC Flow Logs, DNS query logs), qué registra y qué NO cada una, y la centralización en OCSF con Amazon Security Lake.

AvanzadoEn progreso 6 min de lectura1 oct 2026#cloudtrail#vpc-flow-logs#security-lake#ocsf#logging#aws

No puedes detectar lo que no registras, ni investigar lo que no guardaste. El registro es la capa detectiva de la defensa en profundidad: la que te salva cuando la prevención ya falló. Pero cada fuente de AWS ve una parte distinta del mundo, y ninguna lo ve todo. Esta nota recorre las tres fuentes base —CloudTrailAWS CloudTrailServicio de AWS que registra las llamadas a la API (quién, qué, cuándo, desde dónde) como eventos de gestión y, opcionalmente, de datos., VPC Flow LogsVPC Flow LogRegistro de los flujos de red (metadatos de la 5-tupla) de una VPC en AWS; indica origen, destino, puertos y si el tráfico fue ACCEPT o REJECT, pero no ve el payload. y DNS query logs— con especial cuidado en qué registra y qué NO cada una, y cómo las unifica Amazon Security LakeAmazon Security LakeLago de datos de seguridad gestionado que centraliza fuentes de AWS y de terceros en tu cuenta y las normaliza al esquema OCSF en Parquet. en formato OCSFOCSFEsquema abierto y agnóstico de proveedor para normalizar eventos de seguridad a una estructura común, usado por Amazon Security Lake..

Si vienes de captura de tráfico y técnicas cloud y logs en AWS, esto es el siguiente nivel: pasar de leer un log suelto a construir una cadena de registro completa.

De fuentes dispersas a un lago en OCSF
CUENTA LOG-ARCHIVECloudTrailVPC Flow LogsDNS query logsSecurity LakeS3 · OCSFObject LockConsultaAthena · SIEMAPI · quién/quéred · 5-tupladominios resueltosnormaliza → OCSF · ParquetWORM · inmutablecruza las 3 fuentesSELECThits

Paso 1 de 5Tres fuentes

Cada fuente registra algo distinto: CloudTrail el plano de control (quién llamó a qué API), Flow Logs los metadatos de red (5-tupla, ACCEPT/REJECT) y los DNS query logs qué dominios se resolvieron.

CloudTrail: el plano de control#

CloudTrail responde a la pregunta forense más importante en la nube: quién llamó a qué API, cuándo y desde dónde. Es la base de casi toda investigación en AWS.

  • Eventos de gestión (crear, modificar o borrar recursos: RunInstances, CreateUser, AuthorizeSecurityGroupIngress). Se registran por defecto; el historial guarda 90 días.
  • Eventos de datos (operaciones sobre el contenido: GetObject/PutObject en S3, Invoke en Lambda). Son de alto volumen, NO se registran por defecto, tienen coste y hay que activarlos explícitamente en un trail o event data store.

Para una detección seria, el patrón es un trail organizacional que entrega a la cuenta log-archive aislada:

trail-organizacional.tf
resource "aws_cloudtrail" "org" {
name = "citas-org-trail"
s3_bucket_name = aws_s3_bucket.log_archive.id
is_organization_trail = true # [!code highlight]
is_multi_region_trail = true
enable_log_file_validation = true # [!code highlight]
event_selector {
read_write_type = "All"
include_management_events = true
}
}

Dos piezas que no debes olvidar:

  • Validación de integridad (enable_log_file_validation): CloudTrail genera digest files firmados cada hora, con hashes SHA-256 de los logs encadenados entre sí. Si alguien altera o borra un log, la cadena de validación lo delata.
  • Object Lock en el bucket de log-archive: modo WORM (write-once-read-many). Ni un administrador de producción comprometido —ni el root de esa cuenta en modo compliance— puede borrar la evidencia durante la retención.
scp-proteger-cloudtrail.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "NoApagarAuditoria",
"Effect": "Deny",
"Action": ["cloudtrail:StopLogging", "cloudtrail:DeleteTrail"],
"Resource": "*"
}
]
}

VPC Flow Logs: metadatos de red#

Los Flow Logs registran los metadatos del tráfico IP de una ENI, subred o VPC: la 5-tupla (origen/destino, puertos, protocolo), bytes, paquetes y, lo más útil, la acción ACCEPT o REJECT.

Para qué sirven en la práctica: ver intentos de conexión bloqueados por un security group (REJECT repetidos a un puerto), detectar un pico de egreso hacia una IP desconocida (posible exfiltración), o confirmar qué habló con qué durante un incidente.

DNS query logs: qué dominios se resolvieron#

Los Route 53 Resolver query logs registran las consultas DNS que originan los recursos de tu VPC: el dominio consultado, el tipo de registro (A, AAAA…), el código de respuesta y la IP devuelta, junto con qué instancia preguntó. También registran la acción del DNS Firewall sobre esa consulta.

Su valor es detectar lo que la red por sí sola no ve: malware que resuelve dominios de command and control, tunelización por DNS (muchas consultas a subdominios largos de un mismo dominio) o un recurso que de pronto resuelve dominios que nunca debería tocar. Complementan al DNS Firewall de la nota de red segura: el firewall bloquea, los query logs registran. Un detalle: solo se registran las consultas únicas (no cacheadas).

Tres fuentes, tres huecos distintos#

La tabla deja claro por qué necesitas las tres —y por qué ninguna sustituye a otra:

Fuente Responde a Lo que NO ve
CloudTrail ¿Quién llamó a qué API de AWS? Tráfico dentro de la app; datos sin activar data events
VPC Flow Logs ¿Qué IP habló con qué IP y se aceptó? El contenido del paquete; tráfico a DNS/metadatos
DNS query logs ¿Qué dominios se resolvieron? Conexiones por IP directa (sin DNS)

Amazon Security Lake y OCSF#

Tienes tres formatos distintos en tres sitios distintos. Correlacionar “este evento de CloudTrail, con este flujo de Flow Logs, con esta consulta DNS” a mano es inviable. Ese es el problema que resuelve Amazon Security Lake:

  1. Recolecta y centraliza

    Ingiere CloudTrail, VPC Flow Logs, Route 53 query logs, hallazgos de Security Hub y fuentes de terceros, multicuenta vía AWS Organizations, en un data lake sobre S3 de tu propiedad (retienes el control del dato).

  2. Normaliza a OCSF

    Convierte cada fuente al esquema abierto OCSFOCSFEsquema abierto y agnóstico de proveedor para normalizar eventos de seguridad a una estructura común, usado por Amazon Security Lake. y lo guarda en Apache Parquet, particionado. Dejas de tener tres parsers: tienes un modelo común.

  3. Consulta unificada

    Suscriptores como Athena, Amazon Redshift, OpenSearch o tu SIEM consultan el mismo esquema. Una sola query cruza las tres fuentes.

Tu turno

Mapea tu cadena de registro y busca el hueco

Para un sistema que conozcas (tu trabajo o tu lab), responde:

  • ¿Tienes activos data events de CloudTrail en los buckets sensibles? Si no, ¿cómo investigarías una fuga de objetos?
  • Si un recurso exfiltrara datos por IP directa (sin DNS) hacia un puerto permitido, ¿qué fuente lo registraría? ¿La verías?
  • ¿Tus logs viven en una cuenta separada de quien opera producción? ¿Son inmutables (Object Lock / validación de integridad)?
  • Enumera una amenaza que ninguna de tus fuentes actuales detectaría.

Dibuja la tabla fuente → qué responde → qué no ve, y marca en rojo el primer hueco que un atacante aprovecharía.

Reto

Un atacante lee 10.000 objetos de citas-adjuntos. ¿Qué fuentes lo registran y cuáles no?

▸Mostrar solución

CloudTrail solo lo registra si tenías activados los data events de S3 para ese bucket (no es el comportamiento por defecto). VPC Flow Logs vería la conexión a S3 (metadatos), pero no qué objetos ni su contenido. DNS query logs vería la resolución del endpoint de S3, poco más. Sin data events, no sabrás qué objetos se llevó: por eso se activan en los buckets con PII, pese al coste.

Reto

¿Security Lake sustituye a GuardDuty o a tu SIEM?

▸Mostrar solución

No. Security Lake centraliza y normaliza el dato (a OCSF/Parquet); no genera detecciones por sí mismo. GuardDuty analiza y produce hallazgos; tu SIEM o Athena consultan el lago. Security Lake es la base de datos común sobre la que esas herramientas trabajan, no el detector.

En resumen#

  • CloudTrail registra llamadas a la API: management events por defecto, data events opt-in, de alto volumen y con coste. Úsalo con trail organizacional, validación de integridad y Object Lock.
  • VPC Flow Logs capturan metadatos de red (5-tupla, ACCEPT/REJECT), no el payload ni el tráfico a DNS/metadatos.
  • DNS query logs registran qué dominios se resolvieron: clave contra C2 y tunelización por DNS. Solo consultas únicas.
  • Ninguna fuente lo ve todo: combínalas porque sus huecos son distintos.
  • Security Lake centraliza todo en tu S3 y lo normaliza a OCSF/Parquet, para consultas unificadas con Athena, OpenSearch o tu SIEM.

Referencias#

Notas relacionadas

ESC
↑↓ para navegar↵ para abriresc para cerrar