Bonjour à tous,
Aujourd’hui ce n’est pas un tutoriel que je vous propose, mais un article (qui risque d’être long et de donner mal à la tête) sur la gestion des droits au niveau des serveurs de fichiers Windows.
Avant de parler de gestion des droits avec les méthodes AGDLP/AGUDLP qui sont les préconisations (bonne pratique) de Microsoft, il y a plusieurs éléments à aborder avant et chose à comprendre pour avoir une bonne gestion.
- Droits NTFS et Droits de Partage
- Scénario 1 : Le dossier Pierre est partagé avec les droits SMB seulement pour l'utilisateur et les droits NTFS sont laissés par défaut.
- Scénario 2 : Le dossier Pierre est partagé avec les droits SMB seulement pour l'utilisateur (Pierre) et les droits NTFS sont modifiés pour autoriser seulement Marie.
- Scénario 3 : Le dossier Pierre est partagé avec les droits SMB "standard" (Tout le monde en Modifier/Lecture) et droits NTFS explicite pour Pierre.
- Connaitre les différents types de groupes Active Directory
- Avoir une convention de nommage des objets Active Directory
- AGDLP / AGUDLP : la bonne pratique de gestion des droits
- Conclusion
Droits NTFS et Droits de Partage
Le premier casse tête, quand on aborde le sujet des droits d’accès que je rencontre, c’est que les gens sont perdus entre les droits NTFS et les droits de partage (SMB).
Je vais essayer de faire simple et vous allez voir, que je vais faire très simple … les droits de partage on s’en fout !
J’arrête avec les GIFs et je passe aux choses sérieuses …
Je m’explique, les droits NTFS (souvent les plus restrictifs) prennent le dessus sur les droits SMB.
Et je vous propose de faire l’expérience par vous-même, mais je vais même quand même la faire dans cet article.
Voici mon environnement de test :
- Un serveur Windows Server 2016 qui est contrôle de domaine
- Un serveur Windows Server 2016, membre du domaine sur lequel je vais partager un dossier pierre (c’est le cobaye).
- Un client Windows 10 (20h2) joint au domaine avec lequel Pierre va se connecter et tenter d’essayer d’accéder au dossier.
On va aussi retrouver administrateur et Marie pour les tests.
Je vais essayer d’être compréhensible, mais ce n’est pas toujours facile quand l’on parle de droit par écrit.
Scénario 1 : Le dossier Pierre est partagé avec les droits SMB seulement pour l’utilisateur et les droits NTFS sont laissés par défaut.
Maintenant, je vais me connecter avec Pierre, sur le PC Windows 10 et accéder au dossier partagé.
Comme on peut le voir sur les deux captures ci-dessous, je vois bien le dossier et je peux aller dedans.
La création d’éléments (donc l’écriture) fonctionne également.
Pour le moment on a bien le comportement attendu.
Pour continuer mon illustration, je me connecte avec le compte de Maria au serveur (pour utiliser les droits NTFS).
Pour information Marie n’est pas administrateur, mais il est possible par défaut d’ouvrir une session sur un serveur avec un utilisateur du domaine. (Je parle de session locale par la console VMWare ou Hyper-V, en Bureau à distance (RDP), c’est verrouillé).
Comme on peut le voir, je retrouve bien mon dossier Pierre dans lequel on a créé des éléments depuis la session de Pierre sur le PC Windows 10.
Comme on peut le voir sur les captures ci-dessous, l’utilisateur Marie peut créer un dossier (elle a donc le droit d’écriture).
Que se passe-t-il si on essaie avec Maria (depuis le serveur) d’accéder au même dossier depuis son partage ? Si j’ouvre l’explorateur et que je vais à l’adresse \\127.0.0.1, je retrouve bien le partage.
Si j’essaie d’accéder avec Maria au dossier Pierre par son chemin UNC, je n’ai pas les droits.
Si vous regardez la capture, on voit que depuis le chemin « local », je peux accéder au dossier, mais je ne peux pas son chemin UNC.
Les droits SMB étant plus restrictif, je ne peux pas avec Maria accéder au dossier Pierre, mais je peux en local…
Scénario 2 : Le dossier Pierre est partagé avec les droits SMB seulement pour l’utilisateur (Pierre) et les droits NTFS sont modifiés pour autoriser seulement Marie.
Depuis Windows 10, avec Pierre je ne peux plus accéder au dossier partagé qui pourtant donne le contrôle total à Pierre, les droits NTFS sont plus restrictifs, seul Marie a des droits dessus (Le groupes Utilisateurs a été supprimé et celui-ci contient le groupe utilisateurs du domaine).
Depuis Windows 10, avec Marie, je ne peux pas accéder au dossier Pierre malgré les droits NTFS, car les droits SMB ne me donne pas le droit explicitement dessus.
Dans ce scénario, je ne vous refais pas la démo en local sur le serveur, Marie accède au dossier, car les droits NTFS lui autorise.
Scénario 3 : Le dossier Pierre est partagé avec les droits SMB « standard » (Tout le monde en Modifier/Lecture) et droits NTFS explicite pour Pierre.
Si on laisse seulement la lecture sur le droit SMB (partage), la modification ne sera pas possible même pour Pierre, car les autorisations les plus restrictives sont appliquées.
Depuis un ordinateur avec la session Pierre, on peut accéder au dossier et on peut également créer des éléments.
Depuis la session de Marie ouverte sur le client Windows 10, je ne peux pas accéder au dossier partagé Pierre.
Depuis la session de Marie ouverte sur le serveur Windows, je ne peux pas accéder au dossier local Pierre.
À travers cette démo, on a pu voir que les droits les plus restrictifs sont appliqués, pour en revenir à la gestion des droits de partage / NTFS, si les droits NTFS sont bien configurés, il n’y a aucune problématique à laisser les droits de partage à tout le monde, pour éviter tout risque de conflit, il est plus pratique de gérer au niveau NTFS.
Vous êtes encore là ? Vous avez du courage … on va passer à la suite.
Connaitre les différents types de groupes Active Directory
Quand je vais réellement aborder AGDLP/AGUDLP, je vais parler des différents groupes Active Directory, il est important de connaitre la porter de chaque groupe et les différents éléments qu’ils peuvent contenir.
Pour en savoir plus sur les groupes : Groupes Active Directory – RDR-IT Academy
Avoir une convention de nommage des objets Active Directory
Cette partie est aussi importante afin que tous les membres du SI utilisent la même nomenclature de nom pour les groupes et aussi en regardant un objet savoir à quoi il sert notamment pour les groupes afin de savoir s’il peut être utilisé sur une ressource (ici un dossier partagé).
Je ne vais pas vous donnez de conseil sur ce sujet, car chaque organisation est différente.
Pour cet article voici ce que je vais utiliser :
- GG_XXXXX : groupe global qui va contenir les utilisateurs de département
- GL_XXXXX_YY : groupe local qui sera positionné sur les ressources ou YY va correspondre au droit RO (Read-Only) / RW( Read-Write)
AGDLP / AGUDLP : la bonne pratique de gestion des droits
On peut attaquer le sujet principal de l’article, la gestion des permissions avec AGDLP (Account, Global, Domain Local, Permission) / AGUDLP (Account, Universel, Global, Domain Local, Permission).
Afin de comprendre plus facilement, on attaque avec un diagramme et je vous l’explique après :
Comme vous pouvez le voir, « on joue à la poupée russe » pour gérer les permissions d’accès aux ressources.
Si on prend l’exemple de Pierre qui est au département Comptabilité, il faut partie du groupe global GG_Compta, ce groupe est membre des groupes locaux GL_Compta_RW et GL_HR_RO, qui sont utilisés pour donner les permissions d’accès aux dossiers Compte en lecteur / écriture et sur le dossier HR en lecture seul.
Pour résumé, Pierre peut écrire dans le dossier Compta et accéder en lecture au dossier HR.
Pourquoi on utilise un groupe domaine local à la place d’un groupe global ? Dans un environnement Active Directory « simple » il n’y a pas d’impact à utiliser l’un ou l’autre des groupes, mais cela prend une importance quand des relations d’approbations existent. Le groupe Global pourra être utilisé sur tous les domaines de la forêt et les domaines approuvés pour placer des permissions, ce qui peut créer une « faille de sécurité », alors que le groupe domaine local ne peut être utilisé que sur des ressources de son domaine.
Je vais maintenant vous montrez concrètement comme ça se passe sur un serveur.
Sur la capture ci-dessous, on peut voir le groupe Global GG_Compta dont Pierre est membre.
Ci-dessous le groupe local GG_Compta_RW, que l’on va utiliser pour les droits NTFS, j’ai ajouté le groupe GG_Compta comme membre.
Maintenant, il faut configurer les droits NTFS correctement
Sur le serveur de fichiers, j’ai un dossier Departements qui est partagé avec les droits SMB pour le monde en lecture/écriture et les droits NTFS par défaut. Ce dossier va contenir les différents dossiers de travail des différents départements de l’entreprise.
On va configurer les droits NTFS sur le dossier Compta.
Depuis l’onglet Sécurité du dossier Compta, cliquer sur le bouton Avancé.
La première étape va être de désactiver l’héritage des droits NTFS, pour cela cliquer sur le bouton Désactiver l’héritage et transformer les droits en autorisations explicites en cliquant sur Convertir les autorisations héritées en autorisations explicites sur cet objet.
Penser à cliquer sur le bouton Appliquer et fermer la fenêtre de gestion des droits avancés.
De retour sur l’onglet Sécurité du dossier Compta, cliquer le bouton Modifier.
Sélectionner le groupe Utilisateurs et supprimer les droits.
Pour rappel, on supprime le groupe Utilisateurs, car dans un domaine Active Directory lors de la jonction au domaine, le groupe Utilisateurs du domaine est ajouté au groupe local (de l’ordinateur) Utilisateurs, ce qui lui donne les droits de lecture par défaut.
Maintenant, cliquer le bouton Ajouter, sélectionne le groupe GL_Compta_RW pour l’ajouter et cocher les droits qui doivent lui-être appliqués. Terminer en cliquant sur le bouton Appliquer.
Les droits NTFS sont configurés.
Dans la partie avancée, il existe un outil qui permet de tester les droits, aller sur l’onglet Accès effectifs et cliquer sur Sélectionner un utilisateur.
Sélectionner un utilisateur ou un groupe et cliquer sur Afficher l’accès effectif.
Ci-dessous, le résultat de l’accès pour Pierre et Marie :
Vous avez maintenant toutes les informations de base pour utiliser AGDLP et placer les droits correctement sur vos dossiers partagés.
Concernant AGUDLP, on vient utiliser un groupe Universel entre le groupe global et domaine local, on utilise cette méthode dans les environnements multi-domaines.
Conclusion
Je vais essayer d’être bref, car si vous en arrivez là, vous avais peut-être mal à la tête…
Cette méthode AGDLP doit être pour moi utiliser au maximum quand cela est possible que ce soit pour l’accès à des ressources partagées ou à des applications quand il est possible de le faire, car cela facilite l’application des autorisations en plaçant les personnes dans le bon groupe.
Dans la réalité, il peut être difficile de respecter cette méthode quand on a des demandes exotiques … Par exemple si on demande que Marie soit la seule personne de département HR qui puisse accéder en L/R au dossier compta, ce que je vous conseille dans ce cas, c’est de mettre Marie dans le groupe GL_Compta_RW et de ne surtout pas faire d’autorisations nominatives dans les droits NTFS.
Hi
this was a great article
please, is there a way to complete this article by describing agudlp with example, there is said add universal group between global and local but no more info about how to do that correctly because i had no luck to apply that to our domains.