Les comptes de service (MSA) sous Windows Server 2008 R2

Envoyer Imprimer PDF

Sommaire

 

 

Introduction

La notion de compte de service est une notion largement répandue mais, jusqu’à présent, elle n’était pas accompagnée d’une réelle solution technique au sein d’Active Directory. La seule solution était de créer un compte utilisateur standard et de le dédier à une tâche spécifique.

Ce manquement est désormais en partie comblé avec l’introduction des comptes de service administrés, « Managed Service Accounts » en anglais, sous Windows Server 2008 R2.

 

 

Qu’est-ce qu’un compte de service et ses contraintes au sein d’Active Directory ?

Un compte de service est tout simplement un compte utilisateur, souvent doté de privilèges spécifiques et dédié à l’exécution d’une tâche ou d’un service. Le compte de service est de ce fait dissocier de tout compte nominatif.

Dans un environnement Microsoft Windows, c’est-à-dire sur une machine spécifique doté d’un système d’exploitation Windows, nous avons déjà des comptes de services pour cela. Il s’agit, entre autres, des comptes « SERVICE LOCAL » (Local Service), « SERVICE SYSTEME » (Local System) et « SERVICE RESEAU » (Network Service).

Par contre, et comme nous le disions en introduction, un compte de service dans Active Directory ne s’appuie sur aucune spécificité technique particulière. En général, ce qui différencie un compte de service d’un compte utilisateur standard  sous Active Directory est avant tout un ensemble de règles d’administration interne permettant de les gérer spécifiquement d’un compte nominatif. Dans ces règles nous pourrons y trouver la convention de nommage, l’interdiction d’ouvrir une session interactive et/ou le droit de pouvoir ouvrir une session en tant que tâche … Mais en réalité, la plus grande contrainte est la gestion des mots de passe qui doivent être créés, stockés et gérés de manière sécurisée.

Effectivement, cela pose de nombreux problèmes de sécurité. Car combien d’entre vous dispose d’un compte de service au sein de son domaine Active Directory avec de hauts privilèges et dont le mot de passe n’a pas été renouvelé depuis des années ? Ou combien de personnes connaissent le mot de passe d’un compte de service alors qu’ils ne font sans doute plus parti de l’entreprise ?

 

 

Les comptes de services administrés à notre rescousse !

A la manière d’un compte de service Windows, avec les « MSA » vous n’aurez plus à vous préoccuper de cette gestion de mots de passe. Elle est désormais réalisée de manière automatique !

La gestion automatique des mots de passe n’est pas vraiment une nouveauté dans Active Directory. Dès sa première version, les comptes ordinateurs étaient gérés de la sorte. Effectivement, vous ne le savez peut-être pas, mais un compte ordinateur au sein d’Active Directory dispose d’un mot de passe qui est régénéré automatiquement tous les 30 jours.

MSA est donc un nouveau type d’objet introduit avec Windows Server 2008 R2, apparenté à un objet ordinateur mais issu d’une nouvelle classe de schéma appelée « msDS-ManagedServiceAccount ». Chaque MSA est stocké par défaut dans le conteneur « CN=Managed Service Accounts,DC=<MONDOMAINE>, DC=<MONTLD> ».

Vous pouvez visualiser le conteneur depuis la console « Utilisateurs et ordinateurs Active Directory » en activant le mode « Fonctionnalités avancées ».

 

 

 

 

 

 

 

 

Prérequis à l’utilisation des MSA

Ils sont utilisables uniquement sur des machines équipées à minima d’un système d’exploitation Windows 7 ou Windows Server 2008 R2 intégrées à un domaine ayant une version de schéma Active Directory égale ou supérieure à Windows 2008 R2. Cela signifie que vous pouvez très bien utiliser les MSA sur un environnement AD constitué uniquement de contrôleurs de domaine Windows Server 2003. Par contre, il faudra impérativement que vous ayez réalisé l’extension de votre schéma AD vers Windows Server 2008 R2.

L’autre contrainte est de pouvoir prendre en charge les cmdlets PowerShell nécessaire à la création des comptes MSA. Cela nécessite la fonctionnalité « Services Web Active Directory » sur au moins un contrôleur de domaine (pour plus d'information, vous pouvez consulter l'article « Le service web Active Directory (ADWS) » ) et les cmdlets du module PowerShell ActiveDirectory côté client (disponibles sous Windows 7 ou Windows Server 2008 R2).

L’utilisation des MSA dans un domaine avec un niveau fonctionnel Windows Server 2008 R2 apportera toutefois la possibilité supplémentaire de modifier automatiquement les SPN (Service Principale Name) dès lors que :

  • La propriété « sAMAcountName » de l'ordinateur est ajoutée/modifiée.
  • La propriété « dns-Host-Name » est ajoutée/modifié pour l'ordinateur.


Remarque: La prise en charge de la modification automatique des SPN nécessite que le MSA ait été créé postérieurement à la montée du niveau fonctionnel. Les MSA ayant été créés avant ne mettront pas à jour automatiquement leurs SPNs.

 

 

 

Les limites d’utilisation des MSA

La plus importante limitation est qu’un MSA soit lié à une seule machine et qu’il ne puisse donc pas être partagé entre plusieurs machines. Pour contourner cette limitation, Il faudra s’orienter vers les gMSA qui sont les MSA 2.0 introduits avec Windows Server 2012 (http://technet.microsoft.com/en-us/library/hh831782.aspx).

Autre limitation importante est le nombre d’applications prenant en charge les MSA. Il est encore assez restreint. Par exemple, du côté de Microsoft, sauf quelques produits les supportent (IIS, MS Exchange, AD LDS…). Même le planificateur de tâches ne les supporte pas (pour plus de détail voir le lien suivant : http://technet.microsoft.com/en-us/library/ff641729(v=ws.10).aspx#BKMK_Supported_technologies).

Enfin et même si vous pouvez utiliser un MSA pour n’importe quel service Windows, il faudra s’assurer que la fonctionnalité s’appuyant sur ce service supporte les MSA (ce qui n’est pas forcément évident…).

 

 

Exemple de création d’un MSA

Pour découvrir comment créer et configure un MSA, je vous engage à consulter l'article « Exemple de création d’un MSA (Managed Service Account) ».

 


Exemple d’utilisation d’un MSA

Pour avoir un exemple concret d'utilisation d'un MSA, vous pouvez consulter l'article « Attribuer un compte MSA (Managed Service Account) à un service Windows ».

 


Un outil dédié avec interface graphique

Quand j’ai vu qu’il fallait passer obligatoirement par du PowerShell pour la création et la gestion des MSA, j’ai envisagé la possibilité de créer un petit outil avec interface graphique. Mais durant mes investigations sur le sujet, j’ai constaté que quelqu’un m’a devancé sur le sujet et propose déjà un outil pour la gestion des MSA. L’outil s’appelle tout simplement « Managed Service Accounts GUI » et il est téléchargeable depuis le lien suivant : http://www.cjwdev.co.uk/Software/MSAGUI/Download.html.

 

 

 

 

 

 

 

 

Cerise sur le gâteau, l’outil prend en charge les Group Managed Service Accounts que nous vous présenterons dans un prochain article.

 

 

Mise à jour le Vendredi, 06 Septembre 2013 07:58