2 puntos por GN⁺ 2024-06-02 | 1 comentarios | Compartir por WhatsApp

El cifrado de buckets de AWS S3 no es tan simple como parece

Opciones de cifrado de S3

  • Cifrado del lado del servidor (SSE-S3): cifra los datos usando claves administradas por AWS.
  • Cifrado del lado del servidor (SSE-KMS): cifra los datos usando AWS Key Management Service (KMS).
  • Cifrado del lado del servidor (SSE-C): cifra los datos usando claves proporcionadas por el usuario.
  • Cifrado del lado del cliente: el usuario cifra directamente los datos antes de subirlos.

Diferencia entre cifrado y control de acceso

  • Cifrado: proceso de transformar los datos para protegerlos.
  • Control de acceso: política que determina quién puede acceder a los datos.
  • En la práctica, el cifrado de S3 se parece más al control de acceso y se enfoca más en la gestión de permisos que en la protección de los datos.

Por qué importa

  • Seguridad: el cifrado puede proteger los datos incluso en caso de filtración.
  • Cumplimiento normativo: el cifrado puede ser necesario para cumplir ciertas regulaciones de la industria o requisitos legales.
  • Integridad de los datos: el cifrado garantiza que los datos no hayan sido alterados.

La opinión de GN⁺

  • Confusión entre cifrado y control de acceso: muchas personas confunden el cifrado con el control de acceso. Este artículo explica claramente la diferencia.
  • Nivel real de seguridad: hace falta una mirada crítica sobre qué tan seguras son realmente las opciones de cifrado de S3.
  • Tecnologías alternativas: además de S3, también vale la pena considerar otros servicios de almacenamiento en la nube como Google Cloud Storage o Azure Blob Storage.
  • Capacitación de usuarios: es importante que los ingenieros principiantes entiendan con claridad la diferencia entre cifrado y control de acceso.
  • Factores a considerar al adoptar tecnología: al implementar tecnologías de cifrado, hay que considerar factores como la pérdida de rendimiento o el aumento de costos.

1 comentarios

 
GN⁺ 2024-06-02
Opiniones de Hacker News
  • No estoy de acuerdo con quejarse de que el sistema de archivos distinga entre mayúsculas y minúsculas. Es lo natural, y lo incómodo es que macOS no lo soporte.
  • Las rutas de S3 son una simulación, no directorios reales. Por ejemplo, /builds/1/installer.exe en realidad es un archivo cuyo nombre incluye /.
  • Usar S3 u otros servicios de AWS es complejo y la documentación es abundante, así que es fácil exponer datos por error. Prefiero servicios más simples como Hetzner Storage Boxes o DigitalOcean Spaces.
  • Borrar decenas de miles de millones de objetos puede salir caro. Sin embargo, si se configura un comodín o un tiempo de expiración para todos los objetos del bucket, se pueden detener de inmediato y gratis los cargos de almacenamiento.
  • Las cargas multiparte fallidas pueden quedar ocultas y seguir generando costos de almacenamiento. El nombre "Simple" de S3 queda mal parado.
  • Las cargas multiparte no pueden realizarse desde varias máquinas, las solicitudes LIST son lentas y caras, y la creación de buckets puede no ser consistente.
  • S3 distingue entre mayúsculas y minúsculas, lo que puede causar problemas al convertirlo a una estructura de sistema de archivos.
  • La mayoría de las configuraciones de S3 permiten solicitudes GET, pero no solicitudes HEAD. Los flujos que aprovechan caché podrían no funcionar.
  • Si se usan muchas URL prefirmadas, se puede mejorar la velocidad de generación de URL entre 10 y 40 veces.
  • Hay que pagar almacenamiento por las cargas multiparte no completadas. Se debe activar la eliminación automática.
  • La discusión sobre distinguir mayúsculas y minúsculas está demasiado centrada en el inglés.
  • S3 ignora silenciosamente todas las solicitudes después de que una sola conexión TCP haya enviado 100 solicitudes HTTP.
  • Un sitio web mal configurado puede subir contenido de usuario a Amazon Glacier y servirlo más tarde.
  • S3 no es adecuado para servir sitios web por su alta latencia. La latencia consistente de objetos pequeños es de 100 a 200 milisegundos.