Snapshots AD: Exploiter les clichés instantanés Active Directory

Envoyer

Sommaire

 

Introduction

Créer et gérer vos clichés instantanés de votre base Active Directory n'est que l'étape préalable à leur exploitation que nous allons donc découvrir ensemble. Nous allons surtout vous présenter les différentes possibilités que nous apporte l'outil DSCT couplé à dsamain. Vous devriez être rapidement conquis par cette nouvelle fonctionnalité à la lecture de cet article.

 

Monter vos clichés à l’aide de dsamain

Apparu sous Windows Server 2008, dsamain est l’outil qui va permettre d'exposer les données Active Directory stocké depuis un cliché instantané ou une sauvegarde sous la forme d'un service LDAP afin de l'exploiter à l'aide de différents outils tel que la console « Utilisateur et ordinateur Active Directory ».

Si vous voulez donc explorer un cliché instantané Active Directory, il faudra au préalable créer et monter le cliché instantané à l’aide de ntdsutil  tel que nous l'avons vu dans notre article Snapshot AD: Gérer les clichés instantanés Active Directory.

 

 

 

 

 

Une fois le cliché monté sous ntdsutil, nous allons exposer la base Active Directory à disposition à l’aide de dsamain. Pour se faire, il suffit de récupérer le chemin de la base ntds.dit en lançant  la commande « dsamain /dbpath {chemin de ntds.dit} /ldapport {port TCP} ». L'option DBPATH permet d'indiquer le chemin de notre fichier ntds.dit (le fichier par défaut de la base Active Directory) et LDAPPORT permet d'indiquer un port TCP spécifique pour pouvoir ensuite s'y connecter. Dans l'exemple ci-dessous, la commande est « dsamain -dbpath C:\$SNAP_201106202257_VOLUMEC$\WINDOWS\NTDS\ntds.dit -ldapport 51389 ».

 

 

 

 

 

 

Il peut arriver que vous rencontriez des problèmes lorsque vous essayer d’utiliser dsamain et plus particulièrement l’erreur « 10013 Une tentative d’accès à un socket de manière interdite par ses autorisations d’accès a été tentée ». L'errreur est causée, semble-t-il, par un problème d’allocation de ports et plus particulièrement lorsque vous tenter  d’utiliser l’outil sur un serveur faisant office de serveur DNS. Un simple redémarrage du service « Serveur DNS » devrait y remédier.

 

 

 

 

 

 

 

 

Explorer les clichés avec ADUC

Maintenant que notre base Active Directory est montée, nous allons donc l’explorer et pour cela nous allons simplement utiliser l’outil « Utilisateurs et ordinateurs Active Directory ». L’outil sera particulièrement utile lorsque vous aurez une idée claire sur le type d’information que vous recherchez comme un objet supprimé ou modifié. A partir de la console ADUC (Active Directory Users and Computers), faites un clic droit sur la racine et choisissez l’option « Changer de contrôleur de domaine ».

 

 

 

 

 

 

Sélectionner l’option « Ce contrôleur de domaine ou cette instance AD LDS » et indiquez l’adresse de votre serveur suivi du port. Dans notre exemple, nous choisissons « LOCALHOST:51389 » sachant que la base est montée avec dsamain sur la même machine.

 

 

 

 

 

 

 

Nous pouvons désormais naviguer dans la base montée depuis notre cliché instantané. Ci-dessous, nous voyons un exemple de comparaison entre une base montée depuis un cliché et la base de production. On pourra rapidement savoir à quel moment un compte a été créé et quel jeu de sauvegarde nous pourrons utiliser pour le restaurer par exemple et sans forcément passer par de multiples restaurations.

 

 

 

 

 

 

 

 

Une fois que l’objectif a été atteint avec dsamain et ntdsutil, pensez à fermer dsamain à l’aide de la combinaison CTRL+C et de démonter le ou les clichés instantanés à l’aide de la commande « unmount » depuis ntdsutil.

 

 

 

 

 

 

 

Présentation de l'outil DSCT

Nous avons vu que nous pouvions exploiter assez facilement notre cliché instantané à l’aide de la console ADUC cependant l’outil ne permet pas différencier efficacement les deux versions de notre base Active Directory n’y de pouvoir réaliser d’actions hormis la visualisation. Il existe cependant un outil nettement plus complet pour visualiser clairement les modifications entre le cliché instantané et la base Active Directory et surtout de pouvoir restaurer des attributs ou objets! L’outil est Directory Service Comparison Tool développé par Fredrik Lindström et est disponible ici. L’outil vous offrira, entre autres, les fonctionnalités suivantes :

  • Visualiser efficacement les différences entre les objets du cliché instantané et de la base Active Directory
  • Restaurer les attributs d’objets
  • Réanimer des objets supprimés
  • Restaurer l’appartenance d'un objet à des groupes ou les membres d'un groupe

L’outil propose également une prise en charge des journaux d’évènements relatifs aux audits Active Directory que nous ne verrons pas dans le cadre de cet article. Cette fonctionnalité permet simplement de lier une action à un évènement à condition d’avoir activer les fonctions d’audit Active Directory. Fredik Lindström présente cette fonctionnalité de manière graphique ici.

 

 

Explorer les clichés avec DSCT

Une fois DSCT téléchargé et installé, nous allons devoir passer par une MMC car l'outil n’est autre qu’un composant logiciel enfichable. Lancez donc « mmc » depuis « Démarrer » | « Exécuter » pour ensuite choisir depuis la MMC « Ajouter/Supprimer un composant logiciel enfichable… » depuis le « Fichier » dans la barre d’outils.

 

 

 

 

 

 

 

Dans la liste des composants logiciels enfichables disponibles, vous devriez donc trouver Directory Service Comparison Tool que vous allez ajouter dans votre console.

 

 

 

 

 

 

 

Le logiciel enfichable désormais disponible au sein de la console MMC, nous allons donc commencer par nous connecter conjointement à notre base Active Directory et à notre cliché instantané. Il faudra bien entendu et au préalable avoir monté le cliché instantané à l’aide de la commande « mount » depuis ntdsutil et d’initialiser la base à l’aide de dsamain.

Réaliser un clic droit sur « Directory Service Comparison Tool » et choisissez « Datasource Settings… ». Indiquez ensuite dans la partie « Directory Service » le nom ou l'IP d’un de vos contrôleur de domaine dans le champ Host et le nom de la partition « Default Naming Context » pour le champ Naming Context. Précisez ensuite pour la partie Snapshot, le nom d’hôte du serveur exécutant votre cliché instantané sans oublier le port relatif au paramètre LDAPPORT spécifié avec dsamain.

 

 

 

 

 

 

 

 

 

L’outil nous propose dans un premier temps et depuis l’onglet « Tree » l’aborescence de notre base Active Directory avec un code couleur permettant intuitivement de repérer les différents objets affectés par une manipulation entre la prise du snapshot et la base Active Directory actuel. Le code couleur étant le suivant :

  • Vert : les objets modifiés
  • Rouge : les objets supprimés
  • Noir : les objets ajoutés
  • Gris : les objets restés en l’état

Quant aux onglets « Modified », « Added » et « Deleted », ils regroupent les informations concernant les différents types de manipulation relatifs aux objets pour plus de clarté.

 

 

 

 

 

 

Nous voyons également dans la partie inférieure un récapitulatif de l’objet sélectionné depuis l’onglet « Attributes » afin de déterminer clairement le ou les attributs concernés par une modification. Cela peut s’avérer particulièrement intéressant lorsqu’un objet a été modifié et que l’on veut savoir sur quel attribut porte cette modification. Un deuxième onglet « Auditing » est disponible qui permet de mettre en relation les actions sur l'objet avec les entrées du journal d’évènements.

 

 

Restaurer un objet avec DSCT

Une des fonctionnalités particulièrement intéressante de DSCT est la possibilité de restaurer un objet dans son état antérieur à la date du cliché instantané. La restauration peut se situer au niveau de l’objet lui-même mais également au niveau d’un attribut. Cela offre un atout supplémentaire par rapport à la corbeille Active Directory proposé depuis Windows 2008 R2 qui est capable de restaurer un objet mais certainement pas un attribut.

Remarque: nous verrons dans la suite de notre article la restauration d'un attribut.

Pour restaurer un objet, il suffit simplement de se placer sur l’objet supprimé (code couleur rouge), et de sélectionner depuis le volet « Actions » placé sur la droite, l’option « Reanimate ». Après une demande de confirmation, notre objet est restauré dans son conteneur d’origine !

 

 

 

 

 

 

Une fois l'objet réanimé, ses appartenances aux groupes ne le sont pas. Il est nécessaire de passer par une étape supplémentaire par le biais de l’option « restore group membership… » depuis le volet « Actions ». Nous obtenons dès lors la liste des groupes anciennement liés à l’objet concerné et qu’il faudra sélectionner pour en restaurer l’appartenance.

 

 

 

 

 

 

Remarque: un objet restauré via DSCT est désactivé par défaut.

 

 

Restaurer un attribut avec DSCT

Restaurer un attribut avec DSCT est une opération simple à réaliser. Il suffit dans un premier temps de se placer sur l'objet qui sera assujetti à une restauration d'un de ses attributs. L'objet doit être détecté au préalable comme modifié par DSCT (code coleur vert). Une fois placé sur l'objet, il faudra cocher depuis l’onglet « Attributes » le ou les attributs à restaurer.

 

 

 

 

 

 

Une fois les attributs sélectionnés, nous allons cliquer  sur « Restore attribute values… » depuis le volet « Actions » placé à droite.

 

 

 

 

 

Après une demande de confirmation, nous obtenons la liste des attributs restaurés.

 

 

 

 

 

 

 

Restaurer un groupe avec DSCT

Lorsqu’un groupe est supprimé et qu’il est réanimé via DSCT, il est possible également d’en restaurer ses membres cependant le processus est un peu plus compliqué. En effet, un groupe réanimé ne dispose plus de ses membres et pour les récupérer il est nécessaire de restaurer l’attribut « member ». Malheureusement, lorsqu’un groupe est réanimé, l’attribut member étant null, il n’apparait pas dans DSCT. Il faut donc au préalable y ajouter un membre quelconque pour ensuite restaurer l’attribut « member ».

Prenons l’exemple du groupe « IT_Support » comprenant deux utilisateurs et que nous supprimons. Une fois l’objet réanimé, le groupe ne contient plus de membre et l’objet au sein de DSCT ne dispose pas de l’attribut « member ».

 

 

 

 

 

 

 

 

Afin de pouvoir restaurer les membres du groupe « IT_Support », nous allons devoir préalablement rajouter un membre, en l’occurrence le compte « Administrateur », pour que nous puissions avoir la possibilité de sélectionner l’attribut « member » du groupe « IT_Support » depuis DSCT et de restaurer cet attribut à l’aide de « Restore attribute values… ». Nous pouvons constater que les membres initiaux du groupe « IT_Support » ont été finalement restauré.

 

 

 

 

 

 

 

 

 

Conclusion

Nous avons donc vu ensemble dans le cadre de cet article comment explorer une base Active Directory depuis un cliché instantané ou une sauvegarde à l'aide de différents outils et en particulier DSCT, produit non estampillé Microsoft mais qui n'a pas d'équivalence entre son ergonomie et ses fonctionnalités.

Les clichés instantanés Active Directory sont encore trop méconnus des administrateurs mais devraient se démocratiser en vu de la réelle plus-value qu'ils apportent... sans les contraintes !

Mise à jour le Mardi, 05 Juillet 2011 17:56