Les autorisations pour les partages de fichiers NFS sont appliquées par le système d’exploitation client plutôt que par le service Azure Files. Le squash racine est une fonctionnalité de sécurité administrative dans NFS qui empêche l’accès au niveau racine non autorisé au serveur NFS par les ordinateurs clients. Cette fonctionnalité est une partie importante de la protection des données utilisateur et des paramètres système contre la manipulation de clients non fiables ou compromis.
Les administrateurs doivent activer le squash racine dans les environnements où plusieurs utilisateurs ou systèmes accèdent au partage NFS, en particulier dans les scénarios où les ordinateurs clients ne sont pas entièrement fiables. En convertissant les utilisateurs racines en utilisateurs anonymes, le squash racine garantit que même si un ordinateur client est compromis, l’attaquant ne peut pas exploiter les privilèges racines pour accéder ou modifier des fichiers critiques sur le serveur NFS.
Dans cet article, vous allez apprendre à configurer et à modifier les paramètres de squash racine pour les partages de fichiers NFS Azure.
S’applique à
Type de partage de fichiers
SMB
NFS
Partages de fichiers Standard (GPv2), LRS/ZRS
Partages de fichiers Standard (GPv2), GRS/GZRS
Partages de fichiers Premium (FileStorage), LRS/ZRS
Comment fonctionne le squash racine avec Azure Files
Le squash racine fonctionne en remappant l’ID utilisateur (UID) et l’ID de groupe (GID) de l’utilisateur racine à un UID et un GID appartenant à l’utilisateur anonyme sur le serveur. Les utilisateurs racines accédant au système de fichiers sont automatiquement convertis en utilisateur/groupe anonyme avec moins de privilèges et des autorisations limitées.
Même si le squash racine est le comportement par défaut dans NFS, ce n’est pas l’option par défaut lors de la création d’un partage de fichiers NFS Azure. Vous devez activer explicitement le squash racine sur le partage de fichiers. Vous pouvez le faire lorsque vous créez un partage de fichiers NFS Azure ou ultérieurement.
Paramètres de squash racine
Vous pouvez choisir entre trois paramètres de squash racine :
Pas de Squash racine : Désactivation du squash racine. Cette option est essentiellement utile pour les clients ou charges de travail sans disque, comme spécifié dans la documentation sur les charges de travail. Il s’agit du paramètre par défaut lors de la création d’un partage de fichiers NFS Azure.
Tous les types Squash : Mappage de tous les UID et GID à l’utilisateur anonyme. Utile pour les partages qui nécessitent un accès en lecture seule par tous les clients.
Squash racine : Mappage des requêtes de l’UID/le GID 0 (racine) à l’UID/le GID anonyme. Cela ne s’applique pas aux autres UID ou GID pouvant être tout aussi sensibles, comme « user bin » ou « group staff ».
Le tableau suivant met en évidence le comportement d’UID observé à partir du serveur lorsque des options de squash racine spécifiques sont configurées.
Option
UID client
UID serveur
root_squash
0
65534
root_squash
1 000
1 000
no_root_squash
0
0
no_root_squash
1 000
1 000
all_squash
0
65534
all_squash
1 000
65534
Configurer le squash racine sur un partage de fichiers NFS existant
Vous pouvez configurer les paramètres de squash racine en utilisant le portail Azure, Azure CLI ou Azure PowerShell.
Pour activer le squash racine sur le partage de fichiers, exécutez la commande suivante. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Pour désactiver le squash racine sur le partage de fichiers, exécutez la commande suivante. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Pour forcer le squash pour tous les utilisateurs, exécutez la commande suivante pour mapper tous les ID d’utilisateur à des utilisateurs anonymes. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Pour voir la propriété de squash racine d’un partage de fichiers, exécutez la commande suivante. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Connectez-vous à Azure et définissez votre abonnement.
az login
az account set --subscription "<your-subscription-id>"
Pour activer le squash racine sur le partage de fichiers, exécutez la commande suivante. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Pour désactiver le squash racine sur le partage de fichiers, exécutez la commande suivante. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Pour forcer le squash pour tous les utilisateurs, exécutez la commande suivante pour mapper tous les ID d’utilisateur à des utilisateurs anonymes. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
Pour voir la propriété de squash racine d’un partage de fichiers, exécutez la commande suivante. Remplacez <resource-group-name>, <storage-account-name> et <file-share-name> par vos propres valeurs.
az storage share-rm show \
--resource-group <resource-group-name> \
--storage-account <storage-account-name> \
--name <file-share-name>