Active Directory Forest Recovery

advertisement
Active Directory Forest Recovery
Contents
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Introduction
Active Directory Components
Possible Active Directory Disasters
Recovery of User, Group and Organization Unit
a. Authoritative Restore
b. Non-Authoritative Restore
c. Reanimation of objects from Tomb stone
Recovery of Global Catalog
Seizing of FSMO roles
SYSVOL Recovery (DFS based and FRS based)
Recreate default GPOs
Recovery of DNS
Recover Application partition of Active Directory
Schema and Forest Recovery
Recover forest from unrecoverable state
Introduction
In this article, we will cover what are the Active Directory components, what can go wrong with them,
and what are best practices that can be followed to recover from any disaster.
Active Directory Components







Active Directory Domain or Domains
Global Catalog
FSMO Roles
SYSVOL
Schema Partition
Configuration Partition
Application Partition
Best Practices:
1. Backup Active Directory database every week or at least backup once within tombstone period.
2. Create an isolated AD Site that is assigned to a subnet not associated with any user, workstation
or server subnet. Place a domain controller from each domain on this site and set the replication
interval to 7 days.
 This Active Directory site may be used to authoritatively restore any accidently deleted
object without restoring from backups

Since replication interval is high, there is possibility that you will be aware of accidently
deleted objects before they get replicated to isolated Active Directory site.
Possible Active Directory Disasters:








Deletion of Users, Groups, Computers or Organization Unit
Corruption of Global Catalog
Lingering Objects
Corruption of SYSVOL
Corruption of Configuration / Application Partition
Corruption in DNS
Lost Domain Controller with FSMO role
Corruption while updating Schema
Consider the following Active Directory design:
Title
Forest Root Domain
Child Domains
Root Domain Controllers
ChildA Domain Controllers
ChildB Domain Controllers
Details
SARVESH.LOCAL
CHILDA.SARVESH.LOCAL & CHILDB.SARVESH.LOCAL
DC01.SARVESH.LOCAL
DC02.ChildA.Sarvesh.local & DC03.ChildA.Sarvesh.local
DC04.ChildB.Sarvesh.local & DC05.ChildB.Sarvesh.local
Deletion of Users, Groups, Computers and Organization Unit:
Points to note before attempting recovery:
A. Is there a writable domain controller that has not received replication packets?
B. Was the item deleted before or after tombstone period?
C. When was the most recent Active Directory backup taken?
If there is a Domain Controller that has not received deletion updates then:
Stop the Inbound Replication immediately and perform Authoritative Restore.
First Execute:
Repadmin /options <DC_Name> +DISABLE_INBOUND_REPL
Perform Authoritative Restore:
User Restoration:
Let us assume user Joe got deleted and it needs to be authoritatively restored from domain controller
that has not received replication packets
1. Stop ADDS Service (for Windows 2008 and above domain controllers)
Net stop NTDS – would stop ADDS service
USN Before Restore
USN After Restore
Benefits of this approach: This is the easiest method to update all partner servers and to recreate the
object on them. There will be no loss of any attributes and group membership.
Always perform recovery on Global Catalog. Why?
We suggest that you perform restoration of users and groups on Global catalog as it would have
information about the Universal, Global group membership across forest and its own Domain Local
group. This would help in recovering group membership and creating LDIF file for further recovery
Reanimation of Deleted Object from Tombstone:
Explanation: When we delete an object from Active Directory, Active Directory renames the object,
strips some of the attributes and set isDeleted attribute to True. Such objects remain in Deleted Objects
container of domain. These objects gets deleted once they pass Tombstone lifetime and once Garbage
collection process kicks in. Garbage collection process occurs every 12 hours in Active Directory Domain.
How to find out Tombstone period of the domains?
Execute
dsquery * "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,<DN of your
domain>” –attr tombstoneLifeTime
Restore Object from TombStone:
In below example, I have set some attributes for Mark like Title, Description, Manager and have added it
to 3 groups: G_DomainLocal, G_Global and G_Universal. We will now delete Joe, restore it from
Tombstone and confirm that these attributes and group membership will NOT get restored.
So, we have noted down some of the attributes and deleted the user from Active Directory.
Reanimate object from Tombstone
Have a look at the attributes. Description, Manager, Title and group membership have not been
restored. However, SID of the object after recovery is same.
Please note that Restored Object will be in disabled state and you would need to enable the object
before attempting to login.
Suggestion: It is always recommended to restore object from Backup or use DSAMAIN to mount the
previous backup to see the older state of Active Directory object being restored. You may note down the
group membership and add users to required groups later once object is restored.
Authoritative Restore of Organization Unit:
Scenario: We have Sales OU with three groups (Domain Local, Global and Universal) and a user account.
Let us delete the OU and restore it from backup
1. Perform Non-authoritative Restore of Active Directory
2. Authoritative Restore the OU:
Restore subtree “OU=Sales,DC=Sarvesh,DC=local”
You would notice change in USN numbers of OU and all objects in the OU, making them Authoritative in
the domain and for other domain controllers in domain to receive changes
Perform Non-Authoritative Restore:
Assume that Active Directory object has been deleted and has replicated to all domain controllers in the
domain. The object has also been removed from Tombstone or you must restore all attributes from the
backup. Perform the below steps:
1.
2.
3.
4.
5.
6.
7.
Restart Domain Controller in Directory Services Restore Mode and login with DSRM Password
Perform Restoration of System State to original location
At this time, do not restart the Domain Controller
Go to command prompt, and run NTDSUTIL
Type: activate instance NTDS to activate current NTDS database
Type: authoritative restore
And type restore object <DN> to restore the object
Recovery of Global Catalog:
Global Catalog contains writable copy of its own domain and read only copy of other domains in the
forest. It contains only few attributes that are commonly used, referred as Partial Attribute Set.
Application like Exchange uses Global Catalog to identify users in forest and to resolve group
membership across forest.
Think of a scenario, where you have resolved lingering objects issue across domains and Global Catalog
information for other domains is corrupted. Thereby resulting in bad results to Active Directory or
Exchange Server. Corrupted Global Catalog may result in email delivery failure for recipients in the local
forest.
Scenario – ChildA.Sarvesh.local has two domain controllers DC02 and DC03, and ChildB.Sarvesh.local has
two domain controllers DC04 and DC05. All of them are Global Catalog Servers.
DC02 goes offline and comes online after the tombstone lifetime. Thereby, it will show deleted objects
of ChildA as active and enabled, and its Global Catalog will show ChildB’s deleted items as active. This
would result in Active Directory inconsistency across domain controllers.
If Strict replication is enabled, then there will be good of Active Directory replication errors and if Strict
Replication is disabled, it would result in lingering objects.
We now need to rebuild the Global Catalog of ChildB domain on DC02, which is a domain controller for
ChildA.
Recovery:
First:
Enable Strict Replication Consistency across Forest
Repadmin /regkey * +strict
Disable Outbound Replication, because we need to ensure that while we delete the Global Catalog
information from DC02 to rebuild, it should not replicate this to other domain controllers in Active
Directory forest.
** It is extremely critical to disable the Outbound replication, before rebuilding Global Catalog
Repadmin /options DC02 +DISABLE_OUTBOUND_REPL
Now, let us rebuild the Global Catalog:
Repadmin /rehost DC02 CHILDB.SARVESH.LOCAL DC04.CHILDB.SARVESH.LOCAL
Repadmin /rehost <DC Name> <Naming Context of domain> <Good DC of domain containing writable
copy>
Rehosting is used to drop the read only copy of other domain in the forest and rebuilding it from the
domain controller containing writable copy of the partition.
Once rehosting is done. Enable Outbound replication.
Repadmin /options DC02 –DISABLE_OUTBOUND_REPL
It is now recommended to use LDP.exe to query LDAP and Global Catalog to verify that Lingering objects
are removed from Global Catalog
Seizing of FSMO Roles:
In case the Domain Controller containing any of the FSMO role is down for extended period of time and
you may need to seize the role to any other domain controller in the domain or forest, follow the below
steps.
Run NTDSUTIL
Type: Roles
Type: Connections
Type: Connect to server localhost
Type: Seize PDC (to seize PDC Emulator role)
Type: Seize naming master (to seize domain naming master)
Type: Seize Infrastructure master (to seize Infrastructure master role)
Type: Seize Schema master (to seize Schema master role)
Type: Seize RID master (to seize RID Master role)
What happens when original FSMO roles comes back online?
In case domain controller that previously held any of the roles comes online, please ensure that you



disable the outbound replication
Perform Inbound replication from other domain controller in the forest to ensure that it receive
the changes occurred in the Active Directory and made aware of FSMO role ownership changes
Enable Outbound replication
SYSVOL Recovery:
FRS vs. DFS
Active Directory Domain that are pre-Windows 2008 Domain functional level use FRS to replicate
SYSVOl. Domains that are upgraded from Windows 2003 to Windows 2008 and have updated Domain
Functional Level to 2008 needs to go through FRS to DFS migration for SYSVOL contents.
Domains that are installed with Windows 2008 as Function Level, use DFS based SYSVOL replication
natively.
Recovery of DFS based SYSVOL:
How to perform Non-Authoritative restore of SYSVOL from other replication partners:
1. Login to Domain Controller that needs to replicate fresh copy of SYSVOL contents
2. Launch ADSIEDIT.msc
3. Connect to Default Naming Context
4. Double Click on CN=SYSVOL Subscrription,CN=Domain System Volume,CN=DFSRLocalSettings,CN=<DC_Name>,OU=Domain Controllers,DC=<your Domain DN>
5. Look for attribute msDFSR-Enabled and change the value to False
6. Replicate Active Directory throughout domain and wait for changes to replicate all replication
partners in the domain
7. Run command DFSRDIAG /POLLAD
8. You should now see event ID 4114 mentioning SYSVOL is no longer being replicated
9. Change the value msDFSR-Enabled to True in ADSIEDIT for same domain controller
10. Force Active Directory replication and run command
DFSRDIAG /POLLAD
11. Now SYSVOL should start replication from other replication partners
Recovery of FRS based SYSVOL:
1. Stop the NTFRS service. Type below in command prompt
Net stop NTFRS
2. Open registry and browse following path:
HKLM\System\CurrentControlSet\Services\NTFRS\Parameters\Backup/Restore/Process at Startup
3. In the right pane, double click BurFlags to edit value to D2. Click Ok
4. Quit Registry and start NTFRS service
net start NTFRS
This would trigger replication of SYSVOL from other partners using FRS.
Note: Please ensure that Active Replication across forest is normal before fixing SYSVOL replication
issue.
Please look at event logs, replication logs and directory services logs before attempting SYSVOL recovery
How to make logons and SYSVOL work?
Stop FRS replication service on all DCs.
There are two GPOs required to process logons:
Default Domain Controllers Policy {6AC1786C-016F-11D2-945F-00C04fB984F9}
Default Domain Policy {31B2F340-016D-11D2-945F-00C04FB984F9}
Copy these polices to SYSVOL share of every domain controller
How to recreate Default Group Policies?
Use DCGPOFIX utility to recreate Default Domain Policy, Default Domain Controller Policy or both
Dcgpofix /target:both
Recovery of DNS
Active Directory Integrated zones can be stored in 4 places:
1. Domain Partition – Sometimes referred as Legacy partition – Replicated to all domain
controllers in Domain
2. DomainDNSPartition – Replicates to all domain controllers in domain with DNS role installed
3. ForestDNSPartition – Replicates to all domain controllers in forest with DNS role installed
4. Application Partition – Replicates to DNS Servers in the scope of directory partition
Run dnscmd /enumzones to see which Active Directory partition stores the DNS zone:
Use below command to change the Directory partition of domain
Dnscmd /zonechangedirectorypartition <zone-name> /forest | /domain | /legacy
Now the DNS Export and recovery:
Login to Domain Controller that has DNS role installed
Dnscmd <server_name> /zoneexport <dns-name> <export-file-name>
Once the Zone is exported, you may import zone as standalone DNS zone and later save it to Active
Directory if required.
DNS Best Practices:
1. If you have multiple DNS servers for Active Directory in the site, it is recommended to use
another server as Primary DNS server and own as secondary.
2. In case there is no other DNS In local site, then use remote site DNS server as secondary server
on the domain controller
3. If there are multiple domains in the forest, it is advisable to push DNS suffix to all workstations
instead of using WINS. This would reduce load on WINS
4. DNS Zones that are stored in any of Active Directory partition get restores along with Active
Directory per the recovery method you choose. However, we recommend to take export dump
of Active Directory Domain DNS zone to assist with during critical recovery process
Recover Application Directory Partition
Restart Server in Directory Services Restart Mode or stop NTDS service
Net stop NTDS
Run NTDSUTIL
Type activate instance NTDS
Type Authoritative Restore
Type: List NC CRs
To restore any Application partition, make a note of the Partition and corresponding Cross-Ref
Type: restore subtree <Partition information>
Restore subtree “DC=ForestDNSZones,DC=Sarvesh,DC=local”
Restore object <cross-ref>
Schema and Forest Recovery:
Changes made to Schema can’t be reversed. Schema partition can’t be authoritatively restored.
Attributes that have been added to Schema can be disabled but can’t be removed.
If you have made any changes to Schema using some custom application or there is malfunction in
Schema updates then restoring from backup and re-promoting all DCs is the only option left.
Best practice for Schema Updates:
1. Before you begin updating Schema even for well-known applications like Exchange, Lync etc., it
is recommended to
a. disable the Outbound replication
i. repadmin /options <DC_Name> +DISABLE_OUTBOUND_REPL
b. Verify if all changes have been as expected
c. Enable the outbound replication
i. Repadmin /options <DC_Name> -DISABLE_OUTBOUND_REPL
2. Let us assume Schema changes are not successful for the DC that had outbound replication
disabled. Do the following:
a. Keep the outbound replication disabled.
b. Login to another DC on the same domain.
c. Seize the Schema Master FSMO role
d. Perform metadata cleanup for the DC that had failed Schema updates
e. Format the DC that had failed schema updates
3. We suggest to keep Schema Admins group empty, add the service or administrator account to
Schema Admins group when necessary. This would reduce Schema modification chances even
by mistake
Recover forest from unrecoverable state:
Backups, backups and backups are extremely critical for any organization. If you have made changes to
Schema that has replicated across forest or there have been other changes like corruption that are not
possible to reverse.
In this case only option left is to restore every domain in the forest from backup and re-promote all
other DCs in the forest. This needs to be done with extreme care as any change that are made after
backup will be lost.
Please ensure that Active Directory forest backup (i.e. backup of each domain) is taken before
performing any major activity and roll back steps are clearly defined and tested.
-o-
Download