Gelöschte Objekte im replizierten „Active Directory“
Transcription
Gelöschte Objekte im replizierten „Active Directory“
2014 Gelöschte Objekte im replizierten „Active Directory“-Umfeld wiederherstellen ITSAR - LAB 002 SCHMID PATRICK, FLURI MANUEL ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Inhalt Einleitung ................................................................................................................................................................ 2 Aufgabe ............................................................................................................................................................... 2 Ziel ...................................................................................................................................................................... 2 Konfiguration .......................................................................................................................................................... 3 LAB-2k8r2DC01 ................................................................................................................................................... 3 VMware VM Konfiguration............................................................................................................................. 3 Host Konfiguration ......................................................................................................................................... 3 LAB-2k8r2DC02 ................................................................................................................................................... 3 VMware VM Konfiguration............................................................................................................................. 3 Host Konfiguration ......................................................................................................................................... 3 Active Directory .................................................................................................................................................. 4 Active Directory OU & User Struktur für Labor .............................................................................................. 4 Vorbedingungen ...................................................................................................................................................... 5 Variante 1 - AD Papierkorb ..................................................................................................................................... 5 Powershell .......................................................................................................................................................... 6 Objekte anzeigen ............................................................................................................................................ 6 Objekte wiederherstellen ............................................................................................................................... 6 adrestore ............................................................................................................................................................ 7 Objekte wiederherstellen ............................................................................................................................... 7 Anmerkung ......................................................................................................................................................... 7 Variante 2 - Ntdsutil.exe mit Replikation ................................................................................................................ 8 Replikation blockieren ........................................................................................................................................ 8 Objekt wiederherstellen ..................................................................................................................................... 8 Objekt verteilen .................................................................................................................................................. 8 Anmerkung ......................................................................................................................................................... 8 Vergleich ................................................................................................................................................................. 9 Empfehlung ............................................................................................................................................................. 9 Reflexion ................................................................................................................................................................. 9 Quellen .................................................................................................................................................................. 10 Webseiten ......................................................................................................................................................... 10 Tools ................................................................................................................................................................. 10 Manuel Fluri & Patrick Schmid, FHNW Seite 1 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Einleitung Im Rahmen der Vorlesung ITSAR (Information Technologie Service Architektur) wurden verschiedene Laboraufgaben gestellt, welche in einer geschützten virtuellen Umgebung gelöst werden sollen. Dieses Dokument behandelt die Aufgabe "Lab 002 - Gelöschte Objekte wiederherstellen". Aufgabe Die Aufgabenstellung ist gegeben: "Szenario: Recoveryscenario in unterschiedlichen Versionen Erstellen Sie mehrere User in einer neuen OU „ou_BackupRestore“. Die User sind Mitglieder einen neuen Sicherheitsgruppe gl_Restoreteam in einem AD mit mehreren DC’s. Untersuchen Sie als erstes wie das Löschen eines Benutzer-Objektes im AD repliziert wird und dokumentieren Sie dies im Detail an einem Beispiel. Wie können Benutzerobjekte bei einem versehentlichen Löschen wiederhergestellt werden. Welche Varianten stehen zur Verfügung? Spielen Sie eine Recovery-Variante im Labor detailliert durch und dokumentieren Sie diese. Wo liegen deren Vor- und Nachteile!" - Quelle: itsar_hs2014_LaborAufgaben.pdf, T. Hauser - Ziel Es gilt folgendes Ziel für alle Laboraufgaben: "Eine praktische Aufgabe, in einer geschützten virtuellen Umgebung, nachbilden, austesten und nachvollziehbar dokumentieren." - Quelle: itsar_hs2014_LaborAufgaben.pdf, T. Hauser Aus der zitierten Aufgabenstellung lassen sich zudem folgende Ziele ableiten: Die Replikation eines Löschvorgangs eines Benutzer-Objektes im AD ist anhand eines Beispiels dokumentiert. Verschiedene Varianten zur Wiederherstellung eines versehentlich gelöschten Benutzer-Objekts sind im Laboraufbau getestet worden und wurden dokumentiert. Die Vor- und Nachteile der dokumentierten Varianten sind dokumentiert. Manuel Fluri & Patrick Schmid, FHNW Seite 2 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Konfiguration Es wurde eine Laborumgebung mit zwei virtuellen Servern in VMware Workstation 10 aufgebaut. Die Hostnamen der beiden Server sind LAB-2k8r2DC01 und LAB-2k8r2DC02 LAB-2k8r2DC01 VMware VM Konfiguration Device Memory Prozessoren Hard Disk (SCSI) CD/DVD (SATA) Netzwerk Adapter USB Controller Sound Card Printer Display Summary 4 GB 1 Prozessor mit 2 Kernen 35 GB Auto Detect Custom(VMnet4) Present Auto detect Present Auto detect Host Konfiguration Konfiguration Hostname Betriebssystem IP-Adresse Subnetzmaske Gateway DNS1 Installierte Rollen Installierte Features Summary LAB-2k8r2DC01 Windows 2008 R2 SP1 Enterprise Edition 10.10.120.60 255.255.255.0 10.10.120.1 127.0.0.1 Active Directory-Domänendienste, DNS-Server Gruppenrichtlinienverwaltung LAB-2k8r2DC02 VMware VM Konfiguration Device Memory Prozessoren Hard Disk (SCSI) CD/DVD (SATA) Netzwerk Adapter USB Controller Sound Card Printer Display Summary 2 GB 1 Prozessor mit 1 Kernen 40 GB Auto Detect Custom(VMnet4) Present Auto detect Present Auto detect Host Konfiguration Konfiguration Hostname Betriebssystem IP-Adresse Subnetzmaske Gateway DNS1 Installierte Rollen Installierte Features Manuel Fluri & Patrick Schmid, FHNW Summary LAB-2k8r2DC02 Windows 2008 R2 SP1 Datacenter Edition 10.10.120.61 255.255.255.0 10.10.120.1 10.10.120.60 Active Directory-Domänendienste, DNS-Server Gruppenrichtlinienverwaltung Seite 3 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Active Directory LAB-2k8r2DC01 LAB-2k8r2DC01 OS Windows 2008 R2 SP1 Enterprise Edition IP-Konfiguration IP-Adresse: 10.10.120.60 Subnetmask: 255.255.255.0 Gateway: 10.10.120.1 DNS: 127.0.0.1 OS Windows 2008 R2 SP1 Datacenter Edition IP-Konfiguration IP-Adresse: 10.10.120.61 Subnetmask: 255.255.255.0 Gateway: 10.10.120.1 DNS: 10.10.120.60 LAB-2k8r2DC01 LAB-2k8r2DC02 Root.loc Active Directory OU & User Struktur für Labor Root.loc ou_BackupRestore Restoreteam isMember IsMember tstU ser1 tstAdmin Zum Testen wurde ein Benutzer erstellt und einer Gruppe hinzugefügt nach folgendem Aufbau: Art Domain Domain Controller 1 Domain Controller 2 OU Administrator Testbenutzer Testgruppe Konfiguration root.loc CN=LAB-2k8r2DC01,OU=Domain Controllers,DC=root,DC=loc CN=LAB-2k8r2DC02,OU=Domain Controllers,DC=root,DC=loc OU=ou_BackupRestore,DC=root,DC=loc CN=tst Admin,OU=ou_BackupRestore,DC=root,DC=loc CN=tst User1,OU=ou_BackupRestore,DC=root,DC=loc CN=Restoreteam,OU=ou_BackupRestore,DC=root,DC=loc Manuel Fluri & Patrick Schmid, FHNW Seite 4 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Vorbedingungen Um die Ausgangslage für unsere Tests zu erreichen, wurde der Benutzer aus dem Active Directory gelöscht. Zum Wiederherstellen stehen verschiedene Funktionen zur Verfügung. Einerseits kann man auf Tools von Drittherstellern zurückgreifen, doch die einfachste und stets verfügbare Funktion dafür bietet das Active Directory selbst mit einer Art „Papierkorb“. Variante 1 - AD Papierkorb Diese Funktion, genannt „Active Directory Recycle Bin“ steht erst ab Windows Server 2008 R2 zur Verfügung. Dafür muss auch der Function-Level mindestens auf Windows Server 2008 R2 stehen. Damit dieser genutzt wird, muss er vorgängig aktiviert werden z.B. mit folgendem Powershell-Befehl: Enable-ADOptionalFeature -Identity ‚CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=root,DC=loc‘ -Scope ForestOrConfigurationSet Target 'root.loc' Gelöschte Objekte kommen dann mit dem Status „Deleted“ in eine OU unter „CN=Deleted Objects,DC=root,DC=loc“ welche jeweils unter dem Root der Domäne zu finden ist. Alternativ gibt es auch noch Objekte mit dem Status „Recycled“, doch diese sind nur noch zum Zwecke der Replikation aufgeführt und können nicht mehr wiederhergestellt werden: Aktiver Benutzer Benutzer wird verschoben und geflagged als «deleted» «Deleted» Benutzer Benutzer wird geflagged als «recycled» Benutzer nicht mehr wiederherstellbar «Recycled» Benutzer Benutzer verschwindet aus dem AD Wie lange der Benutzer den Status „Deleted“ ist im Attribut „msDS-deletedObjectLifetime“ und für den Status „Recycled“ im Attribut „tombstoneLifetime“ festgelegt. Beide Werte sind Standardmässig auf 180 Tage gesetzt. Manuel Fluri & Patrick Schmid, FHNW Seite 5 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Powershell Die Powershell steht auf jedem Server zur Verfügung. Jeder Server mit der Rolle Active Directory besitzt auch die Module „Active Directory for powershell“, welche im Folgenden zwingend benötigt wird. Objekte anzeigen Zum Anzeigen der gelöschten Objekte steht als grafische Oberfläche ldp.exe zur Verfügung. Einfacher und schneller geht das aber auch über Powershell, auf welches wir hier eingehen möchten: Get-ADObject -Filter 'objectclass -eq "user" -AND IsDeleted -eq $True' -IncludeDeletedObjects -properties IsDeleted,LastKnownParent | Format-List Name,IsDeleted,LastKnownParent,DistinguishedName Nun erhält man eine Auflistung der gelöschten Benutzer: Name Deleted LastKnownParent DistinguishedName : tst User1 DEL:a8c2f9fb-bb3c-4a3a-aa50-d17d86c46a3aIs : True : OU=ou_BackupRestore,DC=root,DC=loc : CN= tst User1\0ADEL:a8c2f9fb-bb3c-4a3a-aa50-d17d86c46a3a ,CN=Deleted Objects,DC=root,DC=loc Objekte wiederherstellen Hat man das passende Objekt gefunden, so kann dieser auch genauso einfach wiederhergestellt werden: Get-ADObject -Filter {displayName -eq "tst User1"} -IncludeDeletedObjects | Restore-ADObject Löscht man zum Beispiel eine komplette OU, so verschwinden auch alle darin enthaltenen Benutzer. In einer sehr grossen Infrastruktur wird es nun schwer zu unterscheiden, welche Benutzer korrekt gelöscht wurden und welche ausversehen mit der OU gelöscht wurden. Auch hier kann Powershell helfen. Zuerst muss man auslesen, wie die OU denn hiess, indem man nach einem ehemaligen Mitglied der OU sucht: Get-ADObject -SearchBase "CN=Deleted Objects,DC=root,DC=loc" -ldapFilter:"(msDs-lastKnownRDN=tst user1)" –IncludeDeletedObjects –Properties lastKnownParent Als Ausgabe bekommt man den Namen der OU und dessen GUID. Diese verwendet man nun für eine Ausgabe aller Benutzer dieser OU: Get-ADObject –SearchBase "CN=Deleted Objects,DC=root,DC=loc" -Filter {lastKnownParent -eq 'OU=ou_BackupRestore\\0ADEL:9526c147-608a-4d2d-bed7-7aafad981514,CN=Deleted Objects,DC=root,DC=loc'} -IncludeDeletedObjects -Properties lastKnownParent | ft Nun wird zuerst die korrekte OU wiederhergestellt: Get-ADObject -ldapFilter:"(msDS-LastKnownRDN= ou_BackupRestore)" –IncludeDeletedObjects | RestoreADObject Und zum Schluss kommen auch noch die Benutzer zurück: Get-ADObject -SearchBase "CN=Deleted Objects,DC=root,DC=loc" -Filter {lastKnownParent -eq "OU=ou_BackupRestore,DC=root,DC=loc"} -IncludeDeletedObjects | Restore-ADObject Manuel Fluri & Patrick Schmid, FHNW Seite 6 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ adrestore In dem bekannten Toolset Sysinternals von Microsoft ist ein Tool adrestore vorhanden, welches zwar im Hintergrund dieselben Funktionen nutzt wie Powershell, doch für den ungeübten Benutzer einfacher aufbereitet. Objekte wiederherstellen Ist das Tool installiert, so kann man, vorausgesetzt, man kennt den Alias des gelöschten Benutzers, diesen mit einer Linie zurückspielen: adrestore -r „tst User1“ Anmerkung Wichtig beim AD Papierkorb ist die Erwähnung, dass der Restore kein vollständiger Restore ist, wie man es von einem Backup gewohnt sein könnte. Es wird lediglich das Objekt selbst zurückgespielt. Jegliche Berechtigungen und Einstellungen wie MemberOf, ManagedBy, Passwort und ähnliches müssen noch manuell zugefügt werden. Manuel Fluri & Patrick Schmid, FHNW Seite 7 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Variante 2 - Ntdsutil.exe mit Replikation Hat man eine Infrastruktur mit mehreren DCs, so bietet sich auch die Möglichkeit eines Restores über einen Kontroller welcher die Löschung bisher noch nicht repliziert hat. Dazu ist es aber notwendig, dass man umgehend handelt und die weitere, eingehende Replikation auf dem entsprechenden, „sauberen“ DC blockiert, nicht dass dieser die Lösung auch noch übernimmt. Replikation blockieren In unserem Labor wurde der Benutzer von LAB-2k8r2DC02 gelöscht, also ist der LAB-2k8r2DC01 unser "sauberer" DC, welcher nun als Wiederherstellungspunkt verwendet wird. Zuerst muss wie bereits in der Einleitung erwähnt, umgehend die Replikation blockiert werden. Dazu wird repadmin verwendet: repadmin /options LAB-2k8r2DC01 +DISABLE_INBOUND_REPL Objekt wiederherstellen Auf dem sauberen DC muss nun der ntds Service gestoppt werden net stop ntds Nun kann auf dem sauberen DC der entsprechende Benutzer über den DN-Pfad wiederhergestellt werden: ntdsutil > activate instance ntds > authoritative restore > restore object "cn=tst User1,ou=ou_BackupRestore,dc=root,dc=loc" >q >q net start ntds Oder aber die gesamte OU ebenfalls über den DN-Pfad: ntdsutil > activate instance ntds > authoritative restore > restore "subtree ou=ou_BackupRestore, dc=root,dc=loc" >q >q net start ntds Alle wiederhergestellten Objekte werden nun in einer Datei mit dem Format ar_DATE_objects.txt protokolliert. Objekt verteilen Nun kann das wiederhergestellte Objekt wieder in den globalen Katalog verteilt werden: repadmin /syncall /d /e /P LAB-2k8r2DC01 "DC=root,DC=loc” Und die Replikation wieder aktiviert werden: repadmin /options LAB-2k8r2DC01 -DISABLE_INBOUND_REPL Anmerkung Mit dieser Art der Wiederherstellung werden alle Daten zurückgespielt. Lediglich das Passwort muss nach Abschluss der Arbeiten noch neugesetzt werden. Jedoch setzt dieser Weg voraus, dass mindestens ein Domainkontroller die Löschung noch nicht repliziert hat, wofür das Zeitfenster je nach Einstellung meistens sehr klein ist. Manuel Fluri & Patrick Schmid, FHNW Seite 8 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Vergleich Folgend werden die Varianten nach Funktionsumfang verglichen: Kriterium / Variante Verfügbarkeit AD Papierkorb Ist im AD Integriert, muss nur aktiviert werden. Einfachheit Umfang Simple und schnell. Eingeschränkt. Wiederherstellung Stellt nur das Objekt ohne Verknüpfungen wieder her. NTDSUTIL.exe Funktioniert nur, wenn die Replikation noch nicht durchgelaufen ist. Grosser Aufwand. Kann sehr granular verwendet werden. Komplettes Zurückspielen des Objektes mit allen Verknüpfungen. Empfehlung Um die Sicherheit eines AD zu gewährleisten, ist es ideal, beide Methoden zu kombinieren. Ist die Replikation noch nicht durchgelaufen, so sollte Methode 2 verwendet werden, ist diese Option jedoch verloren, so kann man immer noch auf den simplen Restore zurückgreifen. In jedem Fall muss aber die Einstellung der verbleibenden Tage in der msDS-deletedObjectLifetime und tombstoneLifetime gut überdacht werden. Reflexion Es war eine sehr spannende Arbeite, welche etwas Abwechslung in den sonst eher monotonen Studienalltag brachte. Da wir beide berufsbegleitend arbeiten und Patrick Schmid in seiner täglichen Arbeit mit dem Active Directory zu tun hat, war diese Aufgabenstellung die einzig logische Wahl. Wir würden uns im Studium mehr solche Laborarbeiten wünschen, da der Lerneffekt bei der praktischen Arbeit doch am grössten ist. Manuel Fluri & Patrick Schmid, FHNW Seite 9 ITSAR – Lab 002 „Gelöschte Objekte im replizierten Active Directory Umfeld wiederherstellen“ Quellen Grafiken Alle Grafiken wurden im Rahmen dieser Arbeit von Patrick Schmid und Manuel Fluri erstellt. Webseiten Folgende Webseiten wurden zur Informationsbeschaffung verwendet: Name “Repadmin Examples”, März 2003, Aufgerufen: 02.12.2014 “Active Directory restores: How to restore deleted objects”, Januar 2012, Aufgerufen: 02.12.2014 “Repadmin /syncall”, April 2012, Aufgerufen: 03.12.2014 “Step 2: Restore a Deleted Active Directory Object”, Oktober 2010, URL http://technet.microsoft.com/enus/library/cc773062(v=ws.10).aspx http://searchdatabackup.techtarget.com/tip/Active-Directoryrestores-How-to-restore-deleted-objects http://technet.microsoft.com/enus/library/dd379509(v=ws.10).aspx http://technet.microsoft.com/enus/library/dd379509%28v=ws.10%29.aspx Tools Folgende Tools wurden in dieser Arbeit verwendet: Tool Active Directory-Modul für Windows Power Shell adrestore Repadmin ntdsutil.exe Manuel Fluri & Patrick Schmid, FHNW Quelle Wird mit der Rolle ‚Active DirectoryDomänendienste’ installiert http://technet.microsoft.com/enus/sysinternals/bb963906 Wird mit der Rolle ‚Active DirectoryDomänendienste’ installiert Wird mit der Rolle ‚Active DirectoryDomänendienste’ installiert Seite 10