Windows ServerWindows Server 2019

Windows Server : La gestion des droits de partages et NTFS – Episode 2

Si vous êtes là, c’est que vous avez surement apprécié la première partie de l’article « Windows Server : La gestion des droits » et que vous souhaitez en savoir plus sur la gestion des droits de partages et NTFS dans un environnement Microsoft Windows !

Pour ceux qui n’auraient pas encore lu le premier volet, n’hésitez pas à en faire la lecture « Windows Server : La gestion des droits de partages et NTFS – Épisode 1 » avant de poursuivre ce présent billet.

Prérequis

  1. Avoir lu le premier volet de cet article « Windows Server : La gestion des droits de partages et NTFS – Épisode 1 »
  2. Comme pour le précédent article, nous considérerons que vous avez une certaine maitrise de l’environnement AD de Microsoft Windows, et que les différents termes sont acquis (OU, Groups, etc…)
  3. Du courage et de la patience, les explications qui vont suivre sont assez techniques et tout retranscrire par écrit n’est pas la mission la plus simple 😉

Définir une arborescence sous Windows

Définition du besoin client

  Avant même de penser à la gestion des droits, il est impératif de définir avec le client son besoin afin de définir ou redéfinir l’arborescence. Il est souvent plus simple de créer une arborescence de zéro, mais lors de reprise d’infrastructure ou de sécurisation d’une installation existante, il va falloir commencer par refondre l’existant.

  Pour commencer, je recommande de ne pas descendre trop bas dans l’arborescence pour la gestion des droits. C’est pourquoi, en pratique, nous tolérerons deux niveaux maximum, celui directement en dessous de votre dossier partagé (Sharedfolders dans notre exemple) et un niveau en dessous. L’idéal étant quand même de tout gérer au premier niveau.

Voici ce que l’on appellera le premier niveau : 

Et dans cette capture nous retrouvons le deuxième niveau : 

Donc si l’on respecte ce que je viens de vous dire, ça donnera quelque chose comme ça :

Exemple :

 1. Comptabilité : Possibilité de gestion des droits à ce premier niveau

                        1.1. Comptabilité Clients : Possibilité de gestion des droits à ce deuxième niveau

                                 1.1.1. Commandes : Pas de gestion des droits à ce troisième niveau

                                 1.1.2. Devis : Pas de gestion des droits à ce troisième niveau

                                 1.1.3. Factures : Pas de gestion des droits à ce troisième niveau

                        1.2. Comptabilité Fournisseurs : Possibilité de gestion des droits à ce deuxième niveau

                                 1.2.1. Commandes : Pas de gestion des droits à ce troisième niveau

                                 1.2.2. Devis : Pas de gestion des droits à ce troisième niveau

                                 1.2.3. Factures : Pas de gestion des droits à ce troisième niveau

 L’héritage sous Windows :

   Ce qu’il faut comprendre, c’est que la gestion des droits sous Windows fonctionne par héritage.

   Par défaut, si je ne fais aucune modification, le dossier « \\sharedfolders\comptabilité\comptabilité fournisseurs\1.2.3 Factures » qui se trouve au troisième niveau, bénéficiera des droits appliqués sur le dossier parent qui est « Sharedfolders ». Celui-ci détient lui-même ses propres droits de son parent qui n’est autre que le lecteur sur lequel il se trouve. 

  Pour gérer les droits, nous allons faire ce que l’on appelle « Casser l’héritage » (nous verrons comment plus tard dans ce chapitre). Comprenez donc qu’au premier niveau de l’arborescence, nous allons désactiver l’héritage sur tous les dossiers afin d’appliquer des droits différents sur ceux-ci (Commun, Comptabilités, etc…).

  Dans l’exemple que je viens de vous donner, les sous-dossiers « Comptabilité Clients » et « Comptabilité Fournisseurs » possèderont donc les mêmes droits que ceux appliqués sur le dossier parent « Comptabilité » normal, car nous n’avons cassé l’héritage qu’en amont du dossier « Comptabilité ». L’héritage en dessous reste actif à partir de « Comptabilité », pour faire simple, l’héritage ayant été cassé entre Sharedfolders et Comptabilité, Comptabilité devient le parent référant pour tous les sous-dossiers et fichiers qu’il contient et ceux qui seront rajoutés par la suite.

  Admettons que notre client possède deux comptables, un qui ne s’occupe que de la compta clients et l’autre que de la compta fournisseurs, si l’on respecte le principe du moindre accès, il faudra appliqué des droits différents sur les dossiers « Comptabilité Clients » et « Comptabilité Fournisseurs », pour moi, l’idéal, serait de remonter ces deux dossiers au premier niveau comme ceci : 

  Mais certains clients ne voudront pas, ils préfèreront épurer le premier niveau. Il faudra alors laisser les deux dossiers dans le dossier « Comptabilité » (comme dans l’exemple précédent), dans ce cas là, vous laissez un accès en lecture aux deux comptables sur le dossier « Comptabilité » et vous affinez vos droits en dessous.

Petits tips :

  1. Prévoyez un dossier accessible à tous vos collaborateurs en lecture et modification que vous pourrez nommer « Échanges temporaires », ce dossier pourra servir de zone tampon pour vous transmettre des fichiers/dossiers entre collègues sans passer par un envoi de mail ;
  2. Prévoyez un dossier « Scans » cela vous permettra de configurer votre Scan to SMB ;
  3. Pensez au dossier « Utilisateurs » qui contiendra un dossier sécurisé pour chaque collaborateur, accessible uniquement par lui, cela lui permettra d’y stocker des éléments professionnels le concernant uniquement lui (feuilles d’heures, demande de congés, fiche de frais, etc…) ;
  4. Attention lors du déplacement des données dans un environnement avec des droits, il ne faut pas utiliser le « couper/coller », mais le « copier/coller » uniquement. En effet, lors d’un « couper/coller » les droits du dossier source seront conservés, ce qui pourra vous poser problème si vous prenez par exemple un document présent dans le dossier « Directeur » qui est uniquement accessible au Directeur. Le document, bien que dans un dossier accessible à tous les utilisateurs, ne pourra pas être ouvert par les collaborateurs. Voici l’exemple en capture (ce comportement est lié au fait que les utilisateurs n’ont pas les droits de modifier les attributs des dossiers, j’y reviendrai plus tard.

Création des groupes de sécurités Windows 

  Une fois votre arborescence définie, il va falloir créer vos groupes de sécurités afin d’y accueillir vos utilisateurs, pour cela, et comme toujours dans un environnement AD, il est important de structurer votre annuaire. Il est donc impératif de définir une convention de nommage de vos groupes !

  La convention que j’adopte, est de préfixer les groupes avec la mention « NTFS », cela me permet, d’un seul coup d’œil de différencier ces groupes.
Convention de nommage : [NTFS] – [Nom du dossier partagé] [Nom du dossier] [RO] ou [RW]
Exemple : NTFS – SharedFolders Comptabilité RO / NTFS – SharedFolders Comptabilité RW
RO : lecture seule ;
RW : lecture et écriture.

  Vous l’aurez compris, à la différence de la méthode ADGLP, ces groupes pourront recevoir exclusivement des objets de type « Utilisateur ».

  Si nous reprenons la capture du chapitre précédent, ça donnera quelque chose comme ça :

   Vous l’aurez remarqué, je crée systématiquement les deux types de groupes RO et RW pour tous les dossiers, sans me soucier du fait que certains groupes seront peut-être vides. C’est volontaire, lorsque l’on crée une arborescence, les dossiers sont vides, ce qui nous permet d’appliquer les droits très facilement et rapidement sur les différents dossiers. S’ils étaient pleins, chaque modification de droits entrainerait la modification des attributs pour toutes les données présentes dans le dossier en question. Autant vous dire que lorsque le dossier pèse plus de 500 Go (par exemple), les droits ne s’appliquent pas en deux secondes. De plus, si vous êtes en prod, vous risquez d’être bloqué par des utilisateurs qui accèderaient à certains fichiers que vous souhaitez modifier. En appliquant systématiquement les deux types de droits, vous n’aurons plus qu’à ajouter les utilisateurs dans les groupes, sans toucher à l’onglet sécurité de votre dossier.

Vous devez maintenant mieux comprendre pourquoi je vous disais dans la première partie :

« Je vous propose d’en étudier une autre, un peu plus longue à mettre en place, mais qui simplifie la vie au quotidien pour l’administration. »

Petit Tips : 

Si vous êtes un adepte de PowerShell, il est possible d’optimiser cette partie un peu fastidieuse avec un beau script qui créera tous les groupes pour vous sur la base de votre arborescence.

Modification des droits NTFS sur les dossiers 

  Bon c’est bien beau tout ça, mais maintenant il va falloir ajouter les groupes de sécurités sur les dossiers pour définir les droits comme nous le souhaitons, voici comment nous allons procéder : 

Débutons par le premier dossier, celui que l’on a nommé « SharedFolders » :
  Vous constaterez que lorsque vous regardez les droits de votre dossier « SharedFolders » les petites coches indiquant les droits pour les groupes et/ou utilisateurs sont grises. Cela veut dire que ce sont des droits hérités, et qu’ils ne sont pas modifiables. Par défaut, comme vu précédemment, ça sera toujours le cas, les droits seront toujours hérités depuis le parent qui est le lecteur (D: dans mon exemple) :

Désactivation de l’héritage : 

Il conviendra de « casser » l’héritage (ou désactiver l’héritage) du dossier parent et convertir les objets de sécurité. Pour se faire, dans « Avancé » de l’onglet sécurité.

Au passage, vous constaterez que la colonne prénommée « Hérité de » confirme ce que je vous disais juste avant : 

Nous choisirons de « Convertir les autorisations héritées en autorisations explicites sur cet objet », il faut comprendre que tous les droits seront conservés en l’état.

Une fois l’opération réalisée, vous pourrez constater qu’il n’y a plus d’héritage sur le dossier, mais que les droits sont toujours présents : 

Et que si vous repassez en vue simplifiée, les coches ont changés de couleurs pour devenir noires : 

Nettoyage des accès hérités 

On ne laissera que le nécessaire, avant d’ajouter les groupes que nous avons créés précédemment, pour ce faire, nous cliquerons sur « Modifier » :

 

Ensuite nous pourrons ajouter les groupes que nous avons créés :

Il suffira de commencer à taper le nom du groupe et faire « Vérifier les noms » : 

Pour ensuite sélectionner le ou les groupes qui nous intéressent, dans notre cas, uniquement le groupe « NTFS – SharedFolders RO » : 

Je vous vois venir, vous allez me dire, « Attends, tu viens de nous dire qu’il faut systématiquement créer les deux groupes RO et RW même s’ils sont vides, et là tu ne mets qu’un groupe en RO ! »

Je vous l’accorde, mais c’est volontaire, il est, de mon point de vue, impératif de figer le premier niveau de l’arborescence, et ce pour plusieurs raisons (toutes les raisons ci-dessous sont tirées de mon expérience, c’est donc du vécu sur des infras installées par des confrères) : 

  1. Éviter toutes fausses manipulations de type suppression malencontreuses d’un dossier complet, ou glissé-déposé non voulu ;
  2. Empêcher les utilisateurs de stocker des fichiers au premier niveau de l’arborescence qui doit rester « propre » ;
  3. Empêcher les utilisateurs de créer de nouveaux dossiers non validés par la hiérarchie et sur lesquels aucun droit ne serait appliqué.

Maintenant, il faut faire la même chose pour tous les autres dossiers ;-).

Petit Tips : 

Normalement, vous ne devriez, dans vos droits NTFS, n’avoir aucun groupe de type « Tout le monde », « Utilisateurs du domaine » ou encore « Utilisateurs authentifiés »… En effet, ces groupes sont trop inclusifs, et vous risquez de laisser des accès non voulus.

À ce stade, votre arborescence sera sécurisée, et les dossiers accessibles uniquement aux personnes que vous aurez définies pour chacun. Maintenant, il va falloir la partager pour qu’elle soit accessible aux utilisateurs depuis leurs postes.

Gestion des partages

  Dans le chapitre précédent, nous avons vu comment gérer les droits d’accès sur les dossiers, ce que l’on appelle vulgairement la gestion des droits NTFS, c’est bien, mais pour le moment, notre dossier n’est pas partagé et il est uniquement accessible depuis le serveur sur lequel sont hébergés les dossiers. Nous allons avoir comment nous devons procéder pour partager un dossier.
  Les droits de partages sont complémentaires aux droits NTFS, mais les droits NTFS prennent le dessus. En effet, si vous donnez un accès en Écriture sur les droits de partage à un utilisateur, mais que vous ne lui permettez que la lecture au niveau NTFS, l’utilisateur n’aura que le droit de lire et non d’écrire. C’est pourquoi Microsoft préconise d’utiliser un groupe inclusif au niveau partage de type « Utilisateur du domaine » avec le contrôle total. Partant du principe, qu’aucun utilisateur n’aura besoin des droits « Contrôle total », et que j’aime avoir le contrôle sur qui accède à quoi, je préfère définir un groupe que j’aurai créé moi-même et sur lequel j’aurai la maitrise des membres.
  C’est pourquoi dans l’exemple ci-dessous pour le tuto, nous allons procéder à la création d’un groupe spécifique pour le partage.

Création d’un partage 

   Après avoir créé le groupe dans l’AD (pour l’exemple ça sera le compte « SHARE – ShareFolders RW »), nous allons pouvoir partager le dossier en passant par le « Partage Avancé… » :

 

Info : Vous avez peut-être remarqué le « $ » à la suite du nom de mon partage, et vous demandez surement à quoi cela peut servir ? En fait, le « $ » permet de masquer le partage lorsque l’on cherche à lister le dossier partagé par un serveur.
  Par défaut je masque systématiquement mes partages, en effet, au début des Ransomwares, ceux-ci « tapaient » uniquement dans les lecteurs (et lecteurs réseaux) mappés sur le poste attaqué. Les attaques ont évoluées avec le temps, et ils savent, depuis quelques années, lister les partages présents sur les serveurs, sauf s’ils sont masqués (enfin, pour le moment).

   Nous irons chercher notre groupe et lui donnerons les droits en « Modifier » :

Accès au partage Windows

   Une fois ceci effectué, votre dossier sera enfin partagé, et nous verrons le chemin réseau (ou chemin UNC) apparaître : \\SRVV01\SharedFolders$

Voici ce que cela donne depuis le poste client : 

   Par défaut, tous les dossiers seront visibles, que l’on ait les accès ou non, la seule chose c’est que nous aurons un message d’erreur lorsque nous tenterons d’accéder à un dossier pour lequel nous n’avons pas les droits :

Petit Tips :

Pour pallier le problème précisé en dernier point, il est possible d’activer « l’énumération basée sur l’accès » qui permettra de masquer tous les dossiers pour lesquels nous n’avons pas les droits. Je vous invite à prendre connaissance de l’article de Kevin ENGEL à ce sujet -> ICI.

Différence droits sous Windows

Contrôle total : permets aux utilisateurs de lire, d’écrire, de modifier et de supprimer des fichiers et des sous-dossiers. En outre, les utilisateurs peuvent modifier les paramètres d’autorisations pour tous les fichiers et sous-répertoires.
Modification : permets aux utilisateurs de lire et d’écrire des fichiers et des sous-dossiers ; permets également la suppression du dossier.
Lecture et exécution : permets aux utilisateurs d’afficher et d’exécuter des fichiers exécutables, y compris des scripts.
Affichage du contenu du dossier : permets de visualiser et de répertorier les fichiers et les sous-dossiers ainsi que d’exécuter les fichiers ; hérité par les dossiers uniquement.
Lecture : permets aux utilisateurs d’afficher le contenu du dossier et du sous-dossier.
Écriture : permets aux utilisateurs d’ajouter des fichiers et des sous-dossiers, qui vous permets d’écrire dans un fichier.

Si vous avez suivi, vous aurez compris pourquoi on ne doit JAMAIS donner des droits en « Contrôle total » aux utilisateurs. En effet, cela leur donnerait la possibilité de modifier les droits NTFS sur le/les dossier(s) sur le(s)quel(s) vous venez de définir des droits bien précis. 

Conclusion

Voilà, nous arrivons à la fin de ce tuto/formation, j’espère que celui-ci vous aura plu et que vous aurez appris des choses que vous pourrez mettre en œuvre dans vos entreprises et/ou chez vos clients !

Dylan DAVY

Administrateur Systèmes et Réseaux Informatiques depuis 2015, je travaille au sein d'une petite SSII dans le 44 et interviens sur les Pays de la Loire, mes missions s'articulent autour des systèmes (essentiellement Microsoft : Client et serveur) et des réseaux exclusivement auprès des professionnels. J'ai eu également l'occasion, dans le cadre de mes fonctions, de mettre en place des systèmes de vidéoprotection notamment dans un environnement Synology Surveillance Station. Je m'intéresse aussi, à titre personnel, à tout ce qui touche à la domotique, Hifi/home cinéma… Au plaisir de partager avec vous mes connaissances

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page