Content of this page:
- 1 - What is a read-only domain controller (RODC)?
- 2 - How to install and configure a RODC
- 3 - How to create an unattendend answer file for a domain controller (DC)
promotion
- 4 - How to control a RODC credential caching and password replication
- 5 - How to check whether a user's password is, or can be, stored on a specific
RODC
- 6 - Why shouldn't I use a domain-administrator account
to log on to a read-only domain controller
- 7 - How do I remove a cached password from a read-only domain controller (RODC)?
- 8 - To unlock an account, you need to re-establish read-write DC connectivity.
The read-write DC will
replicate a 0 lockoutTime value back
to the RODC and unlock the account.
1. WHAT IS A READ-ONLY DOMAIN CONTROLLER (RODC)?
An RODC is a new domain controller (DC) mode in Windows Server 2008. It lets
you store an Active Directory (AD) domain database read-only copy on the DC, but
it has much more functionality than just a database read-only copy. The main
features of an RODC are as follows:
* A read-only AD Domain Services (AD DS) database--Applications that need only
database read access can use the RODC; however, any database changes must be
made to a read-writable DC (RWDC), then
replicated back to the RODC.
* Unidirectional replication--The RODC can't spread misinformation to the
rest of the domain, even if a change is made on the RODC. This reduces the risk
of a system-wide assault and reduces the complexity
of the replication structure.
* Filtered attribute set configuration--A filtered attribute set isn't
replicated to any RODC in the forest. If an RODC is compromised and the set
modified, a Server 2008 RWDC won't replicate the values. A
Windows Server 2003 DC would. If possible, it?s best to have your forest
function level set as Server 2008 so that Server 2003 servers won't be allowed
in the forest in which they could compromise the
data. It?s also important to note that you can't add system-critical attributes
to the RODC filtered attribute set.
* Limited credential caching--An RODC doesn't store user or computer
credentials (except for the RODC's computer account). When the RODC receives an
authentication request, it forwards it to an
RWDC. The RODC then requests a copy of the credential so that it can service the
request itself in the future. If the password-replication policy allows
credential caching, the credential details will be
cached and the RODC can service logon requests (until the credentials change).
* Separation of administrator capabilities--An RODC can designate users
as server administrators without granting any domain or other DC permissions.
* Read-only DNS--An RODC DNS doesn't allow client updates, nor does it
register name-service resource records.
* Two-stage RODC installation--The first installation stage is completed
by a credentialed administrator. He or she creates an AD DS account for the RODC,
with all the RODC's distributed AD database
information, such as its DC account name and its site location. Then, the admin
can designate which users or groups can finish the second installation stage,
usually completed at the remote location. Stage
two installs AD DS on the RODC and attaches the server to its AD DS account.
An RODC can replicate only from a Server 2008 RWDC, so no replication from
Windows Server 2003 DCs or other Windows Server 2008 RODCs is possible.
2. HOW TO INSTALL AND CONFIGURE A READ-ONLY DOMAIN CONTROLLER
You create an RODC in Windows Server 2008 the same way you install a
normal domain controller (DC), except you enable the RODC option in Additional
Domain Controller Options. For a full Server 2008 installation, click Start,
typedcpromoand press Enter. Doing so starts the Active Directory Domain Services
Installation wizard. In the Additional Domain Controller Options dialog box,
select the ?Read-only domain controller (RODC)? option.
When you select the RODC option, the system will prompt you to enter the group
or users you want to have local administrator permissions. This RODC designation
won?t give those groups or users
any privileges on the writable DCs.
If you perform an advanced-mode promotion, you can also configure the initial
password- replication policy. Otherwise, you can configure the policy later.
3. HOW TO CREATE AN UNATTEND ANSWER FILE FOR A DOMAIN CONTROLLER
(DC) PROMOTION
The Dcpromo answer file is a text file with a number of parameters
that depend on the promotion or demotion type. A list of options is possible,
but the best Windows Server 2008 alternative is to just run Dcpromo on a Server
2008 server and specify all the required options. Then, on the last screen,
click Export Settings. Doing so will return a text file with the
unattended-answer-file content needed to automate the Dcpromo action.
Note that you need to enter a SafeModeAdminPassword, and you might also want to
set the server-promotion account password, unless you enter the password during
the promotion process. The following code is an automatically generated Dcpromo
answer file for a new RODC in an existing domain.
; DCPROMO unattend file (automatically generated by dcpromo)
; Usage:
; dcpromo.exe
/unattend:C:\Users\Administrator\Documents\rodccreate.txt
;
; You may need to fill in password fields prior to using the unattend
file.
; If you leave the values for "Password" and/or
"DNSDelegationPassword"
; as "*", then you will be asked for credentials at runtime.
;
[DCInstall]
; Read-Only Replica DC promotion
ReplicaOrNewDomain=ReadOnlyReplica
ReplicaDomainDNSName=savilltech.net
SiteName=Branch
InstallDNS=Yes
ConfirmGc=Yes
CreateDNSDelegation=No
UserDomain=savilltech.net
UserName=savilltech.net\administrator
Password=*
DatabasePath="C:\Windows\NTDS"
LogPath="C:\Windows\NTDS"
SYSVOLPath="C:\Windows\SYSVOL"
; Set SafeModeAdminPassword to the correct value prior to using the
unattend file
SafeModeAdminPassword=ENTERHERE
; Run-time flags (optional) ; CriticalReplicationOnly=Yes
; RebootOnCompletion=Yes
To use the answer file, add the /unattend switch, as follows:
dcpromo.exe /unattend:C:\temp\answerfile.txt
4. HOW TO CONTROL A READ-ONLY DOMAIN CONTROLLER'S (RODC'S)
CREDENTIAL CACHING AND PASSWORD REPLICATION
By default, an RODC won't cache any user or computer passwords. You
can change this policy through each RODC's unique Password Replication Policy (PRP).
To change the PRP, go to the RODC's Computer Properties and access the Password
Replication Policy tab. Click the Allowed RODC Password Replication option to
get the Add Groups, Users and Computers dialog box. Next, select the ?Allow
passwords for the account to replicate to this RODC? check box.
Certain members of core groups, such as administrators and server operators, are
denied by default, and denied status will always take preference over allowed
status. Only those users' designated in the Allowed RODC Password Replication
Group can have their credentials stored.
A typical policy would create a group for each branch office with an RODC, and
add users in that branch office. Then the administrator would allow password
replication for that branch-office group.
5. HOW TO CHECK WHETHER A USER'S PASSWORD IS, OR CAN BE,
STORED ON A SPECIFIC READ-ONLY DOMAIN CONTROLLER (RODC)
Go to the RODC's Computer Properties window. Access the Password
Replication Policy tab, and click Advanced. The computer will display the
accounts that currently have their passwords stored on the RODC.
An administrator can use the Prepopulate Passwords button in the Advanced
Password Replication Policy dialog box to set up accounts and passwords in
advance of users logging on for the first time.
You can use utilities such as Proactive Password Auditor to confirm stored
passwords. Accounts that aren't allowed password replication will be empty. The
utility can also empty an RODC's memory.
6. Why
shouldn't I use a domain-administrator account to log on to a read-only domain
controller RODCs expressly deny caching domain-administrator account credentials. You
should use your administrator credentials only on secure terminals. Someone that
controls a box can run a keylogger to capture plain-text passwords, hijack the
session with local control, or configure a bad policy to run at logon.
The best practice is to never log on to an RODC as a full domain
administrator, and never access an RODC by remote desktop protocol (RDP) as a
domain administrator. Instead, use Windows Remote Shell or Windows Remote
Management to run RODC commands, or use Microsoft Management Console (MMC) in
remote mode. Otherwise, you could give away credentials from a compromised box.
This rule of thumb not only applies to RODCs but also to any potentially
unsecure box.
You should decide how practical these options are for your environment. It's
far easier to use RDP to access a remote box than run remote commands and MMC
snap-ins.
The fact that it's an RODC isn't the crucial factor. RODCs
typically aren't secure because they're in branch offices or somewhere else
exposed to physical attack.
7. How do I remove a cached password
from a read-only domain controller?
You can't. There's no way to directly remove a password from an RODC. To achieve
the same result, you can remove the password from the RODC's cache, as follows.
First, delete the user from the list of users whose credentials the RODC is
allowed to cache; then, reset the password. At the next replication cycle, the
RODC will see that the user's password has changed and that it no longer has
permission to cache the user's credentials. The RODC will remove the user's
credentials from its cache.
8. Why doesn't the read-only domain controller (RODC) GUI
show that it locked a user's account after the user entered an incorrect
password too many times?
By design, RODCs lock user-account access after a designated number of failed
password-entry attempts to prevent accounts from being hacked when RODCs lose
read-write-DC connectivity. Typically, read-write DCs update multiple attributes
with the lockout status. However, RODCs only update the user account's
lockoutTime attribute, which reflects the time the account was locked out. The
lockoutTime
attribute is stored in NT System Time format, which you can convert to normal
time with the w32tm /ntte <value> command.
The RODC checks the lockoutTime attribute when a logon attempt is started. If
the current time minus the lockoutTime value is less than the lockout-duration
configured in the security policy, the RODC won't
let the user log in.
The GUI tools look at the UserAccountControl attribute-not the lockoutTime
attribute-to determine if an account is locked, which is why the GUI tools fail
to show the user-account's locked status.
To unlock an account, you need to re-establish read-write DC connectivity. The
read-write DC will replicate a 0 lockoutTime value back to the RODC and unlock
the account.