Cyber Security

Active Directory: Sichern und Wiederherstellen (Autoritatives Restore)

Wenn mehrere Domain-Controller an verschiedenen Standorten im Einsatz sind, so stellt sich die Frage, ob es überhaupt notwendig ist, diese zu sichern. Domain-Controller replizieren Ihre Informationen über eine Multi-Master Replikation. Jeder DC sollte über die gleichen Informationen verfügen wie seine Partner. So weit so gut, wenn alles glatt läuft. Im Falle eines Ransomware Angriffs wie in meinem Artikel Daten gegen Bares: Ransomware  sieht die Sache dann wieder etwas anders aus.

Was tun wenn alle Domain-Controller verschlüsselt sind? Oder was tun, wenn unabsichtlich ein Benutzer, oder gar eine ganze OU gelöscht wird? Wenn das Optionalfeature “Active Directory Recycle Bin” (Papierkorb) nicht aktiviert ist, so muss das Backup wiederhergestellt werden.

Sichern der Active Directory Domänendienste

Meine Domäne umfasst 10 Domain-Controller. Um Active Directory zu sichern muss System State lokal oder online (Windows Azure) gesichert werden. Ich installiere auf DC01 mit install-windowsfeature windows-server-backup das Feature Windows Server Sicherung.

Install-Windowsfeature Windows-Server-Backup

Dann öffne ich im Servermanager unter Tools die Server Sicherung. Ich wähle entweder Sicherungszeitplan oder Einmalsicherung.

Bild1.png

Dann wähle ich System State aus.

Bild1.png

System State beinhaltet u.a. folgende Komponenten:

  • Registry
  • Boot Dateien
  • Klassenregistrierungsdatenbank
  • Protokolldateien
  • SYSVOL
  • DNS Datenbank
  • Active Directory

Dann starte ich das Backup, nachdem ich einen geeigneten Speicherort als Ziel-Speicherort wähle, welcher sich nicht auf der Systemfestplatte c:\ befindet. Alternativ hätte ich auch mit dem Befehlszeilen-Tool wbadmin arbeiten können.

wbadmin start systemstatebackup -backupTarget:f:

Bild1.png

Nicht autoritatives und autoritatives Restore

Bei der Wiederherstellung stehen zwei Methoden zur Verfügung:

  • Nicht autoritatives Restore: Wird i.R. verwendet um DC01 wiederherzustellen, wenn keine anderen DCs vorhanden sind.
  • Autoritatives Restore: Wird verwendet, wenn mehrere DCs vorhanden sind. Die wiederhergestellten Objekte werden als autoritativ markiert. Mehr dazu weiter unten.
Löschen und Wiederherstellen eines Benutzers

Meine Umgebung umfasst wie erwähnt 10 Domain-Controller. Zuerst lösche ich auf DC01 den Benutzer Joe Hamster, um ihn dann wiederherzustellen. Der Benutzer Joe Hamster hat zum Zeitpunkt vor der Löschung, also zum Zeitpunkt des Backups, die Versionsnummer 1700.

Die Löschung dieses Benutzers wird sofort (Urgent-Replication) auf alle anderen DCs repliziert. Das Objekt ist nicht mehr verfügbar, verbleibt aber als gelöscht markiert für einige Zeit noch in der Datenbank, und zwar mit einer höheren Versionsnummer, denn das Objekt wurde verändert, nämlich gelöscht. Die Nummer ist jetzt sagen wir 1701.

Nun stelle ich den Benutzer wieder her. Der Ablauf eines autoritativen Restore:

  • DC neu starten
  • DC im Wiederherstellungsmodus booten (F8)Bild1.png
  • Mit dem DSRM Passwort am DC anmelden (das ist das Verzeichnisdientswiederherstellungskennwort, welches Sie bei der Installation der Domäne oder des DCs vergeben haben)
  • Systemstaterecovery vom Backup durchführenBild1.png
  • Achtung! Das System möchte neu starten. Kein Neustart!
  • ntdsutil starten und den Benutzer Joe Hamster als autoritative markieren, die Versionsummer wird um 100.000 erhöhrt – dann Neustartbild139.png
Was ist jetzt geschehen? Warum wird die Versionsnummer um 100.000 erhöht?

Durch das Booten im abgesicherten Modus wird Active Directory nicht ausgeführt, d.h. der Server ist kein Domain-Controller. Wenn dieser kein Domain-Controller ist, so kann ich mich auch nicht mit dem Domänen-Administrator an der Domäne anmelden, sondern ich muss das DSRM Passwort verwenden, um mich lokal anzumelden.

Ich stelle das Backup wieder her. Im Falle eines Neustarts würden die anderen DCs nach der Replikation meinen Benutzer auf DC01 wieder löschen, weil sie der Meinung sind, dass das Backup des Benutzers eine ältere Version ist als ihre Version (z.B: 1700 vs. 1701).

Die Versionsnummer des wiederhergestellten Benutzers ist 1700. Die anderen DCs führen den Benutzer mit der Versionsnummer 1701!

Ich führe ntdsutil aus, um die USN Versionsnummer um 100.000 pro Tag seit dem Erstellen des Backups zu erhöhen. Daher “glauben” die anderen DCs, dass meine Version des Benutzers die Neuere ist, nämlich 101.701, und die anderen DCs (Versionsnummer 1701) geben sich geschlagen. Der Benutzer wird autoritativ wiederhergestellt und nicht wieder gelöscht. Im Falle eines nicht-autoritativen Restore wäre es nicht möglich gewesen den Benutzer wiederherzustellen.

Besonders ausführlich  wird das Szenario in  Technet: How the Active Directory Replication Model Works beschrieben.

3 replies »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.