
活动目录在Windows Server 2008 中的改进:只读域控制器(RODC)
只读域控制器(RODC)是在Windows Server? 2008操作系统中一种新的域控制器。有了只读域控制器,组织能够容易地的物理安全得不到保证的地区部署域控制器。一台RODC包含了活动目录数据库的只读部分。 9 b' y$ `4 G8 K) O
在Windows Server? 2008发布以前,如果用户不得不跨广域网连接域控制器进行身份验证的话,那也就没有其它更好的选择。在许多案例中,这不是有效的解决方法。分支机构通常无法为一台可写的域控制器提供的足够的物理安全。而且,当分支机构连接到枢纽站点时,它们的网络带宽通常比较差。这将导致登录时间变长。这也会阻碍网络资源的访问。& P( J0 a4 u3 T; a
! d- B$ Z: f" a7 Y# B
从Windows Server? 2008开始,组织能够部署RODC来处理这些问题。作为部署的结果,用户能够获得以下好处:改进的安全性快速登录更有效的访问网络资源RODC可以做什么? K2 Q2 g% U# B: R. Z ^) f
2 g5 C U8 m- M 在考虑部署RODC时,物理安全的不足是最为寻常的理由。RODC给那些需要快速可靠的身份验证,同时对可写域控制器而言物理安全无法得到确保的地方部署域控制器提供了新的方法。
/ J" e- u* R3 F2 ], x( Z
) Q/ G! V( x7 N 然而你的组织也可以为了特殊的管理需要选择部署RODC。比如,业务程序(line-of-business,LOB)只能被安装到域控制器上并才能得以成功运行。或者,域控制器是分支机构仅有的服务器,而不得不运行服务器应用。( e. e3 @+ R$ T0 l
7 K4 d7 y: k$ n5 Z- I4 A) z& ~ 在这些例子中,业务程序所有者必须经常交互式登录到域控制器或者使用终端服务来配置和管理程序。这种环境引起了在可写域控制器上不被接受的安全风险。
- k+ C$ u1 r& K. U3 I. X5 k9 g% i i% h( ?( Y5 {# r
RODC为在这些场景中部署域控制器提供了更安全的机械结构。你能够将登录到RODC的权利转让给没有管理权限的域用户同时最小化给互动目录森林带来的安全风险。; A( M4 S3 D* R1 o* C% \" i
2 n! g2 \; [; o' h7 u! t3 J 你也可以在其它场景中部署RODC,比如在外延网(EXTRANETS)中本地储存的所有域密码被认为是主要威胁。2 U/ p9 H9 A! G4 z* t8 ]7 k
9 [* \: t# ^; i" l, ?' X1 ^$ `3 L8 v 还有其它要特别考虑的吗?: I9 p- b; f0 p
x3 G B+ r, ^& Y7 e7 e' D9 i 为了部署RODC,域中必须至少有一台运行Windows Server 2008的可写域控制器。此外,活动目录域和森林的功能级必须是Windows Server 2003或者更高。
7 d9 j* c) J3 n% U: {6 ?4 i" B! I) |4 C
这项特性提供了什么新功能? V! `( k& O% ^% R( a) x
0 n9 G: E- v! N: J
RODC处理了在分支机构中的普遍问题。这些地方也许没有域控制器。或者他们有可写的域控制器但是没有足够的物理安全,网络带宽以及专门的技术人员来提供支持。下面的RODC的功能缓解了这些问题:只读活动目录数据库单向复制凭据缓存管理员角色分割只读DNS
/ K- W/ r# ?& u$ v
, C0 }/ M/ F6 {% a 只读活动目录数据库除了账户密码之外,RODC拥有所有可写域控制器拥有的对象和属性。然而,无法针对储存在RODC的数据库进行任何数据上的改变。数据上的改变必须在可写域控制器上进行然后复制回RODC。9 C6 d8 P- A+ {* ~6 \
0 Z% W3 L5 ]5 o) j 请求获得目录读取权限的本地程序能够获得访问许可。当使用轻型目录访问协议(LDAP)的程序请求写入权限时将会收到“referral”应答。在枢纽站点中,通常情况下这些应答将写入请求引导到可写的域控制器。9 U' ?6 K$ X3 P, c2 h e* o
" i. S5 {( c! @ RODC已筛选属性集使用AD DS作为数据存储的某些程序,也许会将类似信任凭据的数据(诸如密码,信任凭据,加密密钥)储存在RODC上。而你不想将这些数据储存在RODC上是因为考虑到RODC受到安全威胁的情况。
4 g! P1 N! w% O4 }, Q
" x3 v0 q1 t# w' d& y' j, a 为了这些程序。你可以在架构中动态配置不被复制到RODC的域对象的属性集。这个属性集被称为RODC已筛选属性集。在RODC已筛选属性集定义的属性不允许复制到森林内的任何一台RODC。( P1 L3 L+ g0 G: R7 v+ ]
! t; n% p d' x, a/ x& {' }
威胁到RODC的恶意用户能够以某种途径尝试配置RODC,并尝试将RODC已筛选属性集中定义的属性复制到其它域控制器。如果RODC尝试从一台安装Windows Server 2008的域控制器上复制这些属性,那么复制请求将被拒绝。然而,如果RODC尝试从一台安装Windows Server 2003的域控制器上复制这些属性,复制请求将被接受。4 K: C( `$ s: S8 O
2 H* H* m2 `7 Z/ K) W 因此,作为安全性的预防措施,如果你想配置RODC已筛选属性集请确保森林的功能级是Windows Server 2008。如果森林的功能级是Windows Server 2008,那么收到威胁的RODC将不能被如此利用,因为运行Windows Server 2003的域控制器在森林中是不被允许的。; K2 @; E1 a" X! [: r5 Q! C2 o6 n [' m
3 X5 ?5 X/ z! K. F1 N) j r: s
你无法添加系统关键属性到RODC已筛选属性集。判断是否是系统关键属性的依据是看以下服务能否正常工作,这样的服务有 AD DS、LSA、SAM(及SSPIs比如Kerberos)在Windows Server 2008 Beta3的后继版本中,系统关键属性拥有属性值等于1的schemaFlagsEx属性。
3 e, W$ T# ]( m/ H; t
# M+ `# p0 w' o5 T) o A1 [ RODC已筛选属性集被配置在拥有架构操作主机的的服务器上。如果你尝试添加系统关键属性打到RODC已筛选属性集,而且架构操作主机运行在Windows Server 2008上,那么服务器将返回“unwillingToPerform”的LDAP错误。如果你尝试添加系统关键属性打到RODC已筛选属性集,但是架构操作主机运行在Windows Server 2003上,那么操作将看上去是成功完成了,然而属性值实际上却没有被添加。因此,当你想要添加属性到RODC已筛选属性集时,价格操作主机建议是运行Windows Server 2008的域控制器。这保证了系统关键属性不包含在RODC已筛选属性集中。& S2 ~1 |+ c' g+ r' A4 ?
# B% f% p' |* j6 I
单向复制因为没有任何属性的变化会被直接写入RODC,所以任何变化不会从RODC发起。因此,作为复制伙伴的可写域控制器不会产生从RODC“拉”数据的操作。这意味着恶意用户在分支结构的RODC上进行的操作的结果不会被复制到森林的剩余部分。这也减少了枢纽站点里的桥头服务器的工作量以及为了监视复制所要求的工作量。" {4 T( E* @6 q8 X( V6 \
4 l. D2 t1 W$ d RODC的单向复制同时应用于AD DS及分布式文件系统(DFS)的复制。RODC为AD DS及DFS执行正常的入站复制。
/ M1 U0 p& g0 H+ m
; A! \0 P" G$ G6 w 凭据缓存凭据缓存是用户或者计算机凭据的储存器。凭据是由和安全主体关联的一小组大约接近10个密码的集合所组成。在默认情况下RODC不储存用户或者计算机凭据。例外的情况是RODC自身的计算机账户以及每台RODC所有的特殊的krbtgt账户。你在RODC上必须显示允许其它任何凭据缓存。
8 ~# q# {4 p) _' Q! P7 \
1 }( P2 {) a: k) j1 m9 u- n RODC宣告成为分支结构的密钥分配中心(KDC)。RODC与可写域控制器上的KDC相比,它将使用不同的krgbrt账户和密码来签名或加密(TGT)请求。8 k% L& [/ v/ i- j1 J
+ H# w! ]" X- E$ k% ]4 X
当一个账户被成功验证时,RODC会试图联系枢纽站点中一台可写的的域控制器,并请求一份合适凭据的副本。可写域控制器将会识别出这个请求来自RODC,并考略影响到RODC的密码复制策略。
; Z% Q0 j5 ?& F4 d) l
+ \+ W; N& @ }7 R4 b% h3 w. S/ O 密码复制策略决定了用户或者计算机的凭据是否可以从可写域控制器复制到RODC。如果策略允许,那么可写域控制器将密码复制到RODC上,并且RODC缓存这些凭据。% ^5 Y" T6 D" `/ z( c0 H
- z1 a1 O. C) V8 @ h 当凭据被RODC缓存之后,RODC能够直接为用户登录请求服务直到凭据发生变化。(当TGT被RODC的krbtgt账户签名时,RODC识别出它有一份缓存的凭据副本。如果其它域控制器对TGT进行了签名,那么RODC将会把这个请求转递给一台可写域控制器。)
. {: I. v8 Y4 M& X4 }6 z# I" g" a6 f
因为凭据缓存被限制为只有被RODC认证的用户的凭据才能被缓存,所以由于RODC受到威胁而导致的潜在的凭据泄露也得到了限制。因此,域用户中只有很少一部分的凭据被缓存在RODC上。因此,当发生RODC被盗的事件时,只有这些被缓存的凭据才有可能被破解。
; u% O' _1 z p6 _, I Z3 x8 }9 D! X# U
保持凭据缓存关闭也许能更深层次的限制泄露,但是这样将导致所有的认证请求都被传递给可写域控制器。管理员能够修改默认密码策略来允许用户凭据被缓存到RODC上。6 }: v2 O" E7 J) P& H3 l
/ {6 W- s! V% g) o2 v
管理员角色分割你能委派RODC的本地管理权限至任何域用户而不用使该用户获得域或者域控制器的用户权限。这使分支机构的用户能够登录至RODC并执行诸如升级驱动程序之类的维护工作。然而分支结构用户无法登录到其它任何域控制器或者在域中执行其它管理工作。因此分支结构用户能够委派有效的权利来管理分支机构的RODC而不会威胁到域内其它部分的安全。
+ j1 X a) F& F( M8 |- \1 D9 Z; T- z" H& c- L) J J
只读DNS你能在RODC上安装DNS服务。RODC能够复制DNS使用的所有程序目录分区,包括ForestDNSZones以及DomainDNSZones。如果DNS服务被安装到RODC上,用户能够像查询其它DNS服务器一样进行名称解析。
" Q+ P* }$ [9 z/ w9 h: v1 [- q3 ~
然而,在RODC上的DNS服务不支持客户端直接更新。因为RODC不登记它所拥有任何的AD集成区域的NS资源记录。当客户端试图在RODC上尝试更新DNS记录时,服务器会返回包含支持客户端更新的DNS服务器的引用。随后,客户端能够尝试利用引用中提供的DNS服务器进行DNS记录更新。而在后台,RODC上的DNS服务器会尝试从更新的DNS服务器中复制已更新的记录。复制请求仅针对单一对象(DNS记录)。整个变化区域的列表或者域数据在特定的“复制单一对象”的请求过程中将不被复制。
搜索更多相关主题的帖子:
控制器 RODC Server Windows 目录