从1993年微软推出Windows NT开始,Windows server就有了域控制器的技术。但从Windows NT,Windows 2000,Windows 2003到现在的Windows Server 2008,几乎每一个新的操作系统版本所采用的域控制器技术都或多或少发生了相应的变化。从NT的P,BDC的单主架构,Windows 2000时域控的多主架构和操作主机,Windows 2003的通用组只缓冲域控制器。如今在最新的操作系统Windows Server 2008中推出了只读域控制器(RODC)这一技术。
随着一些企业规模的发展壮大,需要在远方的城市设立分公司或办事处。公司总部和分支机构的网络连接常常是慢速的WAN.如何在所有公司网络包括分支机构实现更好的更安全的统一管理无疑是一个非常重要,需要解决的主题。在以往的Windows系统中,对这一场景并没有提供很好的解决方案。
以往一般的方案是在远程分支设立额外的DC,虽然可以优化本地域用户的登录速度,但又带来的其它很多相应的问题。如:
1 DC中活动目录信息要双向同步,需要耗费大量的相对昂贵的WAN的带宽。
2 在远程分支机构的网络中,常常因为条件所限,往往无法将DC存放在一个专门的机房来提供很好的物理安全性。
3 在分支机构常常缺乏有一定技术水平的管理员,从而更是增加了网络的安全威胁。
4 在某种情况下,有些行业 (LOB) 应用程序只有在安装在域控制器上的情况下,才可以成功运行。而且域控制器常常可能是分支机构中唯一的服务器,并且可能
必须运行该服务器应用程序。在此情况下,LOB 应用程序的所有者必须经常以交互方式登录到本地域控制器,或使用终端服务配置和管理应用程序。此时产生了在可写域控制器上可能无法接受的安全风险。
对此, Windows Server 2008中的只读域控制器 (RODC) 提供了相应更好的技术解决方案。借助 RODC,远程机构可以在无法保证域控制器物理安全性的场所中轻松部署域控制器。
从 Windows Server 2008 开始,组织可以通过部署 RODC 来解决上述这些问题。因此,用户在此情况下可以获得以下好处:
• 更高的安全性
• 更快的登录速度
• 更有效地访问网络上的资源
为什么RODC可以提供上述好处呢?下面我们就其工作原理及相应带来的优点逐一介绍。
RODC是Windows Server® 2008 操作系统中的一种新类型的域控制器,在其上承载了 Active Directory® 域服务 (AD DS) 数据库的只读分区。不同于传统DC上可读写的AD 数据库,RODC上的活动目录数据库是只读的。除帐户密码之外,RODC 保存了可写域控制器所保留的所有 Active Directory 对象和属性。但是,不能对存储在 RODC 上的数据库进行更改。更改必须在可写域控制器上进行,然后复制回 RODC。 这就如同NT时代时的PDC和BDC架构类似,实现了AD的单向复制。因为不会将更改直接写入 RODC,不会有更改源自 RODC。相应地,作为复制合作伙伴的可写域控制器不必从 RODC 拉进更改。这意味着恶意用户在分支位置可能进行的任何更改或损坏不能从 RODC 复制到林的其余部分。这也减少了集线器中桥头服务器的工作负荷以及监视复制所需的资源。RODC 单向复制同时适用于 AD DS 和 SYSVOL 的分布式文件系统 (DFS) 复制。针对 AD DS 和 SYSVOL 更改,RODC 执行正常的入站复制。
请求对目录的读取访问的本地应用程序可以获取访问权限。请求写入访问的轻型目录应用程序协议 (LDAP) 应用程序将接收 LDAP 引用响应。此响应将其定向到可写其它域控制器(一般在公司总部的中心站点中)。
某些将 AD DS 用作数据存储的应用程序可能具有不希望存储在 RODC 上的类似凭据的数据(例如密码、凭据或加密密钥),以防 RODC 的安全受到危害。对于这些类型的应用程序,可以在架构中为将不会复制到 RODC 的域对象动态配置一组属性。这组属性称为 RODC 筛选的属性集。在 RODC 筛选的属性集中定义的属性不允许复制到林中的任何 RODC。从而保证了应用程序的安全性。
但是威胁 RODC 的恶意用户可能尝试采用这种方式对其进行配置,以试图复制在 RODC 筛选的属性集中定义的属性。如果 RODC 尝试从运行 Windows Server 2008 的域控制器复制这些属性,则复制请求会被拒绝。但是,如果 RODC 尝试从运行 Windows Server 2003 的域控制器复制属性,则复制请求可能成功。 因此,出于安全考虑,如果您计划配置 RODC 筛选的属性集,请确保林功能级别为 Windows Server 2008。当林功能级别为 Windows Server 2008 时,无法以这种方式使用受到威胁的 RODC,因为林中不允许运行 Windows Server 2003 的域控制器。
不得将系统关键属性添加到 RODC 筛选的属性集。如果一个属性是 AD DS、本地安全机构 (LSA)、安全帐户管理器 (SAM) 和 Microsoft 特定的安全服务提供程序接口 (SSPI)(例如 Kerberos)正常工作所要求的,则该属性是系统关键属性。系统关键属性的 schemaFlagsEx 属性值等于 1 (schemaFlagsEx attribute value & 0x1 = TRUE)。
RODC 筛选的属性集在保存架构操作主机角色的服务器上进行配置。当架构主机运行 Windows Server 2008 时,如果尝试将系统关键的属性添加到 RODC 筛选集,则服务器将返回 "unwillingToPerform" LDAP 错误。如果尝试将系统关键的属性添加到在 Windows Server 2003 架构主机上的 RODC 筛选的属性集,则操作看起来成功,但实际上属性未添加。因此,在将属性添加到 RODC 筛选的属性集时,建议架构主机为 Windows Server 2008 域控制器。这确保在 RODC 筛选的属性集中不包括系统关键的属性。
凭据缓存指用户或计算机凭据的存储。凭据由与安全主体相关的一组大约 10 个密码组成。默认情况下,RODC 不存储用户或计算机凭据。例外情况为 RODC 的计算机帐户和每个 RODC 具有的特殊 krbtgt 帐户。您必须明确允许任何其他凭据在 RODC 上缓存。
在帐户成功经过身份验证后,RODC 将尝试与中心站点中的可写域控制器联系并请求获取相应凭据的副本。可写域控制器可以识别出请求来自某个 RODC 并查询对该 RODC 有效的密码复制策略。密码复制策略确定是否可以将用户凭据或计算机凭据从可写域控制器复制到 RODC。如果密码复制策略允许复制凭据,则可写域控制器将凭据复制到 RODC,然后 RODC 缓存凭据。
在 RODC 上缓存凭据之后,RODC 就可以直接服务该用户的登录请求,直到凭据更改。(当使用 RODC 的 krbtgt 帐户对 TGT 签名时,RODC 将识别出它具有凭据的缓存副本。如果其他域控制器对 TGT 签名,则 RODC 将请求转发到可写域控制器。)
通过将凭据缓存仅限于通过 RODC 验证身份的本地分支机构用户,通过危害 RODC 而使凭据泄露的可能性也得到限制。通常,在任何给定的 RODC 上只缓存一小部分域用户的凭据。因此,如果出现 RODC 被窃的情况,只有 RODC 上缓存的那些分支用户的凭据可能会被破解。
保持凭据缓存处于禁用状态可能进一步限制泄露,但它将导致所有身份验证请求被转发到可写域控制器,这会使用户登录缓慢,并增加了WAN的网络流量。管理员可以修改默认密码复制策略以允许在 RODC 上缓存用户凭据。
可以将 RODC 的本地管理权限委托给任何域用户,而无需授予该用户对该域或其他域控制器的任何用户权限。这允许本地分支用户登录到 RODC 并在服务器上执行维护工作(例如升级驱动程序)。但是,分支用户不能登录到任何其他域控制器或在域中执行任何其他管理任务。以此方式,分支用户可以被委派在分支机构中有效地管理 RODC 的能力,而不会危害域的其余部分的安全。
可以在 RODC 上安装 DNS 服务器服务。RODC 能够复制 DNS 使用的所有应用程序目录分区(包括 ForestDNSZones 和 DomainDNSZones)。如果已在 RODC 上安装了 DNS 服务器,则客户端可以与查询任何其他 DNS 服务器一样,查询该 DNS 服务器以进行名称解析。 但是,RODC 上的 DNS 服务器是只读的,所以并不直接支持客户端更新。有关 DNS 服务器在 RODC 上如何处理 DNS 客户端更新的详细信息,请参阅位于 RODC 站点的客户端的 DNS 更新。
为了支持 RODC 密码复制策略,Windows Server 2008 AD DS 包含了新的属性。密码复制策略是一种机制,用于确定是否允许将用户或计算机的凭据从可写域控制器复制到 RODC。在运行 Windows Server 2008 的可写域控制器上始终设置密码复制策略。
若要部署 RODC,在域中至少有一个可写域控制器必须运行 Windows Server 2008。此外,域和林的功能性的级别必须是 Windows Server 2003 或更高版本。 正如前文提到的原因,域和林的功能性的级别最好都为Windows 2008 。
在上面我们讨论了RODC的重要特性。尤其主要解决了分支机构中的一些常见问题。这些位置可能没有域控制器。或者,这些位置可能具有可写域控制器,但是不具备支持它的物理安全性、网络带宽或本地专业知识。总结以上 RODC 功能,将有助于改善下面这些问题:
• 只读 AD DS 数据库
• 单向复制
• 凭据缓存
• 管理员角色分隔
• 只读域名系统 (DNS)
部署 RODC 的先决条件如下所示:
• RODC 必须将身份验证请求转发到运行 Windows Server 2008 的可写域控制器。在此域控制器上设置了密码复制策略,以确定是否为从 RODC 转发的请求将凭据复制到分支位置。应此网络中需要至少一台Windows Server 2008的可写域控制器。
• 域功能性的级别必须是 Windows Server 2003 或更高版本,以便可以使用 Kerberos 受限制的委派。受限制的委派用于必须在调用方的上下文中模拟的安全调用。
• 林功能性的级别必须是 Windows Server 2003 或更高版本,以便可以使用链接值复制。这提供了更高级别的复制一致性。
• 在林中必须运行一次 adprep /rodcprep 以更新在林中的所有 DNS 应用程序目录分区上的权限。以此方式,作为 DNS 服务器的所有 RODC 都将可以成功复制权限。
如何部署RODC,下面用截图方式给以详细介绍。
实验环境:有两台安装windows server 2008的机器,一台安装为ICSS.COM.CN的林中第一台域控制器DCSRV1.ICSS.COM.CN,IP为10.0.0.1,同时也是DNS Server.另一台机器为RODCSRV2,在工作组WORKGROUP内。IP为10.0.0.1,DNS Server指向10.0.0.1。
实验目标:将RODCSRV2安装为域ICSS.COM.CN的RODC。
实验步骤:
1 先查看和确认DCSRV1和RODCSRV2的系统属性和IP设置。
2 在RODCSRV2上测试是否能连通DCSRV1和实现DNS 解析。
3 在RODCSRV2上打开服务器管理器,点击"添加角色"
点击”下一步”
选中”Active Directory 域服务”,点击”下一步”
点击”下一步”。
点击”安装”。
安装完毕,点击”关闭”。
4 打开Active Direcotry 域和信任关系,右击"Active Directory 域和信任关系",点击”提升林功能级别”
选择"windows server 2008",将林功能级别设为windows server 2008模式。
如果不设置林功能级别为"windows server 2003"以上模式,在之后的安装中会发现”只读域控制器(RODC)”不可选
5 在命令提示符下运行”dcpromo.exe”,点击”下一步”
点击"下一步"
选中"现有林"和"向现有域添加域控制器",点击"下一步"
输入ICSS.COM.CN和该的域管理员administrator及相应密码。
选中ICSS.COM.CN域。点击"下一步"
点击"下一步"
选中”DNS服务器”和"只读域控制器(RODC)"两项,点击"下一步"
入委派管理RODC的域用户组,可略过。点击"下一步"
点击"下一步"
输入目录服务还原模式的Administrator密码
点击"下一步"
开始安装服务
安装完毕,点击"完成"
点击"产即重新启动"
6 重新启动后,打开"Active Directory 用户和计算机",展开"Domain controller",可以看到有两个域控制器DCSRV1和RODCSRV2,并且RODCSRV2为只读DC,到此RODCSRV2安装成功。
本文详细介绍了Windows Server 2008中的最新技术RODC的优点和特性,并通过截图方式实现了RODC的安装过程。希望对大家学习Windows Server 2008有所帮助。