Sichere Virtualisierung von Active Directory Domain Services (AD DS)Safely virtualizing Active Directory Domain Services (AD DS)

Gilt für: Windows ServerApplies To: Windows Server

Ab Windows Server 2012 bietet AD DS durch die Einführung von virtualisierungssicheren Funktionen mehr Unterstützung für das Virtualisieren von Domänencontrollern.Beginning with Windows Server 2012, AD DS provides greater support for virtualizing domain controllers by introducing virtualization-safe capabilities. In diesem Artikel werden die Rollen von Updatesequenznummern (USNs) und Aufruf-IDs in der Domänencontrollerreplikation sowie mögliche Probleme erläutert.This article explains the role of USNs and InvocationIDs in Domain Controller replication and discusses some potential issues that can occur.

Updatesequenznummer und Aufruf-IDUpdate sequence number and InvocationID

Virtuelle Umgebungen bedeuten individuelle Herausforderungen für verteilte Arbeitslasten, die von einem logischen taktbasierten Replikationsschema abhängen.Virtual environments present unique challenges to distributed workloads that depend upon a logical clock-based replication scheme. Die AD DS-Replikation verwendet beispielsweise einen monoton steigenden Wert (als %%amp;quot;USN%%amp;quot; oder %%amp;quot;Updatesequenznummer%%amp;quot;), der Transaktionen auf jedem Domänencontroller zugewiesen ist.AD DS replication, for example, uses a monotonically increasing value (known as a USN or Update Sequence Number) assigned to transactions on each domain controller. Jeder Datenbankinstanz eines Domänencontrollers wird auch eine Identität zugewiesen, die als Aufruf-ID bezeichnet wird.Each domain controller's database instance is also given an identity, known as an InvocationID. Die Aufrufkennung eines Domänencontrollers dient in Verbindung mit der USN als eindeutiger Bezeichner, der jeder Schreibtransaktion auf jedem Domänencontroller zugeordnet ist, und innerhalb der Gesamtstruktur eindeutig sein muss.The InvocationID of a domain controller and its USN together serve as a unique identifier associated with every write-transaction performed on each domain controller and must be unique within the forest.

Die AD DS-Replikation verwendet Aufrufkennungen und USNs auf jedem Domänencontroller, um zu bestimmen, welche Änderungen auf anderen Domänencontrollern repliziert werden müssen.AD DS replication uses InvocationID and USNs on each domain controller to determine what changes need to be replicated to other domain controllers. Wenn für einen Domänencontroller ein Rollback außerhalb seines Wirkungsbereichs ausgeführt wird und eine USN für eine vollkommen andere Transaktion wiederverwendet wird, wird die Replikation nicht zusammengeführt, da andere Domänencontroller davon ausgehen, dass sie die der wiederverwendeten USN zugeordneten Aktualisierungen im Kontext der Aufruf-ID bereits erhalten haben.If a domain controller is rolled back in time outside of the domain controller's awareness and a USN is reused for an entirely different transaction, replication will not converge because other domain controllers will believe they have already received the updates associated with the re-used USN under the context of that InvocationID.

Die folgende Abbildung veranschaulicht z. B. die Abfolge von Ereignissen in Windows Server 2008 R2 und älteren Betriebssystemen, wenn ein USN-Rollback auf VDC2, dem auf einem virtuellen Computer ausgeführten Zieldomänencontroller, erkannt wird.For example, the following illustration shows the sequence of events that occurs in Windows Server 2008 R2 and earlier operating systems when USN rollback is detected on VDC2, the destination domain controller that is running on a virtual machine. In der folgenden Abbildung wird das USN-Rollback auf VDC2 erkannt, wenn ein Replikationspartner feststellt, dass VDC2 einen USN-Wert zur Aktualität gesendet hat, der zuvor vom Replikationspartner gesehen wurde. Dies weist darauf hin, dass ein nicht ordnungsgemäßes Rollback für die VDC2-Datenbank durchgeführt wurde.In this illustration, the detection of USN rollback occurs on VDC2 when a replication partner detects that VDC2 has sent an up-to-dateness USN value that was seen previously by the replication partner, which indicates that VDC2's database has rolled back in time improperly.

Die Ereignisabfolge bei Erkennung eines USN-Rollbacks

Mithilfe einer VM (virtueller Computer) können Hypervisoradministratoren ganz einfach ein Rollback für die USNs eines Domänencontrollers (die logische Uhr) durchführen, indem sie beispielsweise eine Momentaufnahme außerhalb des Wirkungsbereichs des Domänencontrollers anwenden.A virtual machine (VM) makes it easy for hypervisor administrators to roll back a domain controller's USNs (its logical clock) by, for example, applying a snapshot outside of the domain controller's awareness. Weitere Informationen zur USN und zum USN-Rollback, einschließlich weiterer Abbildungen zur Veranschaulichung unerkannter Instanzen eines USN-Rollbacks, finden Sie unter USN and USN Rollback.For more information about USN and USN rollback, including another illustration to demonstrate undetected instances of USN rollback, see USN and USN Rollback.

Ab Windows Server 2012 können virtuelle AD DS-Domänencontroller, die auf Hypervisorplattformen gehostet werden, die den Bezeichner „VM-Generations-ID“ zur Verfügung stellen, erforderliche Sicherheitsmaßnahmen erkennen und anwenden, um die AD DS-Umgebung zu schützen, wenn für die VM ein Rollback mittels Anwendung einer VM-Momentaufnahme durchgeführt wird.Beginning with Windows Server 2012 , AD DS virtual domain controllers hosted on hypervisor platforms that expose an identifier called VM-Generation ID can detect and employ necessary safety measures to protect the AD DS environment if the virtual machine is rolled back in time by the application of a VM snapshot. Der VM-Generations-ID-Entwurf verwendet einen unabhängigen Mechanismus des Hypervisoranbieters, um diesen Bezeichner im Adressbereich des virtuellen Gastcomputers bereitzustellen, damit die sichere Virtualisierung ständig von jedem Hypervisor verfügbar ist, der VM-Generations-ID unterstützt.The VM-GenerationID design uses a hypervisor-vendor independent mechanism to expose this identifier in the address space of the guest virtual machine, so the safe virtualization experience is consistently available of any hypervisor that supports VM-GenerationID. Dieser Bezeichner kann von Diensten und Anwendungen verwendet werden, die innerhalb des virtuellen Computers ausgeführt werden, um zu ermitteln, ob für einen virtuellen Computer ein Rollback durchgeführt wurde.This identifier can be sampled by services and applications running inside the virtual machine to detect if a virtual machine has been rolled back in time.

Auswirkungen von USN-RollbacksEffects of USN rollback

Wenn USN-Rollbacks auftreten, werden Änderungen an Objekten und Attributen nicht von Zieldomänencontrollern eingehend repliziert, die die USN zuvor gesehen haben.When USN rollbacks occur, modifications to objects and attributes are not inbound replicated by destination domain controllers that have previously seen the USN.

Da diese Zieldomänencontroller annehmen, dass sie auf dem neuesten Stand sind, werden keine Replikationsfehler in der AD DS-Ereignisprotokollen oder von Überwachungs- und Diagnosetools gemeldet.Because these destination domain controllers believe they are up to date, no replication errors are reported in Directory Service event logs or by monitoring and diagnostic tools.

Das USN-Rollback kann sich auf die Replikation von Objekten oder Attributen in beliebigen Partitionen auswirken.USN rollback may affect the replication of any object or attribute in any partition. Der am häufigsten beobachtete Nebeneffekt ist, dass Benutzer- und Computerkonten, die auf dem Rollbackdomänencontroller erstellt werden, auf einem oder mehreren Replikationspartnern nicht vorhanden sind.The most frequently observed side effect is that user accounts and computer accounts that are created on the rollback domain controller do not exist on one or more replication partners. Alternativ können Kennwortupdates, die vom Rollbackdomänencontroller stammen, auf Replikationspartnern nicht vorhanden sein.Or, the password updates that originated on the rollback domain controller do not exist on replication partners.

Ein USN-Rollback kann die Replikation von beliebigen Objekttypen in beliebigen Active Directory-Partitionen verhindern.A USN rollback can prevent any object type in any Active Directory partition from replicating. Zu diesen Objekttypen gehören die folgenden:These object types include the following:

  • Die Active Directory-Replikationstopologie und -PlanungThe Active Directory replication topology and schedule
  • Das Vorhandensein von Domänencontrollern in der Gesamtstruktur und die Rollen, die diese Domänencontroller enthaltenThe existence of domain controllers in the forest and the roles that these domain controllers hold
  • Das Vorhandensein von Domänen- und Anwendungspartitionen in der GesamtstrukturThe existence of domain and application partitions in the forest
  • Das Vorhandensein von Sicherheitsgruppen und ihren aktuellen GruppenmitgliedschaftenThe existence of security groups and their current group memberships
  • Registrierung des DNS-Eintrags in in Active Directory integrierten DNS-ZonenDNS record registration in Active Directory-integrated DNS zones

Die Menge der fehlenden USNs kann Hunderten, Tausenden oder sogar Zehntausenden Änderungen an Benutzern, Computern, Vertrauensstellungen, Kennwörtern und Sicherheitsgruppen entsprechen.The size of the USN hole may represent hundreds, thousands, or even tens of thousands of changes to users, computers, trusts, passwords, and security groups. Die Menge der fehlenden USNs wird durch den Unterschied zwischen der höchsten USN, die zum Zeitpunkt der Erstellung der wiederhergestellten Systemstatussicherung vorhanden war, und der Anzahl der Quelländerungen definiert, die auf dem zurückgesetzten Domänencontroller erstellt wurden, bevor dieser offline geschaltet wurde.The USN hole is defined by the difference between the highest USN number that existed when the restored system state backup was made and the number of originating changes that were created on the rolled-back domain controller before it was taken offline.

Erkennen eines USN-RollbacksDetecting a USN rollback

Da es schwierig ist, ein USN-Rollback zu erkennen, protokolliert ein Domänencontroller das Ereignis 2095, wenn ein Quelldomänencontroller eine zuvor anerkannte USN-Zahl ohne eine entsprechende Änderung an der Aufrufs-ID an einen Zieldomänencontroller sendet.Because a USN rollback is difficult to detect, a domain controller logs event 2095 when a source domain controller sends a previously acknowledged USN number to a destination domain controller without a corresponding change in the invocation ID.

Der Anmeldedienst wird angehalten, um die Erstellung eindeutiger Quellupdates für Active Directory auf dem nicht ordnungsgemäß wiederhergestellten Domänencontroller zu verhindern.To prevent unique originating updates to Active Directory from being created on the incorrectly restored domain controller, the Net Logon service is paused. Wenn der Anmeldedienst angehalten wurde, können Benutzer- und Computerkonten das Kennwort eines Domänencontrollers nicht ändern, der solche Änderungen nicht ausgehend repliziert.When the Net Logon service is paused, user and computer accounts cannot change the password on a domain controller that will not outbound-replicate such changes. Ebenso bevorzugen Active Directory-Verwaltungstools einen fehlerfreien Domänencontroller, wenn sie Updates an Objekten in Active Directory vornehmen.Similarly, Active Directory administration tools will favor a healthy domain controller when they make updates to objects in Active Directory.

Wenn die folgenden Bedingungen auf einem Domänencontroller vorliegen, werden Ereignismeldungen ähnlich den folgenden aufgezeichnet:On a domain controller, event messages that resemble the following are recorded if the following conditions are true:

  • Ein Quelldomänencontroller sendet eine zuvor anerkannte USN-Zahl an einen Zieldomänencontroller.A source domain controller sends a previously acknowledged USN number to a destination domain controller.
  • Es liegt keine entsprechende Änderung in der Aufruf-ID vor.There is no corresponding change in the invocation ID.

Diese Ereignisse können im Directory Service-Ereignisprotokoll erfasst werden.These events may be captured in the Directory Service event log. Sie können jedoch überschrieben werden, bevor ein Administrator sie sieht.However, they may be overwritten before they are observed by an administrator.

Wenn Sie vermuten, dass ein USN-Rollback aufgetreten ist, aber kein entsprechendes Ereignis in den Ereignisprotokollen finden können, prüfen Sie die Registrierung auf den Eintrag „DSA Not Writable“ (in den Verzeichnissystem-Agent kann nicht geschrieben werden).If you suspect a USN rollback has ocurred but do not see a corresponding event in the event logs, check for the DSA Not Writable entry in the registry. Dieser Eintrag bietet forensische Beweise für das Auftreten eines USN-Rollbacks.This entry provides forensic evidence that a USN rollback has occurred.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Registry entry: Dsa Not Writable
Value: 0x4

Warnung

Durch Löschen oder manuelles Ändern des Registrierungseintragswerts „DSA Not Writable“ wird der Rollbackdomänencontroller permanent in einen nicht unterstützten Status versetzt.Deleting or manually changing the Dsa Not Writable registry entry value puts the rollback domain controller in a permanently unsupported state. Daher werden solche Änderungen nicht unterstützt.Therefore, such changes are not supported. Durch das Ändern des Werts wird das Quarantäneverhalten entfernt, das durch den USN-Rollbackerkennungscode hinzugefügt wird.Specifically, modifying the value removes the quarantine behavior added by the USN rollback detection code. Die Active Directory-Partitionen auf dem Rollbackdomänencontroller werden dauerhaft inkonsistent mit direkten und transitiven Replikationspartnern in derselben Active Directory-Gesamtstruktur sein.The Active Directory partitions on the rollback domain controller will be permanently inconsistent with direct and transitive replication partners in the same Active Directory forest.

Weitere Informationen zu diesem Registrierungsschlüssel und den Lösungsschritten finden Sie im Supportartikel Active Directory-Replikationsfehler 8456 oder 8457: „Der Quell-/Zielserver nimmt zurzeit keine Replikationsanforderungen entgegen“.More information on this registry key and resolution steps can be found in the support article Active Directory Replication Error 8456 or 8457: "The source | destination server is currently rejecting replication requests".

Virtualisierungsbasierte SicherheitsmaßnahmenVirtualization based safeguards

Während der Installation des Domänencontrollers speichert AD DS den Bezeichner „VM-Generations-ID“ als Teil des Attributs „msDS-GenerationID“ im Computerobjekt des Domänencontrollers in dessen Datenbank (oft als Verzeichnisinformationsstruktur oder DIT (Directory Information Tree) bezeichnet).During domain controller installation, AD DS initially stores the VM GenerationID identifier as part of the msDS-GenerationID attribute on the domain controller's computer object in its database (often referred to as the directory information tree, or DIT). Die VM-Generations-ID wird von einem Windows-Treiber innerhalb des virtuellen Computers unabhängig nachverfolgt.The VM GenerationID is independently tracked by a Windows driver inside the virtual machine.

Wenn ein Administrator den virtuellen Computer aus einem früheren Momentaufnahme wiederherstellt, wird der aktuelle Wert der VM-Generations-ID aus dem Treiber des virtuellen Computers mit einem Wert in der DIT verglichen.When an administrator restores the virtual machine from a previous snapshot, the current value of the VM GenerationID from the virtual machine driver is compared against a value in the DIT.

Unterscheiden sich die beiden Werte, wird die Aufrufkennung zurückgesetzt und der RID-Pool verworfen, um das erneute Verwenden der USN zu verhindern.If the two values are different, the invocationID is reset and the RID pool discarded thereby preventing USN re-use. Sind die Werte identisch, wird die Transaktion normal ausgeführt.If the values are the same, the transaction is committed as normal.

AD DS vergleicht auch bei jedem Neustart des Domänencontrollers den aktuellen Wert der VM-Generations-ID des virtuellen Computers mit dem Wert in der DIT. Unterscheiden sich die Werte, wird die Aufrufkennung zurückgesetzt, der RID-Pool verworfen und die DIT mit dem neuen Wert aktualisiert.AD DS also compares the current value of the VM GenerationID from the virtual machine against the value in the DIT each time the domain controller is rebooted and, if different, it resets the invocationID, discards the RID pool and updates the DIT with the new value. Außerdem wird der Ordner %%amp;quot;SYSVOL%%amp;quot; nicht autorisierend synchronisiert, um die sichere Wiederherstellung abzuschließen.It also non-authoritatively synchronizes the SYSVOL folder in order to complete safe restoration. Dadurch können Schutzvorrichtungen die Anwendung von Momentaufnahmes auf heruntergefahrenen virtuellen Computern erweitern.This enables the safeguards to extend to the application of snapshots on VMs that were shutdown. Diese in Windows Server 2012 eingeführten Sicherheitsmaßnahmen ermöglichen AD DS-Administratoren die Nutzung der einzigartigen Vorteile der Bereitstellung und Verwaltung von Domänencontrollern in einer virtualisierten Umgebung.These safeguards introduced in Windows Server 2012 enable AD DS administrators to benefit from the unique advantages of deploying and managing domain controllers in a virtualized environment.

In der folgenden Abbildung wird veranschaulicht, wie Virtualisierungsschutzvorrichtungen angewendet werden, wenn dasselbe USN-Rollback auf einem virtualisierten Domänencontroller erkannt wird, der Windows Server 2012 auf einem Hypervisor ausführt, der die VM-Generations-ID unterstützt.The following illustration shows how virtualization safeguards are applied when the same USN rollback is detected on a virtualized domain controller that runs Windows Server 2012 on a hypervisor that supports VM-GenerationID.

Bei Erkennung desselben USN-Rollbacks angewendete Sicherheitsmaßnahmen

In diesem Fall werden Virtualisierungsschutzvorrichtungen ausgelöst, wenn der Hypervisor eine Änderung am Wert der VM-Generations-ID erkennt. Dabei wird auch die Aufrufkennung des virtualisierten Domänencontrollers (im vorhergehenden Beispiel von A zu B) zurückgesetzt und der auf dem virtuellen Computer gespeicherte Wert der VM-Generations-ID so aktualisiert, dass er mit dem neuen vom Hypervisor gespeicherten Wert (G2) übereinstimmt.In this case, when the hypervisor detects a change to VM-GenerationID value, virtualization safeguards are triggered, including the reset of the InvocationID for the virtualized DC (from A to B in the preceding example) and updating the VM-GenerationID value saved on the VM to match the new value (G2) stored by the hypervisor. Mit den Schutzvorrichtungen wird sichergestellt, dass die Replikation für beide Domänencontroller zusammengeführt wird.The safeguards ensure that replication converges for both domain controllers.

In Windows Server 2012 verwendet AD DS Sicherheitsmaßnahmen auf virtuellen Domänencontrollern, die auf VM-Generations-ID-fähigen Hypervisoren gehostet werden, und stellt sicher, dass die versehentliche Anwendung von Momentaufnahmen oder ähnlicher Hypervisor-fähigen Mechanismen, die ein Rollback für den Status einer VM durchführen könnten, die AD DS-Umgebung nicht beeinträchtigt (durch Verhindern von Replikationsproblemen wie z. B. einer USN Bubble oder veralteten Objekten).With Windows Server 2012, AD DS employs safeguards on virtual domain controllers hosted on VM-GenerationID aware hypervisors and ensures that the accidental application of snapshots or other such hypervisor-enabled mechanisms that could rollback a virtual machine's state does not disrupt the AD DS environment (by preventing replication problems such as a USN bubble or lingering objects).

Das Wiederherstellen eines Domänencontrollers mittels Anwendung einer VM-Momentaufnahme wird jedoch nicht als Alternativmechanismus zum Sichern eines Domänencontrollers empfohlen.Restoring a domain controller by applying a virtual machine snapshot is not recommended as an alternative mechanism to backing up a domain controller. Es wird empfohlen, weiterhin die Windows Server-Sicherung oder andere VSS Writer-basierte Sicherungslösungen zu verwenden.It is recommended that you continue to use Windows Server Backup or other VSS-writer based backup solutions.

Achtung

Wenn ein Domänencontroller in einer Produktionsumgebung versehentlich auf eine Momentaufnahme zurückgesetzt wird, wird empfohlen, sich an die Anbieter der Anwendungen und der auf dieser VM gehosteten Dienste zu wenden, um Anweisungen zum Überprüfen der Status dieser Programme nach der Momentaufnahmenwiederherstellung zu erhalten.If a domain controller in a production environment is accidentally reverted to a snapshot, it's advised that you consult the vendors for the applications, and services hosted on that virtual machine, for guidance on verifying the state of these programs after snapshot restore.

Weitere Informationen finden Sie unter Virtualized domain controller safe restore architecture.For more information, see Virtualized domain controller safe restore architecture.

Wiederherstellung nach einem USN-RollbackRecovering from a USN rollback

Es gibt zwei Ansätze für die Wiederherstellung nach einem USN-Rollback:There are two approaches to recover from a USN rollback:

  • Entfernen des Domänencontrollers aus der DomäneRemove the Domain Controller from the domain
  • Wiederherstellen des Systemstatus einer fehlerfreien SicherungRestore the system state of a good backup

Entfernen des Domänencontrollers aus der DomäneRemove the Domain Controller from the domain

  1. Entfernen Sie Active Directory aus dem Domänencontroller, um ihn als eigenständigen Server zu erzwingen.Remove Active Directory from the domain controller to force it to be a stand-alone server.
  2. Fahren Sie den herabgestuften Server herunter.Shut down the demoted server.
  3. Bereinigen Sie die Metadaten des herabgestuften Domänencontrollers über einen fehlerfreien Domänencontroller.On a healthy domain controller, clean up the metadata of the demoted domain controller.
  4. Wenn der fehlerhaft wiederhergestellte Domänencontroller Betriebsmasterrollen hostet, übertragen Sie diese Rollen auf einen fehlerfreien Domänencontroller.If the incorrectly restored domain controller hosts operations master roles, transfer these roles to a healthy domain controller.
  5. Starten Sie den herabgestuften Server neu.Restart the demoted server.
  6. Installieren Sie Active Directory bei Bedarf erneut auf dem eigenständigen Server.If you are required to, install Active Directory on the stand-alone server again.
  7. Wenn der Domänencontroller zuvor ein globaler Katalog war, konfigurieren Sie den Domänencontroller erneut als globalen Katalog.If the domain controller was previously a global catalog, configure the domain controller to be a global catalog.
  8. Wenn der Domänencontroller zuvor Betriebsmasterrollen gehostet hat, übertragen Sie die Betriebsmasterrollen zurück auf den Domänencontroller.If the domain controller previously hosted operations master roles, transfer the operations master roles back to the domain controller.

Wiederherstellen des Systemstatus einer fehlerfreien SicherungRestore the system state of a good backup

Werten Sie aus, ob gültige Systemstatussicherungen für diesen Domänencontroller vorhanden sind.Evaluate whether valid system state backups exist for this domain controller. Wenn eine gültige Systemstatussicherung erstellt wurde, bevor die fehlerhafte Wiederherstellung des Domänencontrollers ausgeführt wurde, für den ein Rollback durchgeführt wurde, und die Sicherung aktuelle Änderungen enthält, die auf dem Domänencontroller durchgeführt wurden, stellen Sie den Systemstatus aus der aktuellsten Sicherung wieder her.If a valid system state backup was made before the rolled-back domain controller was incorrectly restored, and the backup contains recent changes that were made on the domain controller, restore the system state from the most recent backup.

Sie können die Momentaufnahme auch als Sicherungsquelle verwenden.You can also use the snapshot as a source of a backup. Alternativ können Sie die Datenbank so einrichten, dass sie sich selbst eine neue Aufrufs-ID erteilt, indem Sie die Vorgehensweise aus dem Abschnitt Wiederherstellen eines virtuellen Domänencontrollers, wenn keine entsprechende Sicherung der Systemstatusdaten verfügbar ist durchführen.Or you can set the database to give itself a new invocation ID using the procedure in the section Restoring a virtual domain controller when an appropriate system state data backup is not available

Nächste SchritteNext steps