Skip to content
Herramienta Pro

Auditor de políticas de buckets S3

¿Mi bucket S3 es público? Pega la política JSON y obtén hallazgos ordenados por gravedad, sin tocar AWS.

Abrir la herramienta →

La herramienta interactiva se abre en inglés.

Responde a la pregunta «¿mi bucket S3 es público?» sin tocar AWS. Pegas la política JSON de un bucket S3 (y, si la tienes, una configuración de Public Access Block) y obtienes hallazgos ordenados por gravedad: acceso anónimo (Principal "*" o {"AWS":"*"} con Effect Allow y sin una Condition que restrinja), lectura pública (s3:GetObject), escritura o borrado públicos (s3:PutObject / s3:DeleteObject), falta de la denegación de aws:SecureTransport (tráfico permitido por HTTP en claro), acciones s3:* demasiado amplias y condiciones que solo parecen restrictivas, como aws:Referer, que un atacante puede falsificar. Si pegas la configuración de Public Access Block, te dice si BlockPublicPolicy o RestrictPublicBuckets anularían una política pública. Todo se analiza en tu navegador con JSON.parse: no se sube nada y nunca se contacta con ningún bucket. Es una herramienta Pro.

  1. Pega la política JSON del bucket S3.
  2. Opcionalmente, pega también la configuración de Public Access Block del bucket o de la cuenta.
  3. Revisa los hallazgos: cada uno trae la gravedad, la sentencia de la que procede, el riesgo en lenguaje claro (exposición o manipulación de datos) y la corrección concreta.
  4. Recuerda que un resultado limpio significa que esta política no es el problema, no una certificación completa: revisa también ACL, políticas IAM y Block Public Access de la cuenta.

Preguntas frecuentes

¿Qué hace que un bucket S3 sea «público»?

Un bucket es accesible para llamantes anónimos cuando una sentencia de su política tiene Effect "Allow", un Principal "*" (o {"AWS":"*"}) y ninguna Condition que restrinja de verdad quién puede llamar. AWS también evalúa primero la configuración de Block Public Access: si BlockPublicPolicy o RestrictPublicBuckets están activados a nivel de bucket o de cuenta, una política pública se rechaza o se neutraliza diga lo que diga la política. Esta herramienta marca la exposición a nivel de política y, si pegas también una configuración de Public Access Block, te dice si esa red de seguridad la anularía. Las ACL de objetos y la configuración de la cuenta no aparecen en el JSON de la política, así que quedan fuera de alcance.

¿Se conecta a AWS o lee mi bucket real?

No. Nunca hace una llamada de red ni contacta con AWS. Pegas el JSON de la política y de la configuración, y todo se analiza localmente en tu navegador con JSON.parse, igual que un editor de texto abre un archivo. No sondea, no lista ni descarga nada de un bucket real, así que ejecutarla no filtra nada ni puede disparar registros de acceso o alarmas en tu cuenta. Eso también significa que solo ve lo que pegas: razona sobre el documento de la política, no sobre el estado en vivo del bucket.

¿Por qué una Condition como aws:Referer no cuenta como restricción real?

La cabecera HTTP Referer la fija el cliente y se falsifica con una sola línea de curl o de un script, así que una política que solo permite el acceso «cuando aws:Referer es igual a mi-sitio.com» se lo da a cualquiera que envíe esa cabecera, es decir, a todo el mundo. Lo mismo pasa con aws:UserAgent. Las restricciones reales acotan el acceso por red o por identidad: aws:SourceIp, aws:SourceVpc / aws:SourceVpce, aws:SourceArn, aws:PrincipalOrgID o una condición de punto de acceso. El auditor trata un Principal público protegido solo por una Condition falsificable como todavía público, y marca aparte la Condition ineficaz.

¿Qué es la comprobación de aws:SecureTransport y por qué importa?

aws:SecureTransport es true cuando una petición llega por TLS (HTTPS) y false por HTTP en claro. S3 acepta ambas salvo que prohíbas la vía sin cifrar, así que el control recomendado es una sentencia Deny sobre s3:* para el Principal "*" con la Condition Bool aws:SecureTransport false, que cubra tanto el ARN del bucket como sus objetos (arn:aws:s3:::bucket y arn:aws:s3:::bucket/*). Sin ella, las peticiones y las credenciales o datos que lleven pueden viajar sin cifrar. El auditor busca esa Deny en toda la política y, si falta, levanta un hallazgo. Es una expectativa estándar del benchmark CIS AWS Foundations.

¿«Sin hallazgos» garantiza que mi bucket es seguro?

No. Un resultado limpio significa que el JSON que pegaste no contiene ninguno de los patrones de exposición pública o mala configuración que comprueba esta herramienta: es una señal fuerte, no un certificado. El acceso a S3 resulta de la combinación de la política del bucket, las ACL de objetos y del bucket, Block Public Access (bucket y cuenta), las políticas de identidad IAM, las políticas de endpoints de VPC, las SCP de Organizations y los puntos de acceso. Toma una auditoría limpia como «esta política no es el problema» y confirma igualmente que las ACL están desactivadas, que Block Public Access está activo donde debe y que el cifrado y el registro están configurados.

¿Es gratis?

No, es una herramienta Pro. Con una cuenta gratuita tienes 3 usos de prueba de herramientas Pro en total; después necesitas Pro.

🖤 Black Friday: new customers get 3 months of Pro for $5, then $5/month. Ends 30 Nov. Claim 3 months for $5 →