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

Documents pareils