Hinweis: Bei den hier verlinkten Videos handelt es sich (weitgehend) um Mitschnitte meiner Demos bei der ice:2009 in Lingen. Das Thema meiner Session war: “Active Directory Disaster Recovery: So mache ich’s richtig!”.
Wer die Videos zu klein findet, schaut sie sich direkt in unserem Kanal bei YouTube an.
Active Directory (AD) enthält heute eine ganze Reihe von Mechanismen, mit denen sich Datenverluste ausgleichen lassen. Seit dem Erscheinen des AD mit Windows 2000 hat Microsoft diese Mechanismen deutlich ausgebaut, sodass Administratoren einer modernen Umgebung geeignete Mittel bereitstehen, um Objekte wiederherzustellen. Unser Tutorial stellt die wichtigsten Methoden vor, die für alle Windows-Versionen seit Windows 2000 bereitstehen. Dabei konzentrieren wir uns auf Bordmittel und kostenlose Zusatzwerkzeuge.
Was kann denn passieren?
Um die passende Methode für einen Schadensfall auszuwählen, muss zunächst das Szenario feststehen. Mögliche Schäden lassen sich in drei Bereiche aufteilen:
- Verlust eines Domänencontrollers (DC): Ist nur einer von mehreren DCs einer Domäne ausgefallen, so braucht der Administrator normalerweise überhaupt keine Recovery-Methode. AD ist fehlertolerant aufgebaut, sodass die Anmeldedienste weiterlaufen, solange mindestens ein DC in der Domäne korrekt arbeitet. Um die ausgefallene Maschine zu ersetzen, reicht es – bezogen auf AD – aus, einen neuen Server zu installieren und ihn mit “dcpromo” zum DC hochzustufen. Die AD-Replikation sorgt dann dafür, dass der neue DC innerhalb weniger Minuten voll funktionsfähig ist.
- Verlust aller DCs einer Domäne: In diesem Fall benötigt der Administrator selbstverständlich eine vollständige Datensicherung seines AD, um die Domäne auf neuer Serverhardware (auch virtuell möglich) wiederherzustellen. Daher empfiehlt es sich, regelmäßig (z.B. täglich) mindestens einen DC zu sichern, besser aber mehrere. Für das Backup nutzt man hier den “System State”, den alle für Windows-Server geeigneten Backupprogramme sichern können. Den Backup- und Restore-Vorgang beleuchten zwei unserer Videos.
Sonderfall: Forest Recovery. Wer einen AD-Forest mit mehr als einer Domäne betreut, muss im Fall des Komplettverlusts alle Domänen wiederherstellen. Für jede Domäne nutzt man dabei das “normale” Restore-Verfahren (Non-authoritative Restore). Wichtig: Die Wiederherstellung verläuft von “oben” nach “unten”, also beginnend bei der Root-Domäne des Forest. Hierzu gibt es ein sehr gutes Whitepaper bei Microsoft, das im Wesentlichen auf alle AD-Versionen zutrifft: - Verlust einzelner Objekte: Dieser Fall ist der eigentlich interessanteste und bei weitem der häufigste. Der Administrator hat Objekte aus der Domäne gelöscht oder überschrieben, die er nun wiederherstellen muss. Hierfür bietet AD je nach Version unterschiedliche Methoden, die wir im Folgenden und in unseren Videos beleuchten.
[Planning for Active Directory Forest Recovery]
http://technet.microsoft.com/en-us/library/cc786327(WS.10).aspx
[Download details: Best Practices: Active Directory Forest Recovery]
http://www.microsoft.com/downloads/details.aspx?FamilyID=3EDA5A79-C99B-4DF9-823C-933FEBA08CFE&displaylang=en
Den Rahmen für unsere Videos bildet die Präsentation von der ice:2009, die ihr bei uns herunterladen könnt:
[faq-o-matic.net » ice:2009: AD-Recovery – die Folien]
http://www.faq-o-matic.net/2009/08/22/ice2009-ad-recovery-die-folien/
Backup des System State
Grundlage für ein Recovery-Konzept ist stets das Backup des System State, das man bei Bedarf um weitere Methoden ergänzen kann. Der “System State” ist eine vordefinierte Schnittstelle des AD, die immer nur vollständig genutzt werden kann. Sie umfasst die AD-Datenbank, aber auch die Konfiguration des Servers. Daher ist der System State leider hardwareabhängig. Es empfiehlt sich daher, den System State immer von aktueller Hardware zu sichern, die man im Fall des Falles leicht ersetzen kann. Auch das Sichern von einem virtuellen DC ist empfehlenswert, weil die Virtualisierung eine gewisse Unabhängigkeit von konkreter Hardware ermöglicht und damit Treiberprobleme beim Recovery vermeidet.
Um nicht nur von einem Backup abhängig zu sein, empfehlen die meisten Experten, mehr als einen DC regelmäßig zu sichern. Ob es sich bei diesen DCs um die Inhaber der Betriebsmasterrollen (FSMO) handelt, ist hingegen nicht wichtig, weil diese Rollen sich im Zweifel leicht auch nachträglich verschieben lassen.
Unter Windows 2000 und 2003 reicht das mitgelieferte NTBackup völlig für die System-State-Sicherung aus. Ab Windows Server 2008 gibt es NTBackup nicht mehr. Auch das dort vorhandene Windows Server Backup eignet sich für die Sicherung des System State, jedoch muss man hier prüfen, wie und auf welches Medium man genau sichert. Das Internet bietet ausreichend Anleitungen dafür.
Eine zusätzliche Empfehlung kommt von uns: Damit man im Fall des Falles die gelöschten Objekte überhaupt identifizieren kann, sollte man beim Backup auch einen Textexport des AD anfertigen und diesen mitsichern. Dazu eignet sich das folgende Kommando:
csvde –f C:\Daten\AD-Export.txt –u –l sAMAccountName,objectClass,description
Unser Video beschreibt den gesamten Vorgang unter Windows Server 2003 R2; im Prinzip funktioniert er aber in allen Windows-Versionen sehr ähnlich.
Non-Authoritative Restore
Das Restore von einem System State Backup beginnt stets als “Non-Authoritative Restore”. Hiermit setzt man das AD auf einem DC auf den gesicherten Stand zurück. Ist dieser DC nach dem Restore der einzige der Domäne (etwa nach einem Komplettausfall aller DCs), so ist man nach diesem Schritt fertig. AD sollte wieder laufen. Für die nötige Redundanz kann man danach weitere DCs über das normale dcpromo-Verfahren einbinden.
Authoritative Restore
Aufwändiger ist der Fall, wenn das Restore des System State dazu dient, verlorene Objekte zurückzuerhalten. In Windows 2000 war dies die einzige Methode für das Object Recovery. Seit Windows Server 2003 gibt es zusätzliche Verfahren, doch es gibt auch heute noch Situationen, in denen das Authoritative Restore angesagt ist, z.B. wenn sehr viele Objekte wiederhergestellt werden müssen.
Das Authoritative Restore ermöglicht es, bestimmte Objekte wiederherzustellen oder auf einen früheren Stand zurückzusetzen (z.B. wenn das aktuelle Kennwort unbekannt ist, aber das alte noch verfügbar ist). Der Trick besteht darin, dass man auf einem DC das Backup des AD wiederherstellt. Würde man nun nichts weiter tun, so sorgte die AD-Replikation dafür, dass dieser wiederhergestellte DC auf den aktuellen Stand kommt – also werden die Objekte oder Daten wieder gelöscht, die man eigentlich gerade restaurieren wollte. Daher markiert man direkt nach dem Backup (und vor dem Reboot des DC!) die gewünschten Objekte als “aktuell”.
Genau dieser Vorgang ist das Authoritative Restore: Der Administrator setzt manuell die Seriennummern der betreffenden Objekte hoch, sodass die wiederhergestellte Version in der Replikation als die aktuellste Fassung erkannt wird. Auf diese Weise überschreibt das wiederhergestellte Objekt auf allen anderen DCs das dort gelöschte Objekt bzw. die dort gespeicherten Objektdaten.
Das Werkzeug hierzu ist das Kommandozeilenwerkzeug “NTDSUtil”. Ein Authoritative Restore kann nur auf einem DC erfolgen, der sich im Recovery-Modus befindet – in diesen bootet man manuell, der DC ist also für das Netzwerk in dieser Zeit offline. Den nötigen Vorgang demonstriert unser Video. Auch hier ist das Verfahren unter allen Windows-Versionen seit 2000 praktisch identisch.
Das Verfahren, die Gruppenmitgliedschaften per ldfide.exe wiederherzustellen, beschreibt dieser Artikel:
[Run an LDIF file to recover back-links: Active Directory]
http://technet.microsoft.com/en-us/library/cc786564(WS.10).aspx
Tombstone Recovery
Gelöschte Objekte entfernt AD nicht gleich aus der Datenbank. Um die Replikation auch in großen Umgebungen zu ermöglichen, hält der Verzeichnisdienst stattdessen alle gelöschten Objekte als “Tombstone” (Grabstein) in der Datenbank und repliziert sie für längere Zeit über alle DCs. So ist sichergestellt, dass temporäre Replikationsprobleme nicht dazu führen, dass gelöschte Daten plötzlich wieder auftauchen. Erst nach Ablauf der “Tombstone Lifetime” entfernt jeder DC die Tombstones aus seiner jeweiligen Datenbank. Je nach Umgebung beträgt die Tombstone Lifetime standardmäßig 60 bzw. 180 Tage.
Der Tombstone enthält fast keine Detaildaten mehr, doch die wichtigsten Informationen sind noch vorhanden: Der Objektname, die Security-ID (SID) und einige Replikations-Metadaten. Seit Windows Server 2003 ist es möglich, einen Tombstone wieder in ein ordentliches Objekt zurückzuverwandeln und es damit nach einer Löschung wiederherzustellen.
Leider bringt Windows selbst kein Werkzeug mit, um das Tombstone Recovery auszuführen. Es gibt aber kostenlose Werkzeuge, die das tun, etwa ADRestore von Sysinternals.
[AdRestore]
http://technet.microsoft.com/de-de/sysinternals/bb963906.aspx
Ein wiederhergestellter Tombstone umfasst aber eben nur die Rumpfdaten des Objekts. Zusätzliche Informationen wie Adressdaten, das Kennwort oder Gruppenmitgliedschaften fehlen. Dadurch ist nach dem Recovery stets Handarbeit angesagt. Um diese zu vereinfachen und die wichtigsten Daten (mit Ausnahme des Kennworts) automatisch wiederherzustellen, eignet sich mein Skript-Werkzeug Werding.
[faq-o-matic.net » Active-Directory-Daten online wiederherstellen]
http://www.faq-o-matic.net/2006/11/19/active-directory-daten-online-wiederherstellen/
Unser Video zeigt den Vorgang auf Basis von Windows Server 2003. Er funktioniert ebenfalls in allen Folgeversionen, nicht aber unter Windows 2000.
AD-Snapshots
Seit Windows Server 2008 kann der Administrator Snapshots des AD anfertigen. Dabei handelt es sich um Momentaufnahmen des Datenbestandes. Einen solchen Snapshot kann man als Read-only-Version online verfügbar machen, indem man ihn mit dem Dienstprogramm dsamain.exe als LDAP-Verzeichnis auf einem beliebigen TCP-Port startet. Mit Hilfe der dort nachlesbaren Daten kann man dann “historische” Werte aus dem “alten” AD auslesen, um sie z.B. nach einem Tombstone-Recovery auf die wiederhergestellten Rumpf-Objekte zu übertragen. Zur Nutzung der Snapshots reicht ein einziger DC mit Windows Server 2008 oder höher aus, ein bestimmter Modus des AD ist nicht nötig.
Von Haus aus geht dies aber leider nur manuell. Fredrik Lindström hat daher ein Werkzeug entwickelt, das den aktuellen Stand des AD mit einem Snapshot vergleicht. Das Werkezug ermöglicht es dabei gleich, gelöschte Objekte wiederherzustellen und überschriebene Daten zurückzusetzen. Dieses “Directory Services Comparison Tool (DSCT)” erleichtert den Umgang mit Snapshots ungemein.
[DSCT – Lindström]
http://lindstrom.nullsession.com/?cat=7
Bei der Entwicklung des Programms hat Fredrik einen Bug in Windows Server 2008 gefunden, den Microsoft erst in Windows Server 2008 R2 korrigiert hat (einen Bugfix für 2008 wird es voraussichtlich nicht geben!). Dieser Bug bewirkt, dass der AD-Snapshot eine höhere Seriennummer (Update Sequence Number, USN) hat als das Live-AD. Dadurch sehen die Daten des Snapshots stets neuer aus als die wirklich aktuellen Daten. Als Workaround für diesen Bug kann das DSCT die USNs des Live-AD “gewaltsam” hochzählen. Erst danach sind unter Windows Server 2008 automatische Vergleiche zwischen dem Snapshot und dem AD möglich. (In Windows Server 2008 R2 besteht dieses Problem, wie gesagt, nicht mehr.)
Unser Video demonstriert die Arbeit mit dem DSCT.
Mehr dazu beschreibt unser Artikel zu AD-Snapshots:
[faq-o-matic.net » Windows Server 2008: Snapshots des Active Directory]
http://www.faq-o-matic.net/2007/04/30/windows-server-2008-snapshots-des-active-directory/
AD-Papierkorb
Erst mit Windows Server 2008 R2 hat Microsoft den jahrelang geäußerten Kundenwunsch erfüllt und bietet einen “Papierkorb” im Active Directory an. Damit steht, ähnlich wie in Anwenderprogrammen oder im Dateisystem, eine Möglichkeit zur Verfügung, versehentliche Löschungen rückgängig zu machen.
Dazu führt das AD einen neuen Zustand für Objekte ein, und zwar den Zustand “Recycled Object”. Im Kern verbirgt sich dahinter ein erweiterter Tombstone: Statt wie früher fast alle Daten eines Tombstones zu entfernen, behält AD für einen Tombstone einfach das komplette Objekt bei. Dadurch wächst natürlich in großen Umgebungen der Umfang der AD-Datenbank an – daher ist das Feature standardmäßig auch nicht aktiviert.
Den AD-Papierkorb kann man nur ein-, aber nicht ausschalten. Zudem lässt er sich nur für den gesamten Forest aktivieren, aber nicht für einzelne Domänen. Alle Domänen müssen dabei im Modus “Windows Server 2008 R2” oder höher laufen. Details dazu hat Yusuf Dikmenoglu dargestellt:
[LDAP://Yusufs.Directory.Blog/ – Der Active Directory-Papierkorb im Windows Server 2008 R2]
http://blog.dikmenoglu.de/PermaLink,guid,18ffdd1d-9bad-4ae6-ad21-7e1a9f36d635.aspx
Unser Video zeigt das Aktivieren und das Nutzen des AD-Papierkorbs mit der PowerShell sowie mit einem kleinen kostenlosen Zusatztool.
Hier der Link zu dem Tool “ADRecycleBin”:
[ADRecycleBin]
http://overall.ca/index.php?option=com_content&view=article&id=40&Itemid=66
Erweiterte Überwachung
Windows Server 2008 hat noch eine weitere Funktion eingeführt, die sich zum Wiederherstellen überschriebener Daten eignet: Die erweiterte Überwachung des Verzeichnisdienstes. Aktiviert man sie, so protokolliert ein DC jede Änderung an Attributwerten im Ereignisprotokoll.
Wie bei jeder Windows-Überwachung ist auch diese an zwei Stellen zu konfigurieren: Zunächst schaltet man per Gruppenrichtlinie die Überwachung selbst ein. Das muss auf allen DCs einer Domäne geschehen, sinnvollerweise also über die Default “Domain Controllers Policy” oder ein anderes GPO, das an die OU “Domain Controllers” gebunden ist. Als zweiter Schritt ist die Überwachung bei den jeweiligen Objekten zu aktivieren, also z.B. für eine wichtige OU und deren Unterobjekte. Wie es geht, zeigt unser Video.
Diese Funktion hat allerdings zwei Tücken: Zum einen erzeugt jede einzelne Änderung einen Event-Eintrag – ein geändertes Attribut gleich zwei, einmal fürs Löschen und einmal fürs Schreiben des neuen Wertes. Zum anderen protokolliert nur der ändernde DC diese Daten. Will man also wissen, was geändert wurde, muss man alle DCs der Domäne abfragen. Dies erleichtert übrigens das oben genannte DSCT – ein großer Umstand bleibt es gleichwohl. Dabei sollte man auch beachten, dass so natürlich eine sehr große Datenmenge entsteht. Wer diese Funktion nutzt, muss also gleichzeitig ein Event-Management etablieren, das die Ereignisprotokolle regelmäßig sichert oder exportiert und dann ggf. löscht.
Das richtige Werkzeug
Keine der Backup- und Recovery-Funktionen deckt alle Zwecke ab. Wer für die Wartung einer AD-Umgebung verantwortlich ist, sollte sich also seinen Werkzeugkoffer aus den bestehenden Möglichkeiten zusammenstellen. Dabei können die folgenden Übersichten vielleicht hilfreich sein.
Verfügbarkeit der Methoden
Windows 2000 | Windows Server 2003/R2 | Windows Server 2008 | Windows Server 2008 R2 | |
System State Backup/ Restore |
ja |
ja |
ja |
ja |
Tombstone Recovery |
nein |
ja |
ja |
ja |
Werding |
ja |
ja |
ja |
ja |
AD-Snapshots |
nein |
nein |
ja |
ja |
Erweiterte Übewachung |
nein |
nein |
ja |
ja |
AD-Papierkorb |
nein |
nein |
nein |
ja |
Anwendbarkeit in Szenarien
Auth. Restore | Non-a. Restore | Tomb. Rec. | Wer-ding | Snap-shot | Erw. Überw. | AD-Papk. | |
Alle DCs ausge- fallen |
nein |
ja |
nein |
nein |
nein |
nein |
nein |
Forest ausge- fallen |
nein |
ja |
nein |
nein |
nein |
nein |
nein |
Einzelne Objekte gelöscht |
ja |
nein |
ja |
ja |
ja |
nein |
ja |
Viele Objekte gelöscht |
ja |
nein |
teils |
teils |
teils |
nein |
teils |
Einzelne Werte überschrieben |
teils |
nein |
nein |
ja |
ja |
teils |
nein |
Viele Werte überschrieben |
ja |
nein |
nein |
teils |
teils |
teils |
nein |
Kennwort wieder-herstellen |
ja |
nein |
nein |
nein |
nein |
nein |
ja |
http://faq-o-matic.net/?p=1757