Sécurisation du stockage Blob Azure : guide de configuration

Active Directory

Dans les environnements d’aujourd’hui qui privilégient le cloud, la sécurité est primordiale. Les services cloud sont souvent activés pour résoudre rapidement un problème, mais personne ne s’attarde à vérifier si les bonnes pratiques de sécurité ont été respectées. Parmi les services cloud qui sont souvent mal configurés, nous retrouvons le stockage cloud tel que Blob Azure.

Cet article vous permettra d’en savoir plus sur les fonctionnalités de sécurité dont vous disposez pour sécuriser votre stockage Blob Azure.

Qu’est-ce que le stockage Blob Azure ?

Stockage Blob Azure est une solution de stockage optimisée pour le cloud et destinée aux données non structurées (fichiers). Microsoft a conçu ce service pour le stockage d’une importante quantité de données non structurées, hors base de données.

Parmi les exemples de données non structurées figurent des données textuelles et binaires, telles que des images, des vidéos, des photos et des documents. Le terme « Blob » est l’acronyme de Binary Large Object utilisé dans le secteur.

Le stockage Blob Azure est un composant d’un compte de stockage Azure. Les comptes de stockage permettent également de stocker d’autres objets de données, tels que des partages de fichiers, des files d’attente, des tables et des disques. Les comptes de stockage organisent un ensemble de blobs en conteneurs, comme un répertoire ou un dossier dans un système de fichiers. Les comptes de stockage peuvent avoir un nombre illimité de conteneurs, et ces derniers peuvent stocker un nombre illimité de blobs.

La sécurisation de l’accès à votre stockage Blob est une étape essentielle pour les administrateurs ou les ingénieurs Azure. Les sections suivantes décrivent les fonctionnalités de sécurité disponibles pour vous aider à configurer votre stockage Blob en fonction de vos besoins.

Réponse aux exigences de chiffrement

Le stockage Azure chiffre vos données à l’aide d’un chiffrement côté serveur. Cette méthode de chiffrement protège vos données et vous aide à répondre aux exigences de sécurité et de conformité de votre entreprise. Azure active automatiquement le chiffrement pour tous les comptes de stockage et ne peut pas être désactivé. Les comptes de stockage prennent en charge le chiffrement sur tous les niveaux de performance, les niveaux d’accès et les copies redondantes.

Par défaut, les comptes de stockage chiffrent les données en utilisant des clés gérées par Microsoft. Vous pouvez continuer à utiliser ces clés pour le chiffrement des données, sinon, vous pouvez gérer le chiffrement à l’aide de vos propres clés.

Si vous choisissez d’utiliser vos propres clés de chiffrement, vous disposez de deux options et vous pouvez soit utiliser l’un des types de gestion des clés, soit les deux.

  • Utilisez une clé gérée par le client. Ces clés doivent être stockées dans Azure Key Vault.
  • Utilisez une clé fournie par le client. Ces clés sont utilisées pour les opérations de stockage Blob. Un client qui effectue des requêtes de lecture ou d’écriture auprès du stockage Blob peut utiliser une clé de chiffrement lors de la requête. Cela offre un contrôle granulaire sur la méthode de chiffrement et de déchiffrement des données Blob.

Consultez le tableau suivant pour comparer les options de gestion des clés pour le chiffrement d’Azure Storage.

Fournisseur de gestion des clés Clés gérées par Microsoft Clés gérées par le client Clés fournies par le client
Opérations de chiffrement/déchiffrement Azure Azure Azure
Services Azure Storage pris en charge Toutes Blob, fichiers Azure Blob
Stockage des clés Keystore Microsoft Azure Key Vault Keystore du client
Responsabilité de la rotation des clés Microsoft Client Client
Contrôle des clés Microsoft Client Client

Pour configurer un compte de stockage dans le but d’utiliser une clé gérée par le client et stockée dans un coffre de clés (Key Vault) :

  1. Si vous ne disposez d’aucun coffre de clés, créez-en un. Consultez ce tutoriel sur la création d’un coffre de clés à l’aide du portail Azure.

    Si vous créez un nouveau coffre de clés, placez-le dans la même zone que le compte de stockage et activez la protection contre le vidage. Si vous disposez déjà d’un coffre de clés, accédez aux Paramètres de Key Vault, puis choisissez Propriétés pour activer la protection contre le vidage.

  2. Dans le compte de stockage, accédez à Sécurité + Mise en réseau, puis choisissez Chiffrement.
  3. Pour le Type de chiffrement, sélectionnez la case d’option pour Clés gérées par le client.
  4. Pour la sélection des clés, assurez-vous que la valeur Sélectionner dans le coffre de clés est sélectionnée, puis choisissez le lien pour Sélectionner un coffre de clés et une clé.
  5. Dans l’étape Sélectionner une clé, sélectionnez l’abonnement, le type de keystore et le coffre de clés pour stocker la clé de chiffrement gérée par le client.

    Si vous disposez d’une clé existante stockée dans le coffre de clés, sélectionnez-la dans la liste déroulante. Sinon, sélectionnez Créer une nouvelle clé. Ce tutoriel vous montre comment créer une nouvelle clé.

  6. Dans l’étape Créer une clé, sélectionnez l’option Générer, ajoutez un nom descriptif à la clé, choisissez le type et la taille de la clé, puis définissez les dates d’activation et d’expiration. Assurez-vous que l’option Activée est définie sur Oui, puis cliquez sur Créer.
  7. Dans la fenêtre Sélectionner une clé, assurez-vous que la clé nouvellement créée est sélectionnée dans la liste déroulante Clé, puis cliquez sur Sélectionner.
  8. De retour dans les paramètres de Chiffrement, cliquez sur Enregistrer.

Utilisation des clés d’accès

Les comptes de stockage ont deux clés d’accès de 512 bits utilisées pour autoriser l’accès aux données du compte de stockage. Ces clés de compte constituent essentiellement l’accès racine au compte de stockage. Vous devez utiliser les clés de compte avec modération et traiter ces clés d’accès comme un mot de passe très sensible. Microsoft recommande de stocker les clés d’accès dans Azure Key Vault, puis d’utiliser les commandes et API disponibles pour accéder aux clés du compte via Key Vault.

Pour consulter vos clés d’accès actuelles, accédez à la ressource du compte de stockage. Sous Sécurité + mise en réseau, sélectionnez Clés d’accès. Ici, vous pourrez voir la clé1 et la clé2 pour le compte de stockage en sélectionnant l’icône Afficher les clés. Lorsque la valeur de la clé n’est plus masquée, vous pouvez copier la valeur de la clé dans le presse-papiers.

Chaque clé a également la possibilité d’effectuer une rotation ou de générer une nouvelle clé. Microsoft recommande d’effectuer régulièrement une rotation des clés, en particulier si vous pensez que la clé a été compromise. Vous devez éviter de distribuer les clés à un grand nombre utilisateurs, de coder en dur les clés dans un script ou une application ou de les enregistrer en texte clair.

Génération de signatures d’accès partagé (SAS)

Les signatures d’accès partagé, ou SAP, ressemblent beaucoup aux clés d’accès. Les SAP vous permettent d’accéder aux ressources du compte de stockage, mais elles vous offrent un contrôle plus précis sur cet accès. Vous pouvez contrôler les ressources auxquelles elles ont accès, les autorisations dont elles disposent sur ces ressources et la durée de leur accès à ces ressources.

Azure Storage prend en charge trois types de signatures d’accès partagé :

  • SAP de délégation d’utilisateur : sécurisée à l’aide d’identifiants Azure Active Directory et autorisations spécifiées pour SAP. La SAP s’applique uniquement au stockage Blob.
  • SAP de service : sécurisée à l’aide de la clé d’accès du compte de stockage (décrite dans la section précédente). La SAP de service donne accès aux ressources uniquement dans le stockage Blob, le stockage Queue, le stockage de tables ou les fichiers Azure.
  • SAP de compte : également sécurisée par la clé d’accès au compte de stockage. La SAP de compte délègue l’accès aux ressources dans un ou plusieurs services de stockage. Vous pouvez également déléguer à des opérations de niveau service ainsi que des opérations de lecture, d’écriture et de suppression non disponibles avec une SAP de service.

Les signatures d’accès partagé utilisent un URI signé qui inclut un jeton et un ensemble de paramètres de requête. Le jeton détermine les ressources auxquelles le client peut accéder. Pour créer une signature d’accès partagé :

  1. Accédez à la ressource du compte de stockage dans le portail Azure.
  2. Dans le compte de stockage, accédez à Sécurité + mise en réseau, puis choisissez Signature d’accès partagé.
  3. Dans le volet Signature d’accès partagé, choisissez les services et les options du compte de stockage dont doit disposer la signature d’accès partagé. Cet exemple accorde des autorisations de lecture et de liste aux Blobs dans un conteneur. Utilisez toujours le principe du moindre privilège lorsque vous attribuez des autorisations à une SAP.
  4. Choisissez une heure de début et de fin pour la durée de validité de la SAP.
  5. Si vous le souhaitez, vous pouvez également limiter les adresses IP qui peuvent envoyer des demandes au compte de stockage à l’aide de la SAP.
  6. Il est recommandé d’autoriser le protocole HTTPS uniquement lors de l’utilisation de l’URI de la SAP.
  7. Enfin, choisissez la clé d’accès pour signer la signature d’accès partagé. Si vous révoquez la clé d’accès, toute signature d’accès partagé créée à partir de la clé d’accès sera invalidée.
  8. Lorsque vous aurez configuré toutes les options, sélectionnez Générer la SAP et la chaîne de connexion.
  9. L’assistant propose trois options pour l’utilisation de la SAP : une chaîne de connexion pour les applications, un jeton de SAP et une URL de SAP de service Blob.

Intégration avec Azure Active Directory

Outre l’accès et la signature d’accès partagé, Azure Storage prend en charge Azure Active Directory (AD) pour autoriser les requêtes du client au stockage. Vous pouvez utiliser le contrôle d’accès basé sur les rôles (RBAC) pour accorder des autorisations à un utilisateur, à un groupe ou à un principal de service d’application. Voici quelques exemples de rôles :

  • Propriétaire des données Blob du stockage
  • Contributeur aux données Blob du stockage
  • Lecteur des données Blob du stockage
  • Délégation du Stockage Blob

Azure AD renvoie un jeton OAuth 2.0 lors de l’authentification du client, et ce dernier utilise ce jeton pour accéder au stockage Blob.

Il est préférable d’utiliser Azure AD pour autoriser les requêtes auprès du stockage Blob Azure plutôt qu’une clé d’accès ou une SAP. Ainsi, les clients utilisent leurs comptes existants et vous vous assurez que le client accède au stockage Blob avec les privilèges minimaux requis. L’utilisation d’Azure AD empêche également que les clés d’accès partagées et les URI de SAP ne tombent entre de mauvaises mains.

Pour en savoir plus sur la mauvaise configuration des privilèges cloud, consultez le rapport Varonis sur les risques SaaS 2021 disponible ici.

Pour attribuer un accès utilisateur ou client à l’aide d’Azure AD :

  1. Accédez au compte de stockage dans le portail Azure
  2. Accédez à Contrôle d’accès (IAM) pour le compte de stockage. Vous pouvez également accéder à Stockage des données > Conteneurs et choisir un conteneur spécifique pour accorder l’accès à un client.
  3. Dans la fenêtre Contrôle d’accès (IAM), sélectionnez Ajouter, puis Ajouter une attribution de rôle dans le menu.
  4. Sélectionnez l’un des rôles Stockage Blob mentionnés précédemment dans la fenêtre Ajouter une attribution de rôle.
  5. Recherchez le nom de l’utilisateur, du groupe ou du principal de service et sélectionnez le ou les comptes dans les résultats.
  6. Une fois tous les utilisateurs sélectionnés, cliquez sur Enregistrer.

Gestion de l’accès anonyme

Les conteneurs et les blobs dans le stockage Azure sont un excellent moyen d’héberger et de partager une grande quantité de données. Par défaut, l’accès public aux données Blob est désactivé et interdit. Microsoft recommande de désactiver l’accès public à un compte de stockage, sauf si vous en avez spécifiquement besoin.

De multiples fuites de données sont dues à une mauvaise configuration des comptes de stockage cloud Microsoft, AWS et Google.

Découvrez comment configurer et sécuriser un compartiment AWS S3 grâce au Guide de configuration : Découvrez comment configurer AWS S3 de manière sécurisée de Jeff Petters.

Lorsque vous désactivez l’accès public aux blobs pour le compte de stockage, Azure rejette les requêtes anonymes qui y sont adressées. Lorsque vous désactivez l’accès public, vous ne pourrez pas paramétrer l’accès public pour les conteneurs du compte. Si votre compte de stockage contient plusieurs types de conteneurs, certains publics et d’autres non, Microsoft recommande de déplacer les conteneurs publics vers un compte de stockage distinct dédié à l’accès public.

Pour vérifier votre configuration d’accès public Blob, accédez aux Paramètres, puis sélectionnez Configuration dans le compte de stockage. Recherchez le paramètre Autoriser l’accès public Blob (Allow Blob public access) et assurez-vous qu’il est défini sur le statut Désactivé.

Activation de la communication client sécurisée

Les comptes de stockage Azure disposent de paramètres supplémentaires pour garantir une communication sécurisée avec les applications client. Vous trouverez ces paramètres en accédant aux Paramètres, puis à Configuration.

  • Transfert sécurisé requis : exige l’utilisation du protocole HTTPS par les applications clientes. Lorsqu’il est activé, le compte de stockage rejette toute communication via HTTP.
  • Version TLS minimale : Azure chiffre la communication client à l’aide du protocole TLS (Transport Layer Security). Ce paramètre applique des versions plus élevées du protocole TLS, actuellement à la version v1.2. La communication client avec des versions plus anciennes de TLS est rejetée.

Configuration du pare-feu du compte de stockage

Les comptes de stockage Azure disposent de plusieurs composants réseau utilisés pour sécuriser l’accès. L’un d’entre eux est le pare-feu du compte de stockage. Celui-ci est constitué de règles réseau qui déterminent quelles ressources réseau peuvent accéder au compte de stockage. Ces ressources réseau comprennent des adresses IP, des plages IP, des subnets dans un réseau virtuel Azure (VNet) ou des instances de ressources de certains services Azure.

Par défaut, le compte de stockage est accessible depuis tous les réseaux. Pour modifier ce paramètre, accédez aux ressources du compte de stockage. À partir de là, accédez à Sécurité + mise en réseau, puis choisissez Mise en réseau. Deux options seront disponibles : Tous les réseaux et Réseaux sélectionnés.

Pour limiter l’accès à des réseaux spécifiques, sélectionnez la case d’option Réseaux sélectionnés. À partir de là, vous pouvez sélectionner un réseau virtuel existant ou créer un réseau virtuel à ajouter à la liste. Vous pouvez également ajouter une adresse IP ou une plage CIDR, comme un serveur spécifique ou votre réseau sur site.

Enfin, vous pouvez spécifier des instances de ressources Azure qui ont accès au compte de stockage. Les ressources Azure comprennent des serveurs, des coffres de clés et des usines de données.

Conclusion

Le stockage Blob Azure contient un grand nombre de paramètres et de fonctionnalités pour sécuriser vos données. Cet article vous présente seulement quelques-unes des options à votre disposition. Pour voir la liste complète des paramètres et des options de sécurité, consultez cet article de Microsoft Doc Recommandations de sécurité pour le stockage Blob.

 

Jeff Brown

Jeff Brown

Jeff Brown est un ingénieur en informatique Cloud, spécialisé dans les technologies Microsoft telles qu'Office 365, Teams, Azure et PowerShell.

 

Votre cybersécurité est-elle au cœur de votre infrastructure ?

Bénéficiez d'une évaluation personnalisée des risques auxquels sont exposées vos données, effectuée par des ingénieurs passionnés par la sécurité des données.