Parlons un peu d’une chose importante quand on possède un environnement Active Directory… une bonne organisation !

Avoir son AD bien structuré dès l’installation c’est un gage de qualité et de sécurité. On a déjà évoqué le fait qu’AD permet de gérer des utilisateurs et d’attribuer des permissions à ces utilisateurs sur les ressources du domaine.

Cet article va justement démontrer l’intérêt d’une méthode de gestion des permissions d’accès qui a fait ses preuves : la best practice de Microsoft : AGDLP ! victory


Définition

La méthode AGDLP est un principe de gestion des droits d’accès aux ressources partagées d’une entreprise, préconisé par Microsoft, basé sur les groupes de sécurité d’Active Directory et leurs étendues.

Cette méthode consiste à rendre membre des utilisateurs (Account), de groupes globaux (Global), ajouter ces groupes globaux dans des groupes de domaine local (Domain Local) et pour terminer, attribuer aux groupes de domaine local des permissions NTFS sur les ressources (Permissions), les permissions NTFS étant les autorisations attribuées sur un objet dossier ou fichier.

 

Avantages

Voici les principaux arguments qui font qu’essayer AGDLP, c’est l’adopter :

  • Structurer correctement les accès sur un serveur de fichiers.
  • Gestion simple et rapide des permissions à l’aide de groupes et d’appartenances à ceux-ci : si un utilisateur (ou un groupe défini d’utilisateurs) doit avoir un accès à telle ou telle ressource, il n’y aura qu’à l’ajouter dans le groupe Global adéquate.
  • Gain de temps pour les administrateurs systèmes : une fois en place, il n’y aura plus à toucher aux droits définis sur les ressources.
  • Sécurité accrue : pas de propagation massive en cas d’infection du serveur de fichiers si les permissions NTFS sont correctement gérées. (Impérativement éviter de donner des permissions NTFS aux groupes types « Tout le monde » ou « Utilisateurs du domaine », etc… gardez plutôt cela pour les autorisations de partages et privilégier les permissions à la racine de la ressource.)

 

Différences entre les permissions NTFS et de partage

Il faut savoir qu’il existe 2 types de permissions différentes (que j’ai évoqué précédemment du coup…) :

  • Les permissions de sécurité NTFS (onglet sécurité d’un dossier, capture de gauche)
  • Les autorisations de partages (onglet partage d’un dossier, capture de droite)

Comme vous avez certainement dû le remarquer, les autorisations de partage qu’il est possible de définir sur un objet ne sont qu’au nombre de 3 :

  • Contrôle total
  • Modifier
  • Lecture.

C’est plutôt sommaire pour une gestion pointue des droits même s’il faut l’avouer, la plupart du temps cela suffit.

En revanche, les permissions NTFS sont bien plus poussées. Vous ne voyez en l’état que les autorisations de base lorsque vous allez dans l’onglet Sécurité mais si vous cliquez sur le bouton “Avancé“, double-cliquez sur n’importe quel utilisateur ou groupe dans la liste puis sur la droite sur “Afficher les autorisations avancées“, vous verrez alors que les permissions NTFS vont vous permettre d’affiner très clairement les droits que vous souhaitez appliquer.

Autre différence importante entre NTFS et partage, leur “portée”.

En effet, les autorisations de partage vont s’appliquer si on tente d’accéder à un dossier à distance, ce qui est bien le but d’un partage, c’est à dire qu’elle vont s’appliquer sur l’entièreté du réseau.

Les permissions NTFS vont elles s’appliquer également localement, c’est à dire sur la machine qui héberge le dossier partagé.

Il est nécessaire d’appliquer des permissions des 2 côtés (sécurité et partage). Les autorisations vont alors se cumuler et la plus restrictive des deux va s’appliquer réellement au final, cela s’appelle les permissions effectives (droits effectifs, autorisations effectives… bref z’avez compris !).

Dernier point important concernant les permissions NTFS : il est souvent nécessaire de désactiver l’héritage dès la création d’un nouveau dossier partagé avant même de faire quoi que ce soit pour éviter les mauvaises surprises par la suite. Pour cela, allez dans l’onglet Sécurité, bouton Avancé. cliquez sur le bouton “Désactivez l’héritage” puis sur “Convertir les autorisations héritées en autorisations explicites sur cet objet”.

Ensuite supprimez les deux lignes contenant le groupe “Utilisateurs” qui sont toujours mises par défaut sur un objet pour éviter de donner des permissions à tous les utilisateurs sans le vouloir… Pour terminer vous pourrez alors rajouter vos propres groupes ici et gérer leurs permissions.

 

Définition des étendues de groupes

L’étendue d’un groupe définit les objets qui peuvent en être membre ainsi que l’emplacement où ils peuvent être utilisés, c’est-à-dire seulement dans le domaine où il a été créé ou dans toute la forêt. Il existe 3 étendues de groupe de sécurité :

  • Groupe de domaine local (GDL): il peut contenir des utilisateurs, des groupes globaux et universels de tous les domaines de la forêt et des groupes de domaine local de son propre domaine. Il peut seulement être utilisé pour fixer des permissions à des ressources dans le domaine dans lequel il a été créé.
  • Groupe global (GG): il peut contenir des comptes utilisateurs et des groupes globaux du même domaine et tous autres objets d’un domaine approuvé. Il peut être utilisé dans toute la forêt pour donner des permissions aux ressources de son propre domaine mais aussi celles sur les domaines de la forêt qui ont une relation d’approbation.
  • Groupe universel (GU): il peut contenir des comptes utilisateurs, des groupes globaux et universels de n’importe quel domaine de la forêt. Ce groupe a une portée maximale puisqu’il est accessible dans l’ensemble de la forêt.

 

Dénomination des groupes

A la manière des stratégies de groupes (GPO), le nom d’un groupe doit être le plus précis possible. D’un simple coup d’œil, il faut pouvoir identifier son utilité et son étendue. Voici un exemple de dénomination possible que j’applique personnellement :

Pour les groupes Globaux : GG_ Rôle-ou-Service

Exemples :

  • GG_Commerciaux : nous savons que ce groupe est un groupe « Global » (GG) et qu’il doit logiquement contenir tous les utilisateurs du service Commercial puisqu’il s’appelle “Commerciaux”.
  • GG_Gestionnaires_Plannings: nous savons que ce groupe est un groupe « Global » (GG) et qu’il contient tous les utilisateurs qui gèrent les plannings des employés.

Pour les groupes de Domaine Local : GDL_ nom-de-la-ressource_Permissions

Exemples :

  • GDL_Compta_R: nous savons que ce groupe est un groupe « de Domaine Local » (GDL) et qu’il contient le ou les groupes globaux d’utilisateurs qui ont le droit de lire uniquement (R pour Read) les fichiers contenus dans le répertoire « Compta ».
  • GDL_Compta_W : nous savons que ce groupe est un groupe « de Domaine Local » (GDL) et qu’il contient le ou les groupes globaux d’utilisateurs qui eux, ont le droit d’écrire (W pour Write) dans le répertoire « Compta ».

 

Exemple d’application de droits d’accès aux ressources partagées

Prenons un exemple plus concret pour illustrer cette méthode.

Dans une entreprise, il existe un partage pour le service Direction qui contient des fichiers/dossiers sensibles. Il est bien évident que toutes l’entreprise ne doit pas avoir accès à cette ressource mais seulement les membres de la Direction. En revanche, il arrive fréquemment que le directeur, Mr Alain DUPONT, demande à une secrétaire, Mme Laura MARTIN, de relire certains de ses documents. Elle a donc elle aussi besoin d’un accès à ce partage mais seulement en lecture car le directeur ne veut pas que ses documents soient modifiés.

Si nous décortiquons ces informations, cela nous donnera :

  • 2 utilisateurs : Alain DUPONT et Laura MARTIN
  • 2 services différents : Direction et Secrétariat
  • 1 répertoire accessible pour les 2 services : partage « Direction »
  • 1 accès en lecture/écriture pour le service Direction
  • 1 accès en lecture pour le service Secrétariat

Pour ce cas précis, voici une illustration des groupes que nous pouvons créer et des droits que nous pouvons appliquer tout en respectant le principe de la méthode AGDLP :

Dans le cas de la création d’une nouvelle ressource nommée “Direction” sur un serveur de fichiers, il faudra :

  • Créer un (ou plusieurs) groupe de Domaine Local selon les droits (Lecture ou Ecriture par exemples pour faire simple)

  • Créer un (ou plusieurs) groupe Global (ou utilisé un groupe GG_x déjà existant) et l’ajouter au groupe de Domaine Local précédemment créé selon les droits nécessaires toujours.

  • Créer la ressource sur le serveur de fichiers (oui c’est pas con hein ? 😀 )

  • Désactiver l’héritage, en supprimant les permissions données par défaut au groupe « Utilisateurs », et attribuer les droits nécessaires au(x) groupe(s) de Domaine Local précédemment créé(s) correspondant à cette ressource.

  • Aller dans l’onglet Partage, bouton « Partage avancé » et cocher la case « Partager ce dossier » en laissant le nom par défaut ou en le modifiant au choix (ajouter un $ à la fin du nom de partage permettra de la masquer sur le réseau si besoin).

  • Cliquer sur le bouton « Autorisations » et donner les droits de Lecture et de Modification au groupe « Tout le monde » ou au groupe « Utilisateurs authentifiées » puis Valider pour terminer (*).

Info ++ : (*) Selon les préconisations de Microsoft, « On peut “maximiser” les droits de Partage car l’accès à la ressource sera de toutes façons géré avec les permissions NTFS ». En effet, je vous rappelle que les permissions NTFS et les droits de partages se cumulent et c’est toujours la plus restrictive qui gagne. C’est-à-dire que si un groupe à le droit de partage « Lecture » mais la permission NTFS « Ecriture », au final il n’aura le droit que de Lecture, c’est ce qu’on appelle les permissions effectives.

Dans le cas d’ajout de droits à un utilisateur sur une ressource, il faudra :

  1. Ajouter l’utilisateur au groupe Global lui correspondant.
  2. Et c’est tout ! Le groupe Global devant déjà être membre d’un groupe de Domaine Local, l’utilisateur aura des droits sur la ressource, par le biais de ce groupe.

 

En résumé, la méthode AGDLP est un réel gain de temps pour les administrateurs mais aussi un moyen de sécuriser proprement son serveur de fichiers. De plus, il est plus simple de faire un suivi des droits utilisateurs sur un dossier s’ils sont tous répertoriés dans un seul et même groupe.

AGDLP est donc une « best practice » non négligeable qui se révélera très utile par la suite et qui est à prendre en compte lors de la mise en place d’une structure Active Directory.

Dans le cas d’une utilisation hors domaine AD, on parle alors de méthode AGP où les utilisateurs seront placés directement dans des groupes Globaux. Et dans le cas d’une utilisation plus étendue sur une forêt AD avec par exemple plusieurs domaines et/ou relations d’approbation, on parlera alors de méthode AUGDLP. Je vous laisse réfléchir à quoi peut bien correspondre le U… laugh

Petite précision tout de même : la méthode AGDLP a un intérêt réel pour un partage accessible par plusieurs utilisateurs, comme un partage dédié à tout un service par exemple. Pour un partage personnel, accessible uniquement à 1 utilisateur, ça n’a aucun intérêt et cela ferrai même perdre du temps donc méthode à privilégier quand c’est utile uniquement et pas pour faire du zèle. acute

Voilà qui met fin à cet article sur AGDLP ! Fini les excuses bidons de serveurs de fichiers gérés comme des pieds  bb


La méthode AGDLP : L’art de gérer ses permissions selon Microsoft

Articles pouvant vous intéresser