Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo analiza una colección de mejores prácticas de seguridad de Azure Storage para proteger tus aplicaciones web y móviles de plataforma como servicio (PaaS). Microsoft derivó estas mejores prácticas de la experiencia con clientes de Azure y Azure.
Azure permite implementar y usar el almacenamiento de formas que no son fácilmente alcanzables en entornos locales. Con Azure Storage, puedes alcanzar altos niveles de escalabilidad y disponibilidad con relativamente poco esfuerzo. Azure Storage es la base para Windows y Linux Azure Virtual Machines, y también puede soportar grandes aplicaciones distribuidas.
Azure Storage ofrece cuatro servicios: almacenamiento de blobs, almacenamiento de tablas, almacenamiento en cola y almacenamiento de archivos. Para más información, consulte Introducción a Microsoft Azure Storage.
En este artículo se explican los siguientes procedimientos recomendados:
- Firmas de acceso compartido (SAS)
- Control de acceso basado en roles de Azure (RBAC de Azure)
- Cifrado en el lado del cliente para datos de alto valor
- Cifrado del servicio de almacenamiento
Usar una firma de acceso compartido en lugar de una clave de cuenta de almacenamiento
El control de acceso es fundamental. Para ayudar a controlar el acceso a Azure Storage, Azure genera dos claves de cuenta de almacenamiento (SAK) de 512 bits al crear una cuenta de almacenamiento. Esta redundancia de teclas te ayuda a evitar interrupciones de servicio durante la rotación rutinaria de claves.
Las claves de acceso al almacenamiento son secretos de alta prioridad y solo deberían estar accesibles para las personas responsables del control de acceso. Si las personas equivocadas acceden a estas llaves, obtienen el control total del almacenamiento y pueden reemplazar, eliminar o añadir archivos al almacenamiento. Los atacantes pueden subir malware y otros tipos de contenido que puedan comprometer tu organización o tus clientes.
Seguirá necesitando una forma de proporcionar acceso a los objetos del almacenamiento. Para proporcionar un acceso más granular, aprovecha la firma de acceso compartido (SAS). SAS te permite compartir objetos específicos en almacenamiento durante un intervalo de tiempo predefinido y con permisos específicos. Una firma de acceso compartido permite definir lo siguiente:
- El intervalo durante el que la SAS es válida, incluida la hora de inicio y la hora de caducidad.
- Los permisos concedidos por la SAS. Por ejemplo, un SAS en un blob podría conceder a un usuario permisos de lectura y escritura a ese blob, pero no permisos de eliminación.
- Una dirección IP opcional o un intervalo de direcciones IP de las que Azure Storage aceptará la SAS. Por ejemplo, podría especificar un intervalo de direcciones IP que pertenezcan a su organización. Esta opción proporciona otra medida de seguridad para tu SAS.
- El protocolo a través del cual Azure Storage aceptará la SAS. Puedes usar este parámetro opcional para restringir el acceso a clientes que usan HTTPS.
SAS permite compartir contenido de la forma que se quiera sin tener que proporcionar las claves de cuenta de almacenamiento. Utiliza siempre SAS en tu aplicación para compartir tus recursos de almacenamiento de forma segura sin comprometer las claves de tu cuenta de almacenamiento.
Para más información sobre la firma de acceso compartido, véase Uso de firmas de acceso compartido.
Uso de los controles de acceso basados en rol de Azure
Otra forma administrar el acceso es usando la funcionalidad Control de acceso basado en roles de Azure (RBAC de Azure). Gracias a Azure RBAC, podrá centrarse en proporcionar a los empleados los permisos exactos que necesiten, según la necesidad de información y los principios de seguridad de privilegios mínimos. Un número elevado de permisos puede provocar que la cuenta esté expuesta a los atacantes. Si se conceden muy pocos, los empleados no podrán realizar su trabajo de manera eficaz. Azure RBAC ayuda a abordar este problema, ya que es posible realizar una administración avanzada del acceso para Azure. El control de acceso es fundamental para las organizaciones que deseen aplicar directivas de seguridad para el acceso a los datos.
En Azure, puede usar roles integrados de Azure para asignar privilegios a los usuarios. Por ejemplo, use el rol Colaborador de la Cuenta de Almacenamiento para los operadores en la nube que necesiten administrar cuentas de almacenamiento, y el rol Colaborador de la Cuenta de Almacenamiento Clásica para administrar cuentas de almacenamiento clásicas. En el caso de los operadores en la nube que necesitan administrar máquinas virtuales, pero no la red virtual ni la cuenta de almacenamiento a la que están conectadas, puede agregarlos al rol Colaborador de la máquina virtual.
Las organizaciones que no impongan el control de acceso a los datos utilizando capacidades como Azure RBAC podrían otorgar a los usuarios más privilegios de los necesarios. Más privilegios de los necesarios pueden llevar a comprometer los datos al permitir que algunos usuarios accedan a datos que no deberían tener en primer lugar.
Para más información sobre Azure RBAC, consulta:
- Asignación de roles de Azure mediante Azure Portal
- Roles integrados en los recursos de Azure
- Recomendaciones de seguridad para Blob Storage
Utiliza cifrado en el lado del cliente para datos de alto valor
El cifrado del lado cliente permite cifrar datos en tránsito mediante programación antes de cargarlos en Azure Storage y descifrarlos de la misma manera al recuperarlos. El cifrado del lado del cliente proporciona el cifrado de los datos en tránsito, pero también el cifrado de los datos en reposo. El cifrado del lado cliente el método más seguro para cifrar los datos, pero hay que realizar cambios mediante programación en la aplicación e implementar procesos de administración de claves.
El cifrado del lado cliente también permite controlar de forma exclusiva las claves de cifrado. Puede generar y administrar sus propias claves de cifrado. Este proceso utiliza una técnica de envolvente en la que la biblioteca cliente de almacenamiento de Azure genera una clave de cifrado de contenido (CEK) y luego la envuelve (cifra) utilizando la clave de cifrado de clave (KEK). Un identificador clave identifica el KEK. El KEK puede ser un par de claves asimétricas o simétricas, y puedes gestionarlo localmente o almacenarlo en Azure Key Vault.
El cifrado del lado cliente se integra en las bibliotecas de cliente de almacenamiento de Java y .NET. Consulta Cifrado del lado del cliente para blobs para información sobre cómo cifrar datos dentro de aplicaciones cliente y generar y gestionar tus propias claves de cifrado.
Activar el cifrado del servicio de almacenamiento para datos en reposo
Cuando activas el cifrado de servicios de almacenamiento para archivos, Azure Storage cifra automáticamente los datos usando el cifrado AES-256. Microsoft controla todo el proceso de cifrado, descifrado y administración de claves. Esta característica está disponible en los tipos de redundancia LRS y GRS.
Pasos siguientes
En este artículo se presenta una serie de procedimientos recomendados de seguridad de Azure Storage para proteger aplicaciones web y móviles PaaS. Para obtener más información sobre cómo proteger las implementaciones de PaaS, vea: