¿Por qué AWS recomienda contra los cubos S3 públicos?

54

"Recomendamos encarecidamente que nunca otorgue ningún tipo de acceso público a su depósito S3".

He establecido una política pública muy granular (s3: GetObject) para un depósito que uso para alojar un sitio web. Route53 admite explícitamente el alias de un depósito para este propósito. ¿Esta advertencia es redundante o estoy haciendo algo mal?

Andrew Johnson
fuente
1
@MichaelHampton Mostrará esto en la consola S3, sin mucho contexto adicional. businessinsights.bitdefender.com/…
ceejayoz
Relacionado: ¿AWS puede ver en un depósito privado o tiene que ser público para que AWS pueda acceder a los archivos en su interior?
Criggie
¿@Criggie AWS es su equipo de soporte? ¿O algo mas?
ceejayoz
@ceejayoz sí, el equipo de soporte de AWS.
Criggie
Me imagino que a cierto nivel de soporte podrían hurgar dentro, aunque S3 admite el cifrado con una clave que no sea de Amazon. Creo que sus procesos deberían garantizar que no se haga sin un permiso explícito.
ceejayoz

Respuestas:

69

Sí, si sabe lo que está haciendo ( editar: y todos los demás con acceso a él también lo saben ...), puede ignorar esta advertencia.

Existe porque incluso las grandes organizaciones que deberían saber mejor han colocado accidentalmente datos privados en cubos públicos. Amazon también le enviará correos electrónicos de advertencia si deja los cubos públicos además de las advertencias en la consola.

Accenture, Verizon, Viacom, Illinois, la información de los votantes y la información militar se han encontrado inadvertidamente abiertas a todos en línea debido a que los cuerpos de TI configuran mal sus silos S3.

Si está absolutamente seguro al 100% de que todo en el bucket debe ser público y que nadie va a poner accidentalmente datos privados en él, un sitio HTML estático es un buen ejemplo, entonces, por supuesto, déjelo en público.

ceejayoz
fuente
2
En la práctica, prácticamente nunca estás 100% seguro, por lo que la mejor práctica es no hacerlo.
Shadur
Hace solo unos meses, el FBI o la CIA dejaron datos privados que se suponía que estaban seguros en un S3 público. Veré si puedo encontrar un enlace al artículo de noticias.
Reactgular
Ver aquí: gizmodo.com/…
Reactgular
Buen señor, ¿puede guiarme para permitir específicamente que solo mi sitio web y mi aplicación de Android puedan acceder a los objetos de mi cubo? Básicamente no quiero que la gente raspe el contenido de mi cubo. Pero mi sitio web y mi aplicación deberían poder cargarlos.
bad_keypoints
35

El problema de privacidad que aparece en la respuesta de ceejayoz no es el único problema.
Leer objetos de un cubo S3 tiene un precio. AWS le facturará por cada descarga de este paquete. Y si tiene mucho tráfico (o si alguien que quiere dañar su negocio comienza a descargar archivos durante todo el día), rápidamente se volverá costoso.

Si desea que los archivos de su depósito sean de acceso público, debe crear una Distribución de Cloudfront que señale y se le otorgue acceso al depósito S3 .

Ahora, puede usar el nombre de dominio de Cloudfront Distribution para servir sus archivos sin otorgar ningún acceso S3 al público.
En esta configuración, paga por el uso de datos de Cloudfront en lugar de S3. Y a volúmenes más altos es mucho más barato.

Quentin Hayot
fuente
2
CloudFlare también funciona, y es probable que aún sea más barato.
chrylis -on strike-