Wiederherstellung von Active Directory-Objekten mithilfe des Papierkorbs
Nov 30, 2021
Der Active Directory-Papierkorb ermöglicht es Benutzern, gelöschte Active Directory-Objekte wiederherzustellen, ohne sie aus einem Backup wiederherstellen, Active Directory Domain Services neu starten oder Domänencontroller (DCs) neu booten zu müssen.
Lassen Sie uns genau erkunden, wie die Objektwiederherstellung mit dem Papierkorb funktioniert und dann dessen Einschränkungen besprechen.
Ausgewählte verwandte Inhalte:
Wiederherstellung von Active Directory-Objekten mit dem AD-Papierkorb
Wenn der AD-Papierkorb aktiviert ist, bleiben die meisten Attribute eines gelöschten Objekts für einen bestimmten Zeitraum erhalten, um die Wiederherstellung des Objekts bei Bedarf zu erleichtern. Während dieses Zeitraums befindet sich das Objekt im Zustand des deleted object. (Dieser Zeitraum wird durch das Attribut msDS-DeletedObjectLifetime definiert. Standardmäßig ist sein Wert der Wert des tombstoneLifetime-Attributs. Wenn der Wert des msDS-deletedObjectLifetime-Attributs null ist oder das Attribut einfach nicht existiert, wird sein Wert als der Wert des tombstoneLifetime-Attributs interpretiert. Wenn es auch keinen tombstoneLifetime-Wert gibt, werden beide Werte standardmäßig auf 60 Tage gesetzt.)
Ausgewählte verwandte Inhalte:
Sobald die Zeit eines Objekts im Zustand eines gelöschten Objekts abgelaufen ist, wird das Objekt zu einem recycled object. Ein recycled object sieht verdächtig nach einem Tombstone aus, dem lediglich das Attribut isRecycled hinzugefügt und auf TRUE gesetzt wurde. Wie ein Tombstone werden die meisten seiner Attribute entfernt und es bleibt für den durch das Attribut tombstoneLifetime spezifizierten Zeitraum in Active Directory bestehen. Danach wird es von der Müllsammlung von Active Directory bereinigt.
Der Lebenszyklus eines mit dem Papierkorb aktivierten gelöschten Objekts sieht folgendermaßen aus:
Wie sich ein Objekt verändert, wenn es in den Papierkorb verschoben wird
Obwohl der Papierkorb mehr Objektattribute als ein Grabstein bewahrt, ist ein wiederhergestelltes Objekt nicht identisch mit dem Originalobjekt. Lassen Sie uns sehen, wie. Hier ist ein Benutzerkonto, das ich zu löschen plane:
Hier ist das Objekt im Zustand des gelöschten Objekts im Papierkorb:
Obwohl die meisten Attribute des Objekts beibehalten werden, gibt es einige wichtige Unterschiede:
- Das Objekt wurde verschoben.Das Objekt wurde in den Container 'Gelöschte Objekte' der Partition verschoben.
- Das Objekt wurde umbenannt.Der Name des Objekts wurde mit dem Common-Name DEL:Object-Guid aktualisiert.
- Das Objekt besitzt einige neue Attribute. Das isDeleted Attribut hat den Wert TRUE und das lastKnownParent Attribut ist belegt. Ein neues Attribut, msDS-LastKnownRDN, ist mit dem letzten bekannten relativen Distinguished Name des Objekts belegt (dieses Attribut ermöglicht es dem Papierkorb, den RDN eines Objekts während seiner Wiederherstellung richtig zurückzusetzen, selbst wenn die Umbenennung des Objekts zur Kürzung des ursprünglichen RDN geführt hat).
- Zwei Attribute wurden entfernt. Die beiden Attribute objectCategory und sAMAccountType werden immer aus einem Objekt entfernt, wenn es gelöscht wird. Wird das Objekt wiederhergestellt, wird der Wert von objectCategory automatisch auf den spezifischsten Wert im Attribut objectClass des Objekts gesetzt, und der Wert von sAMAccountType wird aus dem Wert des Attributs userAccountControl (bei Benutzerobjekten) oder groupType (bei Gruppenobjekten) berechnet.
Aufmerksame Leser könnten auch bemerken, dass die Attribute „manager“ und „memberOf“ in meinem Screenshot fehlen. Sie verstecken sich eigentlich nur. Beide Attribute sind link-valued (d.h., sie enthalten Verweise auf andere Objekte) und das von mir verwendete Tool (LDP) gibt deaktivierte Verknüpfungen nicht zurück, es sei denn, die sinnigerweise Return Deactivated Links genannte Steuerung wurde gesetzt. Hätte ich diese Steuerung aktiviert, wären die Attribute und ihre Werte in meinem Screenshot sichtbar gewesen, aber ich hätte diese lehrreiche Gelegenheit verpasst.
Wie man ein Objekt aus dem AD-Papierkorb wiederherstellt
Vor Windows Server 2012 erforderte das Wiederherstellen eines Objekts aus dem AD Recycle Bin die Verwendung eines LDAP-Tools oder PowerShell, um alle gelöschten Objekte aufzulisten, aus einer langen Liste das gewünschte Objekt herauszufiltern und ein weiteres PowerShell-Kommando zur Wiederherstellung zu nutzen. Es war gut, dass der AD Recycle Bin so nützlich war, denn Spaß machte die Benutzung wirklich nicht!
Jetzt ist die Recycle Bin-Funktionalität im Active Directory Administrative Center verfügbar:
Wie Sie sehen können, können Sie das gelöschte Objekt, für das Sie sich interessieren, schnell finden, indem Sie die Suchfilter verwenden.
Um ein Objekt wiederherzustellen, klicken Sie einfach auf Restore in der Aufgabenliste auf der rechten Seite des Fensters. So sieht das wiederhergestellte Objekt aus:
Nachteile des Active Directory Recycle Bin
Obwohl der Papierkorb die Objektwiederherstellung erheblich vereinfacht, haben wir einige Einschränkungen festgestellt: Objekte werden nur für einen relativ kurzen Zeitraum aufbewahrt und einige ihrer Attribute gehen verloren. Es gibt noch ein paar weitere Nachteile beim Papierkorb:
- Das Aktivieren des Active Directory Papierkorbs beinhaltet eine Schemaänderung. Daher können Sie, nachdem Sie den Papierkorb aktiviert haben, diesen nicht ohne eine vollständige Wiederherstellung des Gesamtverzeichnisses deaktivieren.
- Active Directory wird etwas größer sein. Nach der Aktivierung des AD-Papierkorbs werden gelöschte Objekte weitaus mehr ihrer Attribute behalten und länger als Tombstones bestehen bleiben. Infolgedessen wird Active Directory wahrscheinlich etwas mehr Speicherplatz verwenden als zuvor.
- Das Aktivieren des Papierkorbs löscht alle Tombstone-Objekte. Die folgenreichste Auswirkung der Aktivierung des Papierkorbs ist, dass alle Tombstone-Objekte im Wald sofort nicht mehr existieren. Viele Administratoren haben auf die harte Weise von dieser Konsequenz erfahren.
Allerdings überwiegen diese Probleme nicht die Vorteile der Aktivierung des AD Recycle Bin.
Wiederherstellung von Active Directory-Objekten ohne den AD-Papierkorb
Um den Wert der Aktivierung des AD Recycle Bin zu veranschaulichen, betrachten wir, was bei der Wiederherstellung eines AD-Objekts ohne aktivierten AD Recycle Bin erforderlich ist.
In einem Domänenkontext ohne aktivierten AD Recycle Bin, wenn ein Active Directory-Objekt gelöscht wird, wird es zu einem tombstone. Dieses Objekt, dem die Mehrheit seiner Attribute entzogen wurde, wird im Container für gelöschte Objekte der Partition für den Zeitraum aufbewahrt, der in der tombstoneLifetime der Domäne angegeben ist. Während dieses Zeitraums ist das Objekt technisch wiederherstellbar, aber seine verlorenen Attribute können im Allgemeinen als unwiederbringlich verloren betrachtet werden. Sobald der Wert der tombstoneLifetime erreicht ist, wird das Objekt in die Nichtexistenz komprimiert. Dieser Lebenszyklus wird unten illustriert:
Lassen Sie uns sehen, wie wir diesen Grabstein mit der Modify-Funktion des LDP-Tools wiederbeleben können:
- Klicken Sie mit der rechten Maustaste auf das Tombstone und wählen Sie die Option Ändern.
- Im Abschnitt „Edit Entry“ geben Sie den Wert „isDeleted“ in das Feld „Attribute“ ein, wählen Sie die Option „Delete“ unter Operation aus und klicken Sie auf die Schaltfläche „Enter“, um den Eintrag zur Eintragsliste hinzuzufügen.
- Im Abschnitt „Edit Entry“ geben Sie den Wert „distinguishedName“ in das Feld „Attribute“ ein, geben Sie den Distinguished Name des Objekts vor dessen Löschung im Feld „Values“ ein, wählen Sie die Option „Replace“ unter „Operation“ und klicken Sie auf die Schaltfläche „Enter“, um den Eintrag zur Entry List hinzuzufügen.
Erinnern Sie sich, als ich erwähnte, dass das Attribut lastKnownParent sich als nützlich erweisen könnte? Nun, wenn Sie nicht wissen, was die DN des Objekts vor seiner Löschung war, können Sie diesen Trick versuchen: Nehmen Sie die aktuelle DN und ersetzen Sie das NULL-terminierte Zeichen („A“) und alles rechts davon mit dem aktuellen Wert des Attributs lastKnownParent. - Wählen Sie unten links im Panel die Option Extended.
- Klicken Sie auf die Schaltfläche Run.
Dann können wir das reanimierte Objekt wiederfinden und sehen, wie es aussieht:
Wie Sie sehen können, haben wir das gelöschte Benutzerobjekt technisch wiederhergestellt. Es fehlen jedoch die meisten Informationen, die es vor seiner Löschung hatte.
Sie können (theoretisch) dieses Problem umgehen, indem Sie regelmäßige VSS-Snapshots von Active Directory erstellen. Wenn Sie dann ein gelöschtes Objekt wiederherstellen müssen, können Sie „einfach“ ein Backup finden, das vor der Löschung des Objekts erstellt wurde, den Snapshot mit NTDSUTIL einbinden, mit einem LDAP-Utility eine Verbindung zum eingebundenen Snapshot herstellen, das Objekt lokalisieren, es exportieren zu… vergessen Sie es.
Aber warte, es wird noch schlimmer.
Der Container für gelöschte Objekte ist keine dauerhafte Einrichtung. Die treffend benannte Eigenschaft tombstoneLifetime am Objekt CN=Directory Service,CN=Windows NT,CN-Services,CN=Configuration,ForestDistinguishedName definiert die Anzahl der Tage, bevor ein gelöschtes Objekt endgültig aus dem Active Directory entfernt wird.
Der Wert von tombstoneLifetime basiert auf der Version von Windows Server, die bei der Erstellung des Forests der Domäne beteiligt war. Standardmäßig ist er in mit einer neueren Version als 2003 erstellten Forests auf 180 Tage (die aktuelle empfohlene Einstellung von Microsoft) gesetzt. Ältere Implementierungen gehen von 60 Tagen aus. Das Verhalten der Eigenschaft tombstoneLifetime ist tatsächlich beachtenswert und ziemlich cool. Existiert der Wert, ist die Tombstone-Lebensdauer der angegebene Wert. Es sei denn, der Wert ist kleiner als 2; dann ist die Tombstone-Lebensdauer standardmäßig 60 Tage (Windows 2000 Server bis Windows Server 2008) oder 2 Tage (Windows Server 2008 R2 oder später). Ist kein Wert angegeben, beträgt der Wert 60 Tage.
Wenn Sie neugierig auf den Wert von tombstoneLifetime in Ihrer Umgebung sind, wird dieses PowerShell-Skript ihn für Sie zurückgeben (es erfordert AD DS und AD LDS Tools):
(Get-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,$((Get-ADRootDSE).configurationNamingContext)" -Properties *).tombstoneLifetime
Sobald ein Objekt eine tombstoneLifetime im Container für gelöschte Objekte verbracht hat, wird es von der Active Directory-Garbage Collection logisch gelöscht. Zu diesem Zeitpunkt ist es weg und kommt nie wieder zurück.
Wie Netwrix helfen kann
Der AD-Papierkorb ist ein nützliches Werkzeug, um kürzlich gelöschte Objekte wiederherzustellen. Für eine umfassendere Lösung sollten Sie Netwrix Recovery for Active Directory in Betracht ziehen. Damit können Sie gesicherte Objekte wiederherstellen, die ihre im Wald festgelegte mdDS-DeletedObjectLifetime überschritten haben und daher nicht mehr mit dem AD-Papierkorb wiederherstellbar sind.
Teilen auf
Erfahren Sie mehr
Über den Autor
Kevin Joyce
Direktor für Product Management
Director of Product Management bei Netwrix. Kevin hat eine Leidenschaft für Cybersicherheit, insbesondere das Verständnis der Taktiken und Techniken, die Angreifer nutzen, um Umgebungen von Organisationen auszunutzen. Mit acht Jahren Erfahrung im Produktmanagement, mit Schwerpunkt auf Active Directory und Windows-Sicherheit, hat er diese Leidenschaft genutzt, um Lösungen für Organisationen zu entwickeln, die ihre Identitäten, Infrastruktur und Daten schützen helfen.
Erfahren Sie mehr zu diesem Thema
Erstellen Sie AD-Benutzer in Massen und senden Sie deren Anmeldeinformationen per E-Mail mit PowerShell
Wie man Passwörter mit PowerShell erstellt, ändert und testet
So fügen Sie AD-Gruppen hinzu und entfernen Objekte in Gruppen mit PowerShell
Active Directory-Attribute: Letzte Anmeldung
Vertrauensstellungen in Active Directory