Tabla de contenido
Descripción general

Comprender los riesgos de los tokens SAS de Azure

Comprender los riesgos de los tokens SAS de Azure

La responsabilidad de la propiedad y la administración de datos ya no está centralizada. Diversos departamentos, unidades de negocio y equipos manejan datos continuamente y los utilizan para cumplir sus objetivos específicos. Sin embargo, un enfoque tan disperso de la propiedad de los datos puede dejar a las empresas vulnerables.

Una causa muy probable de posibles problemas de ciberseguridad es cuando los tokens Azure Shared Access Signature (SAS) se revelan en repositorios de código y otras fuentes de datos o se comparten con terceros, lo que puede ser accesible por el público y mal utilizado con fines maliciosos. Esto puede incluir casos como la filtración de información confidencial o el acceso a archivos con privilegios. En este blog, nos enfocaremos en el tipo más popular: los tokens Account SAS (Azure). 

¿Qué es un token SAS de Azure?

Un token de firma de acceso compartido (SAS) es una cadena única de texto cifrado que encapsula todos los detalles necesarios para autenticar una firma compartida y acceder a los servicios de Almacenamiento de Azure. También determina qué servicio y recurso se pueden acceder, los permisos otorgados y el período de validez de la firma.

Si vemos los detalles de estos tokens, hay 3 tipos de tokens SAS: SAS de cuenta, SAS de servicio y SAS de delegación de usuario. Este blog aborda específicamente los tokens SAS de cuenta, ya que este es el tipo de token que se utiliza para acceder al almacenamiento, el cual es un punto de falla crítico (si no el más crítico) en la seguridad de los datos.

Tokens SAS de cuenta

Los tokens SAS son códigos cifrados en forma de URI (Identificador Uniforme de Recursos) que otorgan derechos de acceso específicos a uno o más recursos de Azure Storage, como Azure Blob Storage, Azure File Storage y Azure Queue Storage. En comparación con otros tokens, este amplio acceso hace que sea crucial manejar el Account SAS con cuidado para evitar el acceso no autorizado a los datos.

Además, la eficacia de un token SAS radica en su firma, un parámetro especial agregado al URI del recurso de almacenamiento. Este sistema garantiza un acceso controlado sin revelar credenciales sensibles, lo cual es vital cuando los usuarios necesitan acceso pero no deben tener permisos generales. Azure Storage luego verifica esta firma para autorizar el acceso y permite a los clientes acceder directamente a los recursos especificados por un tiempo predeterminado. Una vez que expira, se requiere un nuevo token.

Como se observa en la documentación de Microsoft, aquí tienes un ejemplo de un token SAS en un URI:

Ejemplo visual de un token SAS en una URL

Una vez generado el token, se pueden otorgar a los usuarios permisos como lectura y/o escritura. Hay dos casos de uso notables:

  • Los clientes pueden cargar y descargar datos a través de un servicio proxy de front-end que autentica la firma.
  • Un servicio específico autentica al usuario y luego genera un código SAS de cuenta para acceder directamente a los recursos de la cuenta de almacenamiento. 

¿Cuáles son los riesgos de usar tokens SAS?

Si bien los tokens SAS de cuenta son increíblemente útiles para acceder a recursos de almacenamiento, existen una serie de riesgos que las empresas deben considerar.

Seguimiento de tokens generados. Uno de los grandes desafíos es la falta inherente de visibilidad sobre cuántos tokens están actualmente en circulación. Una vez que se generan, cualquier entidad no autorizada puede acceder a ellos y utilizarlos.

Marcas de tiempo más largas de lo previsto. En segundo lugar, existe la posibilidad de que los usuarios establezcan fechas de vencimiento excesivamente largas al generar tokens, lo que deja los datos vulnerables por períodos más largos de lo originalmente previsto. También pueden ocurrir interrupciones del servicio cuando caducan los tokens, lo que afecta a cualquier servicio que dependa de ellos.

Una vez generado, un token SAS no se puede revocar. Para evitar estos errores humanos, es una buena práctica especificar una vida útil corta en la fecha y hora de inicio y vencimiento de la clave firmada.

Permisos erróneos. Para agravar estos problemas, los tokens SAS podrían otorgar más acceso del originalmente previsto. Por ejemplo, un usuario que desee proporcionar acceso a un archivo específico podría, sin darse cuenta, crear un token SAS que permita acceso a todo el contenedor de almacenamiento asociado, incluidos todos los archivos que contiene. Asimismo, un usuario que quiera otorgar acceso de "lectura" a archivos podría, sin darse cuenta, crear un token SAS que permita permisos de “escritura” o “administración” en lugar de solo “lectura”, por lo que cualquiera que tenga el token a la mano puede escribir y administrar la cuenta de almacenamiento.

Veamos algunas prácticas recomendadas para evitar permisos incorrectos y la exposición de accesos no autorizados.

Mejores prácticas para trabajar con tokens SAS de Azure

Recomendamos varias prácticas recomendadas al trabajar con tokens SAS de Azure:

Aplicar el principio de privilegio mínimo:

  • Limita los tokens SAS a los recursos esenciales (p. ej., un blob).
  • Otorga solo los permisos necesarios (p. ej., de solo lectura).

Usa SAS de corta duración:

  • Aplica un tiempo de expiración más corto para los tokens SAS y haz que los clientes soliciten nuevos tokens SAS cuando sea necesario.
  • Actualiza los tokens SAS según el tiempo recomendado por Microsoft: 1 hora o menos.

Manipule SAS con cuidado:

  • Trata los tokens SAS como confidenciales.
  • Compártelo solo con clientes que necesiten acceso a una cuenta de almacenamiento.

Estrategia de revocación:

  • Vincula los tokens SAS a una directiva de acceso almacenada para revocarlos más fácilmente. 
  • Prepárate para eliminar la directiva de acceso almacenada o cambiar las claves de la cuenta de almacenamiento si se producen filtraciones.

Supervisar y auditar:

  • Habilita Azure Monitor y los registros de Storage para supervisar el acceso a la cuenta de almacenamiento.
  • Implementa una política de expiración de SAS para identificar el uso de SAS de larga duración.

Además de todas estas prácticas recomendadas estándar, Cyera tiene acciones específicas que su organización puede tomar hoy para garantizar el uso seguro de tokens SAS.

Cómo Cyera puede ayudar

Como se explicó anteriormente, usar tokens SAS para permitir el acceso a tus datos introduce posibles riesgos de pérdida de datos. Dado que no es posible revocar un token SAS específico, las organizaciones pueden rotar la clave de acceso de la cuenta de almacenamiento, lo que invalida todos los tokens y no solo los tokens SAS asociados con la cuenta de almacenamiento. Lamentablemente, el problema principal con esta solución alternativa es la degradación del servicio.

Como alternativa, Cyera ofrece un enfoque multifacético para las empresas que buscan gestionar y proteger sus tokens SAS, garantizando que se usen de manera adecuada y segura.

Visibilidad de los tokens SAS. Cyera puede escanear una amplia gama de almacenes de datos IaaS, PaaS y SaaS, e identifica tokens SAS de Azure tanto en datos estructurados como no estructurados, como bases de datos y archivos dentro de Microsoft 365 y varios servicios de almacenamiento en la nube. Esto proporciona visibilidad sobre la presencia y la ubicación de los tokens SAS.

Audita el acceso a los tokens SAS. Cyera puede proporcionar información sobre los usuarios, grupos y otras identidades que pueden acceder a los almacenes de datos o archivos que contienen tokens SAS, así como el propósito por el cual estas identidades tienen acceso a los datos.

Detección de ubicación incorrecta. Cyera puede marcar cuando se encuentran tokens en entornos menos seguros. Por ejemplo, algunas empresas pueden decidir que los tokens SAS solo deben residir en ciertos entornos de producción. Si los tokens SAS terminan en un entorno de desarrollo con acceso abierto para muchos empleados, podría violar las políticas de la empresa y activar una alerta. 

Detección de creación no autorizada de tokens. Cyera puede generar una alerta cuando una cuenta de almacenamiento de Azure tiene permisos amplios que permiten que usuarios no previstos creen tokens SAS. Los equipos de seguridad pueden establecer políticas para monitorear y limitar estos permisos y así hacer cumplir un entorno de almacenamiento más seguro.

Detección de tokens sin protección. Cyera puede generar una alerta cuando se encuentran tokens SAS en un almacén de datos con acceso público o si el propio token SAS está expuesto como texto sin formato, lo que permite que cualquiera con acceso al almacén de datos utilice el token.

Conclusión

La generación o exposición inadecuada de tokens SAS de Azure Storage puede representar un gran riesgo de seguridad para tus datos sensibles. Cyera ayuda a mitigar estos riesgos al mejorar la visibilidad, la auditabilidad y la detección de exposiciones de tokens SAS.

Cyera adopta un enfoque centrado en los datos para la seguridad, evaluando la exposición de tus datos en reposo y en uso, y aplicando múltiples capas de defensa. Debido a que Cyera aplica un contexto profundo de datos de manera holística en todo tu panorama de datos, somos la única solución que puede capacitar a los equipos de seguridad para saber dónde están sus datos, qué los expone a riesgos y tomar medidas inmediatas para remediar exposiciones y garantizar el cumplimiento sin interrumpir el negocio.

Para obtener más información sobre cómo puedes proteger tus datos, programa una demostración hoy.

Experimente Cyera

Para proteger su universo de datos, primero necesita descubrir qué contiene. Permítanos ayudar.

Obtenga una demostración →
Decorative