Blog Cloud Security

S3 sin fugas: cierra tus buckets en 4 capas

Desde abril de 2023 los buckets nuevos nacen con Block Public Access activado y S3 cifra todo objeto nuevo por defecto

📅 Publicado: 21 jul 2026
🔄 Actualizado: 21 jul 2026
👤 Por: Jaivic Villegas
📌 Última revisión: 21 jul 2026
📋 Contenido
  1. Capa 2 — política mínima + cifrado
  2. Capa 3 — compartir sin abrir
  3. ¿Estoy expuesto?
  4. Preguntas frecuentes
  5. Artículos relacionados

Empresa grande, 2023 en adelante: los datos filtrados casi nunca salen por un hackeo elegante: salen por un bucket de S3 mal cerrado. Desde abril de 2023 los buckets nuevos nacen cerrados, pero los viejos y las políticas escritas a mano siguen fugando. Cuatro capas para dormir tranquilo, en

Capa uno: Block Public Access, el candado maestro. Cuatro interruptores que anulan cualquier política pública, por bucket o para la cuenta entera. Desde abril de 2023 viene activado en todo bucket nuevo; tu trabajo es comprobarlo en los viejos, y encenderlo a nivel de cuenta si no necesitas nada público.

Block Public Access: 4 interruptores que anulan lo público. Default en buckets NUEVOS (abr-2023) → revisa los VIEJOS y actívalo a nivel CUENTA.

Capa 2 — política mínima + cifrado

Capa dos: la política del bucket con mínimo privilegio: quién exactamente, a qué prefijo, con qué acción. Y el cifrado, que desde 2023 S3 aplica solo a todo objeto nuevo: tu parte es no confiar en memoria, sino en política: exige cifrado y niega lo que llegue sin él.

Bucket policy de mínimo privilegio (quién, qué prefijo, qué acción). Cifrado: S3 lo aplica solo desde 2023 — tú, exígelo por política.

Capa 3 — compartir sin abrir

Capa tres: compartir sin abrir. Para dar un archivo a alguien no se abre el bucket: se genera una presigned URL, un enlace firmado que caduca a los minutos que tú digas. El bucket sigue cerrado; el enlace muere solo.

Presigned URL: enlace firmado que CADUCA. El bucket ni se entera de lo que es ser público.

¿Estoy expuesto?

Y el comando prometido: pregunta el estado de política de un bucket y la respuesta es un booleano sin piedad. IsPublic, true. Ese es el bucket por el que mañana te llamarían de un periódico. Un segundo por bucket, y sales de dudas.

$ aws s3api get-bucket-policy-status --bucket web-backups
"PolicyStatus": { "IsPublic": true }

Ese es el bucket del periódico de mañana

Preguntas frecuentes

¿Qué puede salir mal? Cuándo SÍ público

¿Y cuándo sí quieres algo público, una web estática por ejemplo? Hazlo con intención: mejor todavía, bucket cerrado y CloudFront delante sirviendo el contenido. Público el CDN, privado el origen. Lo público por accidente es fuga; lo público por diseño, arquitectura.

  • Web estática: mejor bucket CERRADO + CloudFront delante. Público por accidente = fuga
  • Por diseño = arquitectura.

¿Cuánto cuesta?

Capa cuatro: la vigilancia. IAM Access Analyzer, a nivel de cuenta es gratis, revisa en continuo qué recursos quedaron compartidos fuera de tu cuenta y te lo lista: buckets, roles, claves. Es el que te avisa cuando una política nueva abre algo sin querer.

IAM Access Analyzer (nivel cuenta, $0): lista TODO lo compartido fuera de tu cuenta y avisa cuando una política nueva abre algo.

¿Por dónde empiezo?

Y el comando prometido: pregunta el estado de política de un bucket y la respuesta es un booleano sin piedad. IsPublic, true. Ese es el bucket por el que mañana te llamarían de un periódico. Un segundo por bucket, y sales de dudas.

Jaivic Villegas Jaivic Villegas Ver todos los artículos →

Artículos relacionados