Desde 2017, hemos visto una abrumadora cantidad de escenarios de divulgación de datos confidenciales e infracciones que involucran cubos de Amazon S3 mal configurados y disponibles públicamente.Hay demasiados para nombrar, pero algunos incidentes notables involucraron a Booz Allen Hamilton, Verizon, AWS y GoDaddy.
El contratista de defensa Booz Allen Hamilton filtró 60.000 archivos, incluidas las credenciales y contraseñas de seguridad de los empleados, a un sistema del gobierno de EE. UU. Un socio de Verizon filtró los registros personales de más de 14 millones de clientes de Verizon, incluidos nombres, direcciones, detalles de la cuenta e incluso PIN de la cuenta en varios casos. Un bucket de AWS S3 filtró los datos personales de más de 198 millones de votantes estadounidenses. La base de datos contenía información de tres empresas de extracción de datos que se sabe están asociadas con el Partido Republicano.
Otra brecha de seguridad del segmento S3 filtró los datos personales de las solicitudes de empleo que tenían autorización gubernamental de alto secreto. La empresa de alojamiento GoDaddy expuso detalles confidenciales de configuración del servidor interno en S3. Y el ISP Pocket iNet dejó 73 GB de datos increíblemente confidenciales en un depósito S3 expuesto a fines de 2018 que incluía contraseñas de texto sin cifrar, claves de AWS, diagramas de red y más.
Según una investigación de McAfee Skyhigh Networks, el 7% de los buckets de S3 están abiertos al público y otro 35% no están encriptados, una característica de seguridad que está integrada en el servicio. Obviamente, esto es un gran problema, y aunque no es culpa de Amazon, todos los buckets de S3 son privados de forma predeterminada, la compañía ha trabajado para ayudar a las personas y organizaciones con este problema.
En noviembre de 2017, Amazon lanzó varias funciones nuevas de seguridad y cifrado para ayudar a las organizaciones a bloquear sus entornos S3, incluidas las herramientas de verificación de permisos, un cifrado más granular para S3 y un banner simple en la pantalla principal de S3 que identifica cuándo los depósitos se configuran como públicos. Además, todos los depósitos públicos se muestran en la parte superior de la lista de depósitos con el orden de clasificación predeterminado de Amazon. Desafortunadamente, nada de esto pareció funcionar.
En la conferencia re: Invent a fines de 2018, AWS anunció más configuraciones nuevas que deberían ayudar a los usuarios a evitar fugas de datos de S3. Estos controles, denominados S3 Block Public Access, se pueden implementar tanto a nivel de cuenta como para depósitos individuales. En esencia, los nuevos controles son una política maestra que se puede habilitar para todos los depósitos de almacenamiento existentes y también se aplicará a los depósitos y objetos recién creados dentro de una cuenta.
Esta configuración también se puede administrar e implementar de varias maneras, incluida la consola de administración de Amazon S3, la interfaz de línea de comandos de AWS, las API específicas de S3 y las plantillas de AWS CloudFormation.
Hay cuatro opciones principales disponibles: dos para administrar listas de control de acceso público (ACL) y dos para administrar políticas de depósito.
- Bloquear nuevas ACL públicas y evitar la carga de objetos públicos: Esta política evitará futuras ACL de S3 que permitan cualquier acceso público, pero los depósitos existentes no se verán afectados.
- Eliminar el acceso público otorgado a través de ACL públicas: Esta política anula todas las ACL existentes que pueden hacer público S3 y cambiará los depósitos existentes para que no sean públicos si las ACL actuales permiten el acceso público.
- Bloquear nuevas políticas públicas de depósito: Esta configuración evita la creación de políticas de IAM futuras que permitan el acceso público, pero las políticas existentes se dejarán intactas.
- Bloquear el acceso público y entre cuentas a depósitos que tienen políticas públicas: Se bloquearán todos y cada uno de los accesos públicos promulgados a través de las políticas de IAM de S3, excepto para los servicios de AWS y el propietario del bucket. Esta configuración está destinada a ayudar a bloquear la mayoría de los accesos mientras los propietarios evalúan las políticas y desactivan el acceso público según sea necesario.
AWS recomienda habilitar todas estas opciones de configuración de inmediato, y todos los nuevos buckets de S3 los activarán automáticamente. Cualquiera que utilice AWS Organizations para el control centralizado de políticas en todas las cuentas también puede habilitar esta configuración allí.
Creo que estas configuraciones mejorarán la seguridad del bucket de S3 y ayudarán a prevenir la exposición accidental simple de datos en S3, pero no detendrá por completo la exposición de los datos del bucket de S3. Algunas organizaciones aún desactivarán todos los controles de seguridad, tal vez mientras solucionan problemas o prueban, y se olvidan de volver a habilitarlos. Sin embargo, con suerte, veremos que la cantidad de incidentes de seguridad del bucket de S3 disminuirá significativamente.