Au cours d’une de mes missions de conseil dans une petite structure, j’ai dû entreprendre d’expliquer les bonnes pratiques concernant l’utilisation des partages de fichiers Microsoft. Cela me parait élémentaire, mais un petit refresh des bases peut toujours être utile. Lorsque l’on créé un partage NTFS, deux niveaux de permissions sont à définir :

      • Les permissions de partage (accès à la ressource partagée)
      • Les permissions NTFS (accès aux données)

Ces deux permissions sont indépendantes l’une de l’autre, c’est-à-dire qu’elles ne se modifient pas réciproquement. En revanche, le droit d’accès à la ressource finale résulte de la combinaison de ces deux permissions.

Permission de partage

Les permissions de partage s’appliquent uniquement pour les partages réseaux et ne s’appliquent donc pas aux utilisateurs ayant un accès local au dossier (accès à l’explorateur de fichiers sur le serveur de fichiers, par exemple lors d’un accès à un bureau à distance). On peut les définir sur trois niveaux :

Il est aussi important de comprendre la notion suivante: Chaque niveau d’autorisation contient une partie des autorisations de son parent.

      • Lecture : voir les fichiers et les dossiers, ouvrir un fichier ou un dossier, exécuter un programme.
      • Modification : en plus des droits de lecture, ce droit donne également la possibilité d’ajouter des fichiers, créer des dossiers, modifier les fichiers et de supprimer les fichiers et les dossiers.
      • Contrôle total : les droits de modification et de lecture avec en plus la possibilité de modifier les permissions NTFS sur les dossiers et les fichiers.

Pour faire court, la permission de partage est celle qui affecte le “browsing” de la ressource (\\LeNomDuServeur\LeNomDuPartage), j’ai pour habitude de mettre les partages en “modifications”, sauf dans des cas bien précis ou un applicatif aurait besoin du contrôle total, mais ceci reste rarissime.

Ce premier niveau de permission limite les droits de l’utilisateur, même si ceux-ci sont plus ouverts avec les permissions NTFS. Notez également que, par défaut, le groupe administrateur hérite du droit contrôle total et que le groupe tout le monde hérite du droit de lecture. Le droit de contrôle total ne devrait être donné qu’aux utilisateurs dont le rôle est d’administrer les droits NTFS, généralement celui des administrateurs systèmes. Le droit de modification devrait être donné aux utilisateurs ayant pour objectifs d’alimenter le partage avec du contenu.

Si vous rencontrez des problèmes d’écritures avec vos répertoires partagés, le meilleur moyen de vérifier s’il s’agit d’un problème de permissions de partage ou NTFS est de parcourir le partage avec le nom complet de la ressource (\\LeNomDuServeur\C$\LeNomDuDossier) et de faire un test d’écriture par exemple.

Permission NTFS

Les permissions NTFS définissent les droits de l’utilisateur sur l’objet lui-même, que celui-ci soit accédé par le réseau (\\NomDeServeur) ou localement (C:\MaRessource). On peut les définir sur l’objet (droit explicite) ou bien par héritage de l’objet parent (schématiquement, on prend une pyramide, et les droits s’appliquent, de la pointe, vers la base) et lui attribuer une autorisation ou une interdiction, l’interdiction prévalant toujours sur l’autorisation et le droit explicite prévalant toujours sur le droit hérité.

Par défaut, il existe six groupes de permissions NTFS prédéfini. Ces groupes de permissions correspondent en réalité au groupement de droits spéciaux ; on les utilise pour les droits « classiques », mais il est tout à fait possible d’assigner directement les droits spéciaux sur un objet :

Attention, bien que le droit « Lister le contenu du dossier » semble identique à « Lire et exécuter », celui-ci ne s’applique qu’au dossier là où son pendant s’applique aux deux. Vous pouvez ainsi donner un droit « lecture » tout en permettant aux utilisateurs de continuer à accéder aux sous-dossiers.

Les bonnes pratiques

Lorsque les permissions se combinent, le droit de partage délimitera le droit NTFS. Un utilisateur qui accède à un fichier sur lequel il possède le droit « contrôle total » mais dont le droit de partage ne lui accorde que le droit « lecture » ne pourra rien faire de plus que lire le fichier.

Le droit de partage fait office de limiteur d’accès : en aucun cas ce droit ne viendra se substituer à un droit NTFS. Vous pouvez avoir un droit de partage « contrôle total », si le fichier auquel vous accédez est en lecture seul, au niveau des permissions NTFS, il ne vous sera pas possible de le modifier ou de le supprimer. Ci-après un résumé des bonnes pratiques à adopter lorsque vous gérez un serveur de fichiers.

  • Assigner les permissions à des groupes

De cette manière, les droits sont définis une fois pour toute et il n’est plus nécessaire de les modifier sur la ressource. L’administration est faite en ajoutant ou supprimant les utilisateurs du groupe. Pour interdire complétement l’accès de manière temporaire, configurer la permission « contrôle total » sur « refuser ».

De la même manière, au quotidien, la gestion des groupes sera toujours plus “simple” qu’une gestion à l’utilisateur.

  • Assigner le minimum de droit requis

Cette stratégie vous évitera des accès non souhaités. Par exemple, si un utilisateur n’a pas besoin de modifier les fichiers, limitez son accès à la lecture.

  • NTFS et Partage

Pour limiter les droits, privilégiez les permissions NTFS lorsque l’utilisateur à un accès local à la ressource (connexion sur le serveur par exemple). Limiter les droits avec les permissions de partage n’est efficace que pour une connexion réseau.

  • Organiser les ressources

Créer une arborescence permettant de regrouper les privilèges à attribuer. Si trois dossiers à partager ont un accès commun en lecture seule, par exemple, il est plus pertinent de ne créer qu’un dossier partagé commun à la racine sur lequel on donne le droit de lecture. Ce type de partage permet ensuite de limiter les accès en utilisant les permissions NTFS.

  • Groupe « Tout le monde »

Ne jamais définir une permission NTFS sur « refuser » pour le groupe « Tout le monde » : ce groupe contient les comptes ayant accès à la ressource et un droit refusé préemptant une approbation, cela provoquerait automatiquement un accès refusé à tous les utilisateurs (administrateurs compris…).

  • Éviter de refuser explicitement un accès à une ressource

Il vaut mieux gérer directement l’accès à la ressource en retirant le droit de l’utilisateur, plutôt que le lui interdisant explicitement. Par défaut, une absence de droit est une interdiction.

  • Administration

Le groupe « Administrateurs » devrait toujours avoir le contrôle total sur la ressource. Le groupe local du serveur de fichier est suffisant.

D’autant plus que vous vous faciliterez la tâches le jours où vous souhaiterez migrer vos données d’un serveurs de fichiers à un autre.

  • Privilégier les noms courts

En utilisant des noms courts, vous simplifiez le partage de l’information avec des ressources hétérogènes et permettez aux utilisateurs d’identifier rapidement les ressources.

Tout en sachant que les noms longs sont proscrits par Microsoft, certaines applications ne supportent pas les noms trop long.

Utiliser les groupes de sécurité Active Directory

Les groupes de sécurité Active directory ont pour objectif de simplifier les tâches d’administration quotidiennes et d’assurer un haut niveau de sécurité sur les accès. Ils sont particulièrement adaptés aux partages de fichiers. Chaque groupe peut être défini avec un scope différent : cela défini la portée du groupe au sein d’une forêt ou d’une arborescence de domaines(dans le cas d’un environnement multi-domaines). En fonction de son scope, le groupe peut accepter différents types d’objets comme membre , ci-dessous un petit résumé des types de groupes disponibles:

  • Utilisation d’un groupe local :

Ce groupe est à utiliser pour les accès aux ressources d’un domaine. Il devrait avoir pour membre des groupes globaux contenant les utilisateurs.

  • Utilisation d’un groupe global :

Ce groupe est à utiliser pour gérer les objets réclamant une maintenance quotidienne comme les comptes utilisateurs et ordinateurs. Ce type de groupe n’est pas répliqué en dehors de son propre domaine : les modifications à répétition qui seront faites ne provoqueront pas de réplications vers les catalogues Globaux (optimisation réseau).

  • Utilisation d’un groupe universel :

Ce groupe est à utiliser pour regroupe des groupes ayants une portée multi-domaines : ce groupe ne sera répliqué vers les catalogues globaux que lorsque une modification sera réalisée dans sa liste de membres. La modification des membres d’un groupe global lui appartenant, celle-ci n’affecte pas le groupe universel (optimisation réseau).

En respectant l’utilisation et la portée des différents types de groupes, vous éviterez de multiplier le nombre total d’objets de votre annuaire, simplifiant ainsi vos tâches d’administration.

J’espère que cette piqure de rappel vous aidera à mieux gérer vos ressources.

N’hésitez pas à partager ou à demander un petit coup de pouce, je ne manquerai pas d’y répondre.

A bientôt

Steeve DELMOTTE.

Tweeter : @rSx78

Laisser un commentaire