一、RODC的特征

  只读数据:RODC上包含所有ADDS的对象和属性,但是和可读写的DC不一样的是,默认情况下,RODC上不包含账户的密码。在不能保证域控制器的安全性的情况下(例如分支机构),我们通过RODC实现域信息的安全性。在分支机构如果有LDAP的应用程序需要访问活动目录并对活动目录对象作修改,则该LDAP应用程序可以重定向到中央站点的可读写DC上。

   单向复制:RODC对ADDS和DFS执行的常规的入站复制。因为您不能直接在RODC上进行写的操作,所以RODC是不支持出站复制的,所以作为RODC复制伙伴的可读写DC是不会从RODC接收到数据的。RODC的单向复制也同样应用到DFS复制。

   凭据缓存:在RODC上存储用户和计算机的凭据称之为credential caching(凭据缓存)。默认情况下,RODC上只存储它自己的计算机账户和一个用于这台RODC的特殊的Kerberos 票据授权票 (KRBTGT)账户,此账户是被可读写DC用来验证RODC身份的。如果您需要在RODC上存储用户凭据或者计算机凭据的话,你需要在RODC上允许这些凭据被缓存。如果您在RODC上激活了凭据缓存,它只会影响组织中计算机和与用户账户的比较小的子集,这是因为RODC一般是总是放置在比较小的分支机构,所以您允许凭据缓存的计算机和用户账户应该都不多。这样即使您的RODC被偷了,您只会丢失那些缓存在RODC上的凭据。其实在后面会说到,在RODC被偷走之后,您可以马上在可读写DC上将RODC的计算机账户删除,在删除时可以对缓存在该RODC上的凭据进行密码重设,这样丢失掉的这些凭据就没有任何作用了。

   只读DNS:您可以在RODC上安装DNS服务。RODC可以复制DNS所使用的所有应用程序目录分区(Application Directory Partition),包括ForestDNSZones和DomainDNSZones。如果您在RODC上安装了DNS,则客户端可以请求RODC进行名称解析。但是,在RODC上的DNS是不支持客户端直接进行更新DNS纪录的,因此RODC不会在它所拥有的活动目录集成区域里面注册任何NS纪录。当客户端找RODC进行DNS纪录更新时,RODC将返回一个指针。然后客户端计算机将联系指针所指向的DNS服务器更新DNS纪录。在后台,在RODC上的DNS服务器将尝试从执行更新的DNS服务器上复制更新的纪录。为了提高复制效率,RODC只会请求更新的纪录。

  管理角色分离:您可以使用该特征来允许一个普通的域用户成为RODC的本地管理员。这样此用户可以对分支机构的RODC进行管理操作,例如安装安全更新或者驱动程序。这个特征好处在于此用用在域中或者任何可读写的域控制器上没有用户权利。而在以前都是可读写DC,DC的本地管理员和域管理员是没有区别的。这使得分支机构用户可以有效的管理RODC而不会影响整个域的安全性。

 

二、部署RODC的指南

如果您需要在有Windows Server 2003域控制器的域中安装RODC,您必须升级一些域控制器到Windows Server 2008。在部署RODC时您应该有以下考虑:

  活动目录复制考虑。RODC可以从Windows Sever 2003域控制器复制架构分区和配置分区的数据,但是RODC只能从来自同一域的Windows Server 2008的可读写域控制器复制域分区的数据更新。因此,您至少应该在中央站点安装一台Windows Server 2008的域控制器用于RODC复制。

  持有PDC角色的Windows Server 2008域控制器。作为PDC操作主控角色的域控制器一定要是Windows Server 2008,这样才可以识别新的RODC所使用的特殊的Kerberos 票据授权票 (KRBTGT)账户。

   与其它域控制器一起部署。您可以在没有任何域控制器的站点部署RODC。但是您也可以在拥有以下域控制器的站点部署RODC:

   来自于同一域或者不同域的Windows Server 2003域控制器

   来自于同一域或者不同域的Windows Server 2008域控制器

   来自不同域的RODC(注:不可以有来自于同一域的RODC)

   降低中央站点域控制器的负载。在安装RODC时您可以指定RODC和位于中央站点的特定的桥头服务器进行单向复制,这样降低了网络流量和用于复制的服务器资源使用。

   RODC做GC(全局编录)。您可以将RODC设置为GC,但是不能使RODC持有操作主控角色。

 

三、实现RODC的需求

   森林的功能级别需要为Windows Server 2003或以上。这样一个可以支持LVR复制以减少更新的丢失。LVR复制使得可以复制特定的值而不是复制包含一组值得属性。第二个可以支持强制委派(constrained delegation)。在RODC的场景中,有一个特殊的Kerberos 票据授权票 (KRBTGT)账户用于验证可读写DC和RODC之间的连接。该帐户在RODC上就拥有强制委派权限。

  至少一台Windows Server 2008的DC。

  如果只有一台Windows Server 2008 DC,此DC应该为PDC角色。

  应该在同一域中实现多台Windows Server 2008 DC,来实现RODC复制的负载平衡。

  一个域,一个站点只能拥有一台RODC。

 

四、密码复制策略

前面有提到RODC支持凭据缓存,但是RODC在发送凭据缓存请求到可读写DC时,可读写DC是通过密码复制策略来决定账户的密码是否可以被RODC缓存。

可以有以下几种选择。

1、不缓存账户。这个是默认设置。

   优点:

   最高的安全性

   快速的策略处理

   缺点:

   任何人都不可以离线访问

   在另外一个站点一定要有一台可读写DC用于登陆

2、  缓存大部分账户

   优点:

   很容易进行密码管理。我们只需要关注在管理RODC的安全而不是密码的安全。

   缺点:

   对于RODC来说,缓存的大部分的密码将是潜在的安全威胁。

3、 缓存少数特定的分支机构账户

   优点:

   保护了密码安全

   实现了用户离线访问

   缺点:

   您需要把每个计算机账户和用户账户映射到每个分支机构,在RODC的属性中可以查看哪些账户通过RODC进行身份验证,以此来决定有哪些账户是需要为该分支机构的,需要进行缓存。这是一个需要管理员交互式操作的过程,所以带来一定的管理成本增加。

 

实验环境:hbycrsj.com安装好一台可读写的DC:R2DC01和一台安装好windows 2008 r2独立服务器r2rodc

 

实验要求:将r2rodc安装为一台RODC

 

实验步骤

安装RODC

确保林功能级别为 Windows Server 2003 或更高版本的步骤
1.打开“Active Directory 域和信任关系”。

2.在控制台树中,右键单击林的名称,然后单击“属性”。

3.在“林功能级别”下,验证值是 Windows Server 2003 还是 Windows Server 2008。

4.如果有必要提升林功能级别,请在控制台树中,右键单击“Active Directory 域和信任关系”,然后单击“提升林功能级别”。

5.在“选择一个可用的林功能级别”中,单击 Windows Server 2003,然后单击“提升”。

 

运行 adprep /rodcprep
此步骤更新林中所有 DNS 应用程序目录分区上的权限。这允许它们被也是 DNS 服务器的所有 RODC 成功复制。若要运行 adprep /rodcprep,您必须是 Enterprise Admins 组的成员。

运行 adprep /rodcprep 的步骤
1.以 Enterprise Admins 组成员的身份登录到域控制器。

2.将 Windows Server 2008 安装 DVD 中 \sources\adprep 文件夹的内容复制到架构主机。

3.打开命令提示符,将目录更改为 adprep 文件夹,键入以下命令,然后按 Enter:

adprep /rodcprep

 

运行dcpromo进行RODC安装

以下是几个重要的截图:(其它选择参加前面Windows Server 2008 R2之一活动目录服务部署)

Windows Server 2008 R2 RODC(只读域控制器)_目录

Windows Server 2008 R2 RODC(只读域控制器)_安全性_02

Windows Server 2008 R2 RODC(只读域控制器)_目录_03

以下导出的安装脚本:

; DCPROMO unattend file (automatically generated by dcpromo)
; Usage:
  dcpromo.exe /unattend:C:\unattend.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=HBYCRSJ.COM
; RODC Password Replication Policy
PasswordReplicationDenied="BUILTIN\Administrators"
PasswordReplicationDenied="BUILTIN\Server Operators"
PasswordReplicationDenied="BUILTIN\Backup Operators"
PasswordReplicationDenied="BUILTIN\Account Operators"
PasswordReplicationDenied="HBYCRSJ\Denied RODC Password Replication Group"
PasswordReplicationAllowed="HBYCRSJ\Allowed RODC Password Replication Group"
SiteName=Default-First-Site-Name
InstallDNS=Yes
ConfirmGc=Yes
CreateDNSDelegation=No
UserDomain=HBYCRSJ.COM
UserName=HBYCRSJ.COM\BILL.XU
Password=*
ReplicationSourceDC=R2DC01.HBYCRSJ.COM
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=
; Run-time flags (optional)
; CriticalReplicationOnly=Yes
; RebootOnCompletion=Yes
 

管理RODC

1、在AD用户和计算机管理控制台中,建立一全局组TESTRODC_G和加入这个组用户RODCUser

2、在AD用户和计算机管理控制台中,选择Domain Controllers,右击RODC,选择属性,进行如下操作

(将TestRODC_G增加到允许缓存组)

Windows Server 2008 R2 RODC(只读域控制器)_控制器_04Windows Server 2008 R2 RODC(只读域控制器)_控制器_05Windows Server 2008 R2 RODC(只读域控制器)_Windows_06Windows Server 2008 R2 RODC(只读域控制器)_控制器_07

下面的操作用来查看用户缓存情况,

Windows Server 2008 R2 RODC(只读域控制器)_目录_08Windows Server 2008 R2 RODC(只读域控制器)_目录_09Windows Server 2008 R2 RODC(只读域控制器)_Windows_10

预设用户缓存操作

Windows Server 2008 R2 RODC(只读域控制器)_应用程序_11

Windows Server 2008 R2 RODC(只读域控制器)_安全性_12Windows Server 2008 R2 RODC(只读域控制器)_应用程序_13

Windows Server 2008 R2 RODC(只读域控制器)_应用程序_14Windows Server 2008 R2 RODC(只读域控制器)_控制器_15

查看用户策略结果:

Windows Server 2008 R2 RODC(只读域控制器)_目录_16Windows Server 2008 R2 RODC(只读域控制器)_应用程序_17Windows Server 2008 R2 RODC(只读域控制器)_控制器_18

以下操作在R2RODC上完成

将RODCUSER增加到RODCUSER本地管理员组

Windows Server 2008 R2 RODC(只读域控制器)_控制器_19

 

Windows Server 2008 R2 RODC(只读域控制器)_应用程序_20

 

Windows Server 2008 R2 RODC(只读域控制器)_控制器_21

关闭r2dc01注销R2RODC,以RODCUSER登录

Windows Server 2008 R2 RODC(只读域控制器)_目录_22