Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
Récupération d'objets Active Directory en utilisant la Corbeille

Récupération d'objets Active Directory en utilisant la Corbeille

Nov 30, 2021

La Corbeille de l'Active Directory permet aux utilisateurs de récupérer des objets Active Directory supprimés sans avoir à les restaurer à partir d'une sauvegarde, redémarrer les Active Directory Domain Services ou redémarrer les contrôleurs de domaine (DCs).

Explorons précisément comment la récupération d'objets fonctionne avec la Corbeille et discutons ensuite de ses limitations.

Récupération d'objets Active Directory avec la corbeille AD

Si la corbeille AD est activée, lorsqu'un objet est supprimé, la majorité de ses attributs sont préservés pendant une période afin de faciliter la restauration de l'objet si nécessaire. Pendant cette période, l'objet est dans l'état de l'objet deleted object . (Cette période est définie dans l'attribut msDS-DeletedObjectLifetime. Par défaut, sa valeur est celle de l'attribut tombstoneLifetime. Si la valeur de l'attribut msDS-deletedObjectLifetime est nulle ou que l'attribut n'existe tout simplement pas, sa valeur est interprétée comme étant celle de l'attribut tombstoneLifetime. Si aucune valeur tombstoneLifetime n'existe également, les deux valeurs par défaut sont de 60 jours.)

Une fois que le temps d'un objet dans un état d'objet supprimé est écoulé, l'objet devient un recycled object. Un recycled object ressemble étrangement à une tombstone avec un attribut isRecycled ajouté et défini sur TRUE. Comme une tombstone, la majorité de ses attributs sont supprimés et il persiste dans Active Directory pour la période spécifiée par l'attribut tombstoneLifetime. Ensuite, il est nettoyé par la collecte des ordures d'Active Directory.

Le cycle de vie d'un objet supprimé avec la Corbeille activée ressemble à ceci :

Image

Comment un objet change lorsqu'il entre dans la Corbeille

Bien que la Corbeille préserve plus d'attributs d'objet qu'une pierre tombale, un objet restauré n'est pas identique à l'objet original. Voyons comment. Voici un compte utilisateur que je prévois de supprimer :

Image

Voici l'objet dans l'état d'objet supprimé dans la Corbeille :

Image

Bien que la majorité des attributs de l'objet soient conservés, il existe quelques différences importantes :

  • L'objet a été déplacé.L'objet a été déplacé dans le conteneur Objets supprimés de la partition.
  • L'objet a été renommé.Le nom de l'objet a été mis à jour en utilisant le Common-Name DEL:Object-Guid.
  • L'objet possède de nouveaux attributs. L'attribut isDeleted a une valeur de TRUE et l'attribut lastKnownParent est renseigné. Un nouvel attribut, msDS-LastKnownRDN, est renseigné avec le dernier nom distinctif relatif connu de l'objet (cet attribut permet à la Corbeille de réinitialiser correctement le RDN d'un objet lors de sa restauration, même si le renommage de l'objet a entraîné la troncature du RDN original).
  • Deux attributs ont été supprimés. Les deux attributs objectCategory et sAMAccountType sont toujours retirés d’un objet lorsqu’il est supprimé. Si l’objet est restauré, la valeur de objectCategory est automatiquement définie sur la valeur la plus spécifique contenue dans l’attribut objectClass, et la valeur de sAMAccountType est calculée à partir de la valeur de l’attribut userAccountControl (pour les objets utilisateur) ou groupType (pour les objets groupe)..

Les lecteurs attentifs pourraient également remarquer que les attributs manager et memberOf manquent également dans ma capture d'écran. Ils sont en fait juste cachés. Ces deux attributs sont des link-valued (c'est-à-dire, ils contiennent des références à d'autres objets) et l'outil que j'ai utilisé (LDP) ne retourne pas les liens désactivés à moins que le contrôle astucieusement nommé Return Deactivated Links ne soit défini. Si j'avais activé ce contrôle, alors les attributs et leurs valeurs auraient été visibles dans ma capture d'écran, mais j'aurais manqué ce moment d'enseignement.

Comment récupérer un objet de la corbeille AD

Avant Windows Server 2012, pour restaurer un objet de la Corbeille AD, il fallait utiliser un outil LDAP ou PowerShell pour lister tous les objets supprimés, passer en revue une longue liste pour trouver l'objet désiré, et utiliser une autre commande PowerShell pour le restaurer. C'était une bonne chose que la Corbeille AD soit si utile car ce n'était pas vraiment amusant à utiliser !

Désormais, la fonctionnalité de la Corbeille est disponible dans le Centre d'administration Active Directory :

Image

Comme vous pouvez le voir, vous pouvez rapidement trouver l'objet supprimé qui vous intéresse en utilisant les filtres de recherche.

Pour restaurer un objet, cliquez simplement sur Restaurer dans la liste des tâches sur le côté droit de la fenêtre. Voici à quoi ressemble l'objet restauré :

Image

Inconvénients de la corbeille Active Directory

Bien que la Corbeille simplifie considérablement la récupération d'objets, nous avons constaté quelques limitations : les objets ne sont conservés que pendant une période relativement courte et certains de leurs attributs sont perdus. Il y a également quelques inconvénients supplémentaires à la Corbeille :

  • L'activation de la Corbeille Active Directory implique un changement de schéma. Par conséquent, une fois que vous avez activé la Corbeille, vous ne pouvez pas la désactiver sans une récupération complète de la forêt.
  • Active Directory va devenir un peu plus grand. Après avoir activé la corbeille AD, les objets supprimés conserveront beaucoup plus de leurs attributs et persisteront plus longtemps que les tombstones. En conséquence, Active Directory utilisera probablement un peu plus d'espace qu'auparavant.
  • L'activation de la Corbeille supprime tous les marqueurs de suppression. La conséquence la plus significative de l'activation de la Corbeille est que tous les objets marqueurs de suppression dans la forêt cesseront immédiatement d'exister. De nombreux administrateurs ont appris cette conséquence de manière difficile.

Cependant, ces problèmes ne l'emportent pas sur les avantages de l'activation de la Corbeille AD.

Récupération d'objets Active Directory sans la corbeille AD

Pour illustrer l'intérêt d'activer la corbeille AD, examinons ce qui est impliqué dans la récupération d'un objet AD lorsque la corbeille AD n'est pas activée.

Dans un domaine sans la corbeille AD activée, lorsqu'un objet Active Directory est supprimé, il devient une tombstone. Cet objet, dépourvu de la majorité de ses attributs, est conservé dans le conteneur Objets supprimés de la partition pour la période spécifiée dans la tombstoneLifetime du domaine. Pendant cette période, l'objet est techniquement récupérable, mais ses attributs perdus peuvent généralement être considérés comme irrécupérables. Une fois la valeur tombstoneLifetime atteinte, l'objet est collecté comme déchet jusqu'à non-existence. Ce cycle de vie est illustré ci-dessous :

Image

Voyons comment nous pouvons réanimer cette pierre tombale en utilisant la fonctionnalité Modifier de l'utilitaire LDP :

Image
  1. Cliquez avec le bouton droit sur la tombstone et sélectionnez l'option Modify.
  2. Dans la section Edit Entry, saisissez la valeur « isDeleted » dans le champ Attribute, sélectionnez le bouton radio Delete sous Operation, et cliquez sur le bouton Enter pour ajouter l'entrée à la liste des entrées.
  3. Dans la section Edit Entry, saisissez la valeur « distinguishedName » dans le champ Attribute, entrez le nom distinctif de l'objet avant sa suppression dans le champ Values, sélectionnez le bouton radio Replace sous Operation, et cliquez sur le bouton Enter pour ajouter l'entrée à la liste des entrées.
    Vous souvenez-vous lorsque j'ai mentionné que l'attribut lastKnownParent pourrait s'avérer utile ? Eh bien, si vous ne savez pas quel était le dn de l'objet avant sa suppression, vous pouvez essayer cette astuce : Prenez le dn actuel et remplacez le caractère terminé par NULL (« A ») et tout ce qui se trouve à sa droite par la valeur actuelle de l'attribut lastKnownParent.
  4. Sélectionnez l'option Extended en bas à gauche du panneau.
  5. Cliquez sur le bouton Run.

Ensuite, nous pouvons retrouver l'objet réanimé et voir à quoi il ressemble :

Image

Comme vous pouvez le voir, nous avons techniquement récupéré l'objet utilisateur supprimé. Cependant, il manque la plupart des informations qu'il possédait avant sa suppression.

En théorie, vous pouvez contourner ce problème en prenant régulièrement des instantanés VSS d'Active Directory. Ensuite, si vous devez récupérer un objet supprimé, vous pouvez « simplement » trouver une sauvegarde effectuée avant la suppression de l'objet, monter l'instantané à l'aide de NTDSUTIL, vous connecter à l'instantané monté en utilisant un utilitaire LDAP, localiser l'objet, l'exporter vers… laissez tomber.

Mais attendez, cela empire.

Le conteneur Objets supprimés n'est pas éternel. La propriété bien nommée tombstoneLifetime sur l'objet CN=Directory Service,CN=Windows NT,CN-Services,CN=Configuration,ForestDistinguishedName définit le nombre de jours avant qu'un objet supprimé soit définitivement retiré d'Active Directory.

La valeur de tombstoneLifetime est basée sur la version de Windows Server qui a été impliquée dans la création de la forêt du domaine. Elle est définie par défaut à 180 jours (le paramètre recommandé actuellement par Microsoft) dans les forêts créées avec une version de Windows Server plus récente que 2003. Les implémentations plus anciennes sont par défaut à 60 jours. Le comportement de la propriété tombstoneLifetime mérite vraiment d'être pris en compte et est plutôt intéressant. Si la valeur existe, la durée de vie d'un tombstone est la valeur spécifiée. À moins que la valeur ne soit inférieure à 2 ; dans ce cas, la durée de vie d'un tombstone revient par défaut à 60 jours (de Windows 2000 Server à Windows Server 2008) ou à 2 jours (Windows Server 2008 R2 ou ultérieur). Si aucune valeur n'est spécifiée, la valeur est de 60 jours.

Si vous êtes curieux de connaître la valeur de tombstoneLifetime dans votre environnement, ce script PowerShell la retournera pour vous (il nécessite les outils AD DS et AD LDS) :

      (Get-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,$((Get-ADRootDSE).configurationNamingContext)" -Properties *).tombstoneLifetime
      

Une fois qu'un objet a passé un tombstoneLifetime dans le conteneur Objets supprimés, il est logiquement supprimé par la collecte des ordures d'Active Directory. À ce moment-là, il est parti et il ne reviendra jamais.

Comment Netwrix peut aider

La corbeille AD est un outil utile pour récupérer les objets récemment supprimés. Pour une solution plus complète, envisagez Netwrix Recovery for Active Directory. Cela vous permet de restaurer des objets sauvegardés qui ont dépassé la durée de vie mdDS-DeletedObjectLifetime de leur forêt et qui, par conséquent, ne sont plus récupérables à l'aide de la corbeille AD

Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Kevin Joyce

Directeur de Product Management

Directeur de Product Management chez Netwrix. Kevin a une passion pour la cybersécurité, en particulier pour comprendre les tactiques et techniques utilisées par les attaquants pour exploiter les environnements des organisations. Avec huit ans d'expérience en gestion de produit, se concentrant sur la sécurité d'Active Directory et de Windows, il a utilisé cette passion pour aider à développer des solutions permettant aux organisations de protéger leurs identités, infrastructures et données.