Windows 的未来 Windows Server“Longhorn”中的目录服务

Byron Hynes

本专栏基于 Windows Server 的一款预发布版本,其代码名为“Longhorn”。文中的所有信息可能会有所变动。

在 Windows Server 的下一个版本(代码名为“Longhorn”)中,您将看到 Active Directory 中的一系列改进。其中某些改进意义非凡,它们为获得更好的可管理性和提高效率打开了新的激动人心的大门。Active Directory 中最明显的变化之一是特性和功能的命名。一切与标识管理相关的内容现在都入帐于 Active Directory® 麾下。我们以前的 Microsoft® Windows Server® 2003 中的 Active Directory 现在变为 Active Directory Domain Services (ADDS),此外,还有大量其他附加服务,包括 Active Directory Federation Services (ADFS)、Active Directory Lightweight Directory Services(ADLDS,以前称为 Active Directory/Application Mode,简称 ADAM)、Active Directory Certificate Services (ADCS) 以及 Active Directory Rights Management Services (ADRMS)。

其中每一项服务都代表一个服务器角色 - Windows Server“Longhorn”中的一个新增概念。您可以选择让计算机专门从事于一个服务器角色,也可以让其从事于多个服务器角色,不仅如此,您还可以使用服务器管理器(如图 1 所示)来管理服务器角色。在服务器管理器中,您可以添加角色、查找帮助以及执行其他必要的管理任务。

图 1 服务器管理器

图 1** 服务器管理器 **(单击该图像获得较大视图)

从图中可以看出,新的方式是将日常功能和特性组织成可以通过服务器管理器进行访问的多个逻辑组。

功能级别

Windows Server“Longhorn”为林和域引入了一个新的功能级别。Windows Server“Longhorn”林功能级别(发布时将重命名)并未在其自身功能的基础上添加任何新的功能,但它可以确保林中的所有域都处于 Windows Server“Longhorn”域功能级别,而这可以实现两个增强功能。第一个是使用更加可靠、详细和高效的最新分布式文件系统 (DFS) 复制引擎进行 SYSVOL 共享。第二个是增加了对使用 Kerberos 身份验证协议进行 256 位高级加密服务 (AES) 加密的支持。在迁移到 Windows Server“Longhorn”后,使用最新的功能级别可以获得最优的性能,但您仍可以继续在较低的功能级别上运行。

此外,还引入了一系列架构扩展来支持各种功能,所有这些扩展都可以与目前使用的现有架构完全兼容。运行 Windows Server“Longhorn”的域控制器可以与运行 Windows Server 2003 的域控制器和平共处和交互。

支持 Server Core

Active Directory Domain Services 是将在 Windows Server“Longhorn”的 Server Core 安装中工作的服务器角色之一。Server Core 是一个最小安装选项,它仅保留核心服务器功能,在本文将不再赘述。Server Core 不安装 Windows 外壳程序且不使用图形用户界面,从而节省了大量开销。

只读域控制器

对于某些环境而言,Windows Server“Longhorn”中 ADDS 的最重要功能当数只读域控制器 (RODC),通过它可以轻松地部署承载有域数据库只读副本的域控制器。它最适合于以下情况:域控制器的物理安全无法得到保证;其他应用程序必须在域控制器上运行并且必须由服务器管理员(最好不是域管理组的成员)维护。这两种情况在分支机构部署中都十分常见。

只需在安装向导中启用一个复选框(如图 2 所示)即可安装只读域控制器。

图 2 安装只读域控制器

图 2** 安装只读域控制器 **(单击该图像获得较大视图)

在 Windows Server“Longhorn”版本之前,如果用户需要在其他位置的域控制器上进行身份验证,则必须通过广域网 (WAN) 链接进行通信。与局域网 (LAN) 连接相比,WAN 通常既缓慢又昂贵,且有时更容易出现服务中断。一个可能的解决方案是向远程网站或分支机构中部署 DC。而这又会带来其他问题,包括复制通信以及通过分支机构中的 DC 来维护物理安全的需要(在小型和远程分支网站中通常都十分缺乏这一点)。在某些其他情况下,分支机构在连接集线器网站时使用的网络带宽不足,增加了进行登录所需的时间量。

除了帐户密码外(除非以其他方式进行专门配置),RODC 会保留所有可写域控制器保留的 Active Directory Domain Services 对象和属性。但是,您无法对存储在 RODC 上的副本进行源自本地的更改。为此,需要在可写域控制器上进行更改,然后再将更改复制回 RODC。这样可以防止在分支位置所做的更改通过复制来污染或损坏林,从而消除了一种受到攻击的途径。

请求对域目录信息进行只读访问的本地应用程序可以直接从 RODC 获取访问权限,而请求写访问的轻型目录访问协议 (LDAP) 应用程序将收到 LDAP 参照响应。此参照响应通常会将它们定向到集线器网站中的可写域控制器。

由于不会向 RODC 写入任何更改,因此不会存在源自 RODC 的更改。与此相应,可写域控制器将不必再从 RODC 请求更改。这样便减少了集线器中桥头服务器的工作负荷以及监视复制所需的工作量。RODC 单向复制适用于 ADDS 和分布式文件系统 (DFS) 复制。RODC 执行 ADDS 和 DFS 复制更改的常规入站复制。

在域数据库中,每个安全主体都拥有一组称为凭据的密码或机密(约 10 个)。RODC 不存储用户或计算机凭据,但它自己的计算机帐户和每个 RODC 的特殊“krbtgt”帐户(用于 Kerberos 身份验证的帐户)除外。RODC 通常标榜为它的网站(通常为分支机构)的密钥发行中心 (KDC)。当 RODC 签署或加密授予票证的票证 (TGT) 请求时,它将使用另一个 krbtgt 帐户和密码,而不是可写域控制器上的 KDC。

当帐户首次尝试向 RODC 进行身份验证时,RODC 会将该请求发送到集线器网站上的可写域控制器。如果身份验证成功,RODC 还会请求适当凭据的副本。可写域控制器将识别该请求是否来自某一 RODC 并参考适用于该 RODC 的密码复制策略。

密码复制策略决定是否允许复制凭据并将其存储在 RODC 上。如果允许,将由一个可写域控制器将凭据发送给 RODC,然后 RODC 将对它们进行缓存,如提要栏“只读域控制器如何工作”中所示。

当在 RODC 上缓存凭据后,用户下次尝试登录时,只要凭据未发生更改,则将由 RODC 直接处理该请求。当使用 RODC 自己的 krbtgt 帐户 krbtgt 签署 TGT 时,RODC 会认为它已缓存了凭据的副本。如果有另一个 DC 签署了 TGT,RODC 会将请求转发给可写域控制器。

通过仅将凭据缓存功能限制给已通过 RODC 身份验证的用户,还降低了因 RODC 泄漏而暴露凭据的危险。

默认情况下,RODC 将不缓存任何用户密码,但这并不一定是最有效的方案。与域中的用户总数相比,通常仅有少数域用户需要在任意给定的 RODC 上缓存凭据。您可以使用密码复制策略来指定可以考虑进行缓存的用户组。例如,通过仅将 RODC 缓存对象限制为经常访问该分支机构的用户,或者通过禁止缓存高值凭据(例如管理员),您可以降低凭据保露的风险。

这样,一旦 RODC 被盗或以其他方式泄漏,将仅需要重置已缓存的凭据,正如我将在后面论述的,您可以准确地知道缓存了哪些帐户,如图 3 所示。

图 3 缓存的帐户信息

图 3** 缓存的帐户信息 **(单击该图像获得较大视图)

管理员角色分离

在很多分支机构中,域控制器还被赋予了其他服务器角色或分配了其他要执行的任务,例如充当文件或打印服务器。在另外一些情况下,不需要的域控制器上还安装了业务线应用程序。这会产生以下问题:为管理这些应用程序和服务器,分支机构的员工需要具有管理凭据。而可以管理一台 Windows Server 2003 域控制器的任何人员均可以管理整个域。

在 Windows Server“Longhorn”中,可以仅向管理员授予管理特定 RODC 的权限,而无需向他授予可以让他管理其他域控制器的访问权限,也不必一定要使他成为域管理安全组的成员。

用户界面和工具改进

为支持 RODC 的功能和简化密码复制的监视工作,“Active Directory 用户和计算机”中的域控制器属性页上出现了一个新增的“密码复制策略”选项卡,如图 4 所示。

图 4 “密码复制策略”选项卡

图 4** “密码复制策略”选项卡 **(单击该图像获得较大视图)

通过单击此选项卡上的“高级”按钮,您可以查看以下内容:向 RODC 发送了哪些密码、RODC 上存储了哪些密码以及哪些帐户通过了 RODC 的身份验证,如图 5 所示。由于列表包括已通过身份验证的帐户,因此即使它们不属于可以复制其密码的组,您也可以使用该信息来确定应在密码复制策略中包括哪些组。

图 5 高级密码复制策略

图 5** 高级密码复制策略 **(单击该图像获得较大视图)

dcpromo 实用程序(通常多称为 Active Directory Domain Services 安装向导)已有悠久的历史,此版本对它进行了一系列更改。通过选择“初始配置任务 (ICT)”页(紧在安装操作系统后运行)中的“添加角色”命令,可以将该向导作为完全的图形应用程序启动。选择“添加角色”,然后选择“服务器管理器中的 ADDS”,或者从命令行或“运行”框调用 dcpromo。

当在图形模式下使用该向导时,您将注意到,元素和选项的组织更加合理,这是因为相关项目都被组合在一起。此外,它还提供了其他选项。您无需使用 /adv 开关即可通过从 UI 访问高级模式来执行新建域树、从介质安装(减少通过 WAN 进行的初始复制)或选择用于初始复制的源域控制器等类似任务。

所做的某些改进还简化了工作并减少了令人沮丧的错误。例如,如果您要使用该向导在现有域或林中创建新的域控制器,可以通过浏览找到现有的域,而无需键入 NetBIOS 名称。

向导中还新增了用于指定其他选项的页面,您可以通过这些页面将 DC 配置为目录服务器、DNS 服务器和 RODC。在该向导中,您还可以配置网站选择、设置功能级别、创建 RODC 的密码复制策略以及配置 DNS 委派。

作为一个命令行工具,dcpromo 可完全在无人参与的模式下运行。与 Windows Server 2003 中的同一工具不同的是,无人参与安装不要求响应任何用户界面提示,例如需要重新启动计算机。这样,在 Windows Server“Longhorn”的 Server Core 上使用 ADDS 变得更加容易。

ADDS 审核

Microsoft 在 Windows Server“Longhorn”中的目录服务审核方面增加了更多的功能。在 Windows Server 2003 中,您可以打开或关闭目录访问审核,但即使您的审核获得圆满成功,审核跟踪也不会包含已更改的信息。现在,它做到了。

在 Windows Server“Longhorn”中,ADDS 的审核策略具有以下四个子类别:

  • 目录服务访问
  • 目录服务更改
  • 目录服务复制
  • 详细目录服务复制

对于大多数 IT 专业人员,需要记住有关这些更改的两个重要事实:第一,目录服务访问审核提供的信息与它在 Windows Server 2003 下提供的信息基本相同,但事件 ID 从 566 更改为 4662。如果您要使用工具来分析安全事件日志,请记住此项更改。第二,目录服务更改这一新增类别会同时记录已更改属性的原值和当前值。

要在 ADDS 中实现审核,应使用全局审核策略、系统访问控制列表 (SACL) 以及 ADDS 架构。这些组件协同工作,旨在为您提供灵活而全面的审核框架。

全局审核策略控制是否在 ADDS 中执行任何审核。如果启用了审核,则全局策略将控制要审核四个访问子类别(前面已列出)中的哪个子类别。全局审核策略通常应用于默认域控制器组策略对象中,因此它适用于域控制器上的整个目录。

虽然组策略工具可以打开或关闭组审核策略,但您必须使用 Auditpol.exe 命令行工具才能查看或配置这些子类别。图形用户界面中并不会显示这些子类别。

SACL 是对象安全描述符的一部分。通过指定 SACL 中的项,您可向系统指示两个信息:您关心的操作和用户(或安全主体)。换句话说,您将指定事件日志中应记录执行哪些操作的哪些用户。因此,如果您要记录由域管理员而不是用户本身对 User 对象所做的更改,则可以使用 SACL 进行控制。SACL 将应用于对象(可以为新对象定义 SACL,也可以从容器对象继承 SACL)。

您还可以配置 ADDS 架构,以使其将更改审核对象限制为特定的属性。由于 SACL 在默认情况下应用于对象,因此会记录对任何属性的访问或更改。这会生成大量的日志记录活动,但可能并非所有属性都是您所关心的。因此,您可以在属性级别设置标志来防止记录对该属性所做的更改。

SearchFlags 属性是在定义属性的类中定义的,因此它是属性的属性。此外,它还是一个位掩码,其中值为一字节的每个位都代表一个不同的开/关设置。如果您将它视为属性 (Attribute) 的属性 (Property),则可能更容易理解。在 Windows Server 2003 中,有七个这样的值用于控制各个设置,包括属性的索引和 GC 复制。在 Windows Server“Longhorn”中,第八个位(值为 128)用于控制是否记录更改。如果未设置此位,则当对该属性进行了修改时,ADDS 将不会记录更改事件。这适用于包含该属性的所有对象。在 Beta 2 中,您不能使用图形用户界面设置第八个位。

在 Windows Server“Longhorn”中,默认情况下全局审核策略处于启用状态,并且“目录服务更改”设置为记录成功的更改。

可重新启动的 ADDS

在 Windows Server“Longhorn”中,ADDS 是一项可重新启动的服务。这只意味着,可以在不重新启动域控制器的情况下停止和启动 ADDS 服务。它允许管理员更加轻松地执行无法在服务运行时执行的功能(例如对数据库执行脱机碎片整理),而无需进入目录服务还原模式。

运行 Windows Server“Longhorn”的域控制器有三种可能的状态:ADDS 已启动、ADDS 已停止和目录服务还原模式。下面让我们来探讨每一种状态。

ADDS 已启动 :域控制正在正常运行。

ADDS 已停止 :服务器既具有目录服务还原模式下的域控制器的特性,也具有加入域的成员服务器的特性。

在目录服务还原模式下,ADDS 数据库 (Ntds.dit) 处于脱机状态。如果无法联系到其他域控制器进行登录,则可以使用目录服务还原模式进行本地登录。

对于成员服务器,服务器与域相连接。用户可以用交互方式登录,也可以使用其他域控制器通过网络进行域登录。但是,域控制器不应长时间保持此状态,因为它无法使用其他域控制器处理登录请求或进行复制。

目录服务还原模式 :与 Windows Server 2003 相比,此模式(或状态)未发生变化。

图 6 中的流程图显示了运行 Windows Server“Longhorn”的域控制器如何在这三种可能的状态之间进行过渡。

图 6 Windows Server“Longhorn”上的域控制器在三种状态之间进行过渡

图 6** Windows Server“Longhorn”上的域控制器在三种状态之间进行过渡 **

还想知道其他信息?

要在这样一篇短小的文章中深入介绍 Windows Server“Longhorn”中新增的 ADDS 功能简直是天方夜谭。但正如您所看到的,新增的 Active Directory 功能将解决您以前曾试图克服或只能任其肆虐的一系列问题。如果您要了解更多信息,请不要担心,随着此产品最终版本发布日期的到来,我们将发布更多的相关文档。而目前在测试阶段查找更新的最好的地方则是 Windows Server“Longhorn”网站

Byron Hynes任职于 Microsoft 的 Windows Server 用户协助组。之前,他曾担任过顾问和培训师并拥有十分丰富的工作经验,包括运营区域 Internet 主干网、对客户端应用程序、服务器应用程序和启用 Web 的应用程序进行故障排除以及设计数据库架构、网络基础结构和安全模型。您可以发送邮件到 bhynes@microsoft.com,与他联系。

© 2008 Microsoft Corporation 与 CMP Media, LLC.保留所有权利;不得对全文或部分内容进行复制.