Windows Server 2008 ADDS新增功能

概览:
  • 将新的服务管理器与 ADDS 结合使用
  • 在 Server Core 上运行域服务
  • 只读域控制器
  • 更改密码、备份和审计
Windows Server 2008 中的服务器管理器
对于 Active Directory,我首先要讨论的两项改进并不是 Active Directory 域服务 (ADDS) 中的更改;而是 Windows 中的更改,它们会改变您管理 Active Directory 的方式。第一项是新的“服务器管理器”,它在您首次启动 Windows Server ® 2008 服务器时就会出现。(第二项是 Active Directory 安装,稍后我们将对其进行解说。)
安装 Windows Server 2003 后,默认会随后出现“配置服务器向导”,您可能从中对服务器管理器有一定的了解。但那个版本对于日常管理不是十分有用,我所认识的每个人都选择了“登录时不显示此页”复选框。
Windows Server 2008 中的服务器管理器则非常有用(请参阅 Byron Hynes 在本期《TechNet 杂志》撰写的文章了解服务器管理器的概况)。首先,如 图 2 中所示,服务器管理器现在属于 Microsoft ® 管理控制台 (MMC) 管理单元,而非 Microsoft HTML 应用程序 (HTA)。这意味着它具备了用户所熟悉的界面,功能完备且易于自定义。您可随时使用服务器管理器掌控服务器角色(DNS、ADDS 和 IIS 这类主要服务)和功能(Microsoft .NET Framework、BitLocker TM 驱动器加密和 Windows PowerShell TM 这类软件组件)的安装。除了添加和删除软件,服务器管理器还为运行诊断工具(如事件查看器和 PerfMon)及系统配置实用工具(如设备管理器和 Windows 防火墙管理单元)提供了单点联络。如果您能为 Active Directory 加入 MMC 管理单元,例如,用户和计算机、域和信任关系、站点和服务,您将获得一个极为出色的界面,用于执行 Windows Server 2008 域控制器 (DC) 的日常管理。
Windows Server 2008 ADDS新增功能
图 2 Windows Server 2008 中的服务器管理器(单击该图像获得较大视图)

Windows Server 2008 Server Core
Windows Server Core 是一个新的 Windows 安装选项,它提供一个精简的 Windows,仅包含运行某些关键的服务器角色(包括 Active Directory 域服务)所必需的组件。(图 3 中列出了 Server Core 支持的角色。)虽然 Server Core 安装程序有图形化 UI,但它并不运行 Windows 桌面外壳程序,并且几乎略去了所有管理和配置 Windows 的图形工具(请参阅 图 4)。取而代之的是一个命令行窗口,让您对接下来的操作甚感迷茫。如何更改计算机名称?如何配置静态 IP 地址?
Windows Server 2008 ADDS新增功能
图 4 在 Server Core UI 中看不到太多的内容(单击该图像获得较大视图)
在 Server Core 最初安装的几分钟,可能会有些混乱。很快您就会重新熟悉 WMIC、NETSH 和 NETDOM,然后轻松完成所有常规设置和配置任务。并且,您仍可用注册表编辑器和记事本满足图形工具的需求。
Server Core 的主要优点是移除了许多典型 Windows 安装需要,而这些核心服务器角色不需要的代码。这样遭受恶意软件攻击的几率降低了(是件好事),并且 DC 所需的补丁和重新启动次数也大为减少(更好的事)。占用的磁盘空间少了许多,从而减小的硬盘要求,可能在一般条件下不算什么,但对于虚拟服务器环境的帮助却很大。
缺少图形化实用工具对 ADDS 的管理会造成困难吗?完全不会。通过在工作站运行实用工具,然后连接网络上的域控制器,您可远程执行绝大部分管理任务。我期望 Server Core 安装最终可以运行大部分 DC。

DCPROMO 更改
ADDS 本身最先引起您注意的更改是新的 DCPROMO。它的作用与 Windows Server 2003 中的 DCPROMO 一样,但经过重新编写后更容易使用了。例如,您不必输入您的域管理员凭证,DCPROMO 可以将您的登录凭证提供给服务器。您也不必通过键入 DCPROMO /ADV 来取得“高级模式 DCPROMO”选项,现在第一个 DCPROMO 对话框中提供了这些选项的复选框。高级模式还允许您选择复制所需的现有域控制器。这样,您就可以从生产 DC 中转移 DCPROMO 的复制负荷。
将 DC 提升到新域或林中时,DCPROMO 会为您提供选项,供您设置林和域操作级别,而不是在提升后才准许您设置。您还可指定想要在提升期间放置 DC 的 Active Directory 站点,如果存在无人参与的 DCPROMO,这会非常有帮助。DCPROMO 甚至会根据 DC 的 IP 地址对最好的站点给出建议。
新的 DCPROMO 还在一个页面上汇集了所有配置选项,让你在此选择新 DC 是全局编录、DNS 服务器还是只读 DC。您不必转到 Active Directory 站点和服务管理单元中的偏僻位置将 DC 标记为 GC。
新 DCPROMO 能恰好在提升开始前在一个响应文件中保存所有 DCPROMO 设置,这可能是它最出色的功能。比起手工整理响应文件,这要简单得多,还不容易出错。您随后可使用响应文件在其他服务器上执行无人参与的 DCPROMO。为了满足脚本痴迷者的愿望,所有 DCPROMO 选项现在均可通过命令行访问。

只读域控制器
在 Active Directory 的早期阶段,企业常常在用户可能登录的每个站点均部署域控制器。例如,银行通常在每个支行都安装 DC。其中的逻辑是每个支行的用户都能登录并访问本地网络资源,即使 WAN 失效也能如此。
那时,实际的 DC 安全需求没有被很好地理解。我看到过控制器堆放在桌子下面,路过的人可以轻易接触到它们。直到几年后,Active Directory 架构师才完全领会到不安全的 DC 所带来的安全风险,IT 组织开始将 DC 重新放回到中央数据中心。这以使分支用户必须经由 WAN 进行验证,但由于提高了安全性,这也是值得的。
Windows Server 2008 中的 Active Directory 通过引进只读域控制器或 RODC 改变了分支部署的规则。它们是 Windows Server 2008 域服务中最大的变化。
Active Directory 团队在设计 RODC 时重点考虑了分支机构的需求,他们的目标是“在分支机构就地解决问题”。这其中的要点是如果您在实际条件不安全的分支部署了 DC,基本上您是无法防止 DC(和信任它的机器)受到攻击的,但是您可防止攻击向其他域扩散。
注意,即使这需要对 ADDS 基础结构做很大的更改,但 RODC 的实现并不复杂。您的域必须处于 Windows Server 2003 的林功能级,并且域中必须至少有一个 Windows Server 2008 DC。除了是分支解决方案,在面对互联网的环境中和 DC 处于网络外围的情况下,RODC 同样发挥着重要的作用。

DC 离职
在分支机构中,需要考虑几类威胁。第一类是“DC 失窃”,即有人带着 DC 或 DC 的磁盘溜之大吉。这不但会使本地的服务崩溃,攻击者最终还有可能得到域中所有的用户名和密码,并由得以访问保密资源或造成拒绝服务。为防范这种威胁,默认情况下,RODC 不将密码哈希存储在其目录信息树 (DIT) 中。因此,用户首次向特定的 RODC 进行身份验证时,RODC 会将该请求发送给域中的完全域控制器 (FDC)。FDC 处理该请求,如果验证成功,RODC 会签发密码哈希复制请求。
受到攻击的 RODC 有可能请求敏感帐户的密码哈希。为防止这种情况发生,域管理员可为每个 RODC 配置密码复制策略。该策略由 RODC 计算机对象的两个属性组成。msDS-RevealOnDemandGroup 属性包含密码缓存于 RODC 上的组、用户或计算机帐户的独有名称(它们通常是与 RODC 位于同一站点的用户和计算机)。msDS-NeverRevealGroup 包含密码未缓存于 RODC 上的组、用户或计算机帐户的独有名称(例如,域管理员帐户绝不应将其密码哈希缓存于 RODC 上)。如 RODC 请求特殊帐户的密码哈希,FDC 会根据密码复制策略评估请求,以确定是否应将密码哈希复制给 RODC。如 DC 失窃,则受攻击的对象仅限于在从网络转移时在失窃 RODC 上缓存的密码,重要的密码不会受到攻击。
RODC 计算机对象包含的其他两个属性可以帮您精准确定应缓存其密码的帐户。msDS-AuthenticatedAtDC 属性列出 RODC 已验证了密码的帐户,msDS-RevealedList 属性命名其密码当前由 RODC 存储的帐户。
用户和计算机密码哈希并不是 DC 存储的唯一秘密信息。KrbTGT 帐户包含在每个域控制器上运行的 Kerberos 密钥分发中心 (KDC) 服务的密钥。在通常情况下,域中的每个 KDC 共享相同的 KrbTGT 帐户,所以有可能攻击者从窃得的 DC 上获取这些密钥,然后使用它们攻击域的其余部分。但是,如果每个 RODC 均有其自己的 KrbTGT 帐户和密钥,就可防止这种攻击。
应用程序还经常在 DIT 中存储密码或其他机密信息。如果攻击者窃得了 DC,可能会得到这些应用程序密码,进而用其访问应用程序。为防范这类攻击,Windows Server 2008 域服务允许管理员定义只读过滤属性集 (RO-FAS)。RO-FAS 中的属性绝不会复制到 RODC,因此不能从失窃的 DC 中获取这些属性。通过设置构架中相应 attributeSchema 对象的 searchFlags 属性的第 9 位 (0x0200),您可以将属性指定给 RO-FAS。

门内粗汉
分支机构域控制器会面临的另一类威胁是本地服务器管理员通过利用 DC 的权限提升自己的权限,进而访问其他域资源或发起拒绝服务攻击。同样,如果本地管理员可以实际接触到域控制器,就很难防范这类攻击。但是,可以防止攻击者通过使用分支机构的域控制器攻击域中的其他 DC。
此域中的完全 DC 不会将 RODC 视为域控制器予以信任。从信任角度讲,FDC 将 RODC 视为域中的成员服务器。RODC 不是企业域控制器或域控制器组的成员。RODC 更新目录中任何内容的能力十分有限,因此即使攻击者获得了 RODC 帐户,也不会得到很高的权限。
RODC 甚至可能不出现在 DS 复制拓扑中。由于 RODC 类似正常的成员服务器,而不象域控制器,知识一致性检查器(KCC,该进程在每个 DC 上负责计算 DS 复制拓扑)不会从 RODC 构建连接对象。完全 DC 或 RODC 都不会试图从 RODC 进行复制。另一方面,RODC 将创建一个代表源自完全 DC 入站复制协定的连接对象,但是此连接对象仅存在于 RODC 副本中,其他 DC 没有该连接对象的副本。从复制的角度,RODC 像目录对象的 Roach Motel。对象向内复制,但不向外复制。

RODC 上的管理角色分离
由本地服务器管理员管理分支机构 DC 是很寻常的现象,这些管理员做每项工作,从在域控制器上运行备份,到整理键盘。但是,授予远程站点管理员在域控制器进行常规维护所必需的权限会有安全风险,站点管理员有可能提升其在域中的权限。RODC 通过提供两种管理角色分离来防止此种威胁。
第一种是域管理员可以使用 DCPROMO,以正常方式提升 RODC,或者使用两个步骤的过程,实际的提升流程安全地委派给分支站点管理员,而不授予任何域管理权限。域管理员使用 Active Directory 用户和计算机 MMC 管理单元预先在域中创建 RODC 计算机帐户,如 图 5 中所示。
Windows Server 2008 ADDS新增功能
图 5 预先创建 RODC 计算机帐户(单击该图像获得较大视图)
选择“预创建只读域控制器帐户”会运行精简型 DCPROMO,它执行要求有域管理访问权限的所有任务,包括创建计算机帐户、向站点指派 RODC、指定 DC 的角色、指定密码复制策略并定义需要权限来在 RODC 上完成 DCPROMO 操作的用户或组。委派的管理员或组存储在 RODC 计算机对象的 managedBy 属性中。
委派的管理员随后可在服务器上运行 DCPROMO。DCPROMO 将检测预创建的帐户并将服务器转化为 RODC。以此方式运行 DCPROMO 不需要域管理员凭据。
RODC 提供管理角色分离的第二种方式是在 RODC 本身创建本地管理角色。这些角色看起来像机器本地组,它们存储在 RODC 的注册表中,并且只能在 RODC 上进行评估。但是,管理员是使用 NTDSUTIL 管理本地 RODC 角色,而不是使用计算机管理 MMC 管理单元。 图 6 列出了 RODC 上的本地管理角色。这些角色与 Windows 中的内置组一一对应。

RODC 特性
由于 RODC 是只读的,并且其他域控制器不从其进行复制,它们会出现一些异常的行为。例如,延迟对象(即,因为 DC 的复制时间不能长于林的生存周期,所以除了特殊的 DC,该类对象已从其他位置删除)通常由 DC 的出站复制伙伴检测。但是,由于 RODC 没有入站复制伙伴,因而它们不会检测延迟对象。
RODC 不会为 LDAP 更新(添加、修改、删除、重命名或移动)操作提供服务。而是返回错误,其中包含对能提供操作的可写 DC 的 LDAP 参照。如果发起 LDAP 更新的应用程序对参照操作处置不当,应用程序将无法使用。
最后,如果林中其他域的用户试图向 RODC 验证,RODC 必须能够访问其所在域的完全 DC 来获取信任密码,以便将验证请求正确传递给用户域中的 DC。如果在其域中 RODC 和完全 DC 之间的网络连接不可用,验证将失败。

精准密码策略
能在域中定义多个密码策略可能是 Windows Server 2008 ADDS 最受欢迎的功能。您可能知道,在 Windows 2000 和 Windows Server 2003 Active Directory 中,每个域仅支持一个应用于域中所有安全主体的密码策略。如果一组特定用户需要一个单独的密码策略,您必须创建一个单独的域。但现在 Windows Server 2008 ADDS 中新增了一项功能,称为精准密码策略,您可以用它在域中定义多个密码策略。
新策略使用组将精准的密码策略应用于用户。您先在 CN=密码设置容器、CN=系统、DC=<域> 容器中创建新 msDS-PasswordSettings 对象来定义精准密码策略。msDS-PasswordSettings 对象(简称 PSO)包含与“组策略”中的密码策略设置平行的属性(请参见 图 7)。
随后,您可通过将用户或组名称添加到 PSO 的多值 mDS-PSOAppliesTo 属性中为用户或组指派密码策略。一旦您接受不向 OU 应用密码策略这一观念,会非常易于实施。但在其他方面还有一些复杂。
用户通常是许多组的成员。因此,如果由于这些组成员关系导致了用户产生多项相互冲突的密码策略,那又将如何呢?在这种情况下,ADDS 使用优先级评估来确定应用哪个密码策略。其工作原理如下所示:
  1. 如果密码策略直接链接用户对象(而不是通过组成员关系),将应用该密码策略。
  2. 如果多个密码策略直接与用户链接,将应用优先权值最小(由 PSO 的 msDS-PasswordSettingsPrecendence 属性值确定)的策略。
  3. 如果多个 PSO 的优先权相同,将应用 objectGUID 值最小的那个 PSO。
  4. 如果没有 PSO 与用户直接链接,ADDS 将评估与用户组相链接的 PSO。如果有多个 PSO,将应用 msDS-PasswordSettingsPrecedence 属性中值最小的那个 PSO。
  5. 如果多个 PSO 的优先权值相同,将应用 objectGUID 值最小的那个 PSO。
  6. 如果没有 PSO 与用户相关联,将使用域密码策略。
用户对象有一个名为 msDS-ResultantPSO 的新属性,协助精确排序应用给用户的 PSO。此属性包含控制该用户密码的 PSO 的独有名称。
精准密码策略赋予您更多的灵活性,但您必须仔细管理并简化这些策略。要定义精准密码策略,没有现成的实用工具,您需要使用 ADSIEdit 或查找第三方实用工具。

可重启的 Active Directory 目录服务
每次关闭域控制器进行 DIT 维护时,都会在网络服务层造成一些中断。Windows Server 2008 DC 有一项新功能,可以让您不必完全关闭 DC 就行停止目录服务。
在 Windows Server 2008 DC 上使用 NET STOP NTDS 命令来中止 ADDS。执行此操作时,DC 上的本地安全机构 (LSASS) 继续运行,但它会卸载所有与 ADDS 相关的 DLL,因此无法再使用目录服务。LSASS 随后将域验证请求转发给 DC,其操作方式与成员服务器并无二致。由于卸载了处理 ADDS 的 DLL,您可以应用与 ADDS 相关的补丁程序,或执行离线 DIT 碎片整理。ADDS 的启动与 NET START NTDS 一样简单。但是,从系统状态备份恢复 DIT 仍需要您重新启动,然后进入目录服务修复模式。
您需要知晓目录服务并不是真正的 Windows 服务。它仍是 LSASS 的一个构成组件,不关机,您无法停止 LSASS。但是在 Windows Server 2008 中启动和停止目录服务非常便利。

备份和恢复
Windows Server 2008 中对整个备份和恢复机制进行了修改。这里我不想一一累述,但新的 Windows Server 备份有一些更改影响到了 ADDS。
Windows Server 备份是一个基于卷的备份解决方案,这意味着它一次备份整个磁盘卷。另外,它仅备份到磁盘(或类似磁盘)设备,不支持磁带。
WBADMIN 命令行备份实用工具有一个系统状态备份选项。使用 WBADMIN START SYSTEMSTATEBACKUP 命令,您现在可以创建备份映像,其中包含在域控制器恢复 Active Directory 所需的全部重要系统文件。这样,备份集中最多可以有五个卷,但每个卷只包含恢复系统状态所需的文件。更有些恼人的是,从 Windows Server 2008 的 RC0 起,您无法对网络共享执行系统状态备份。您必须有可供系统状态备份映像使用的本地磁盘卷,且该卷不能是系统状态备份卷集的一部分。对于您要进行系统状态备份的每个域控制器,您可能必须向其新添加一个磁盘卷。
系统状态还原非常简单。只需将 DC 引导为目录服务还原模式,然后运行 WBADMIN START SYSTEMSTATERECOVERY 命令即可。这将产生非权威还原的 DIT,您可在其中使用 NTDSUTIL 对特定对象执行权威还原,就像在 Windows Server 2003 中一样。
Windows Server 备份中的一个方面需特别注意:它以虚拟硬盘 (VHD) 格式存储备份映像。Microsoft Virtual Server 2005 也使用这种格式存储其虚拟磁盘映像。这表示您可获取用 Windows Server 备份创建的备份映像,在 Microsoft Virtual Server 下运行的虚拟机中将其安装成一个磁盘。然后就像正常磁盘一样浏览备份内容。
ADDS 备份的另一项更改是可以使用“卷影复制服务”创建 Active Directory 的时间点快照。使用 NTDSUTIL 创建快照时,“卷影复制服务”在每个磁盘块被更新操作覆盖前,保存其更新前的映像。通过将保存的更新前映像与 DIT 的当前版本组合在一起,“卷影复制服务”可用极小的开销构建完整的 DIT 快照。无论 DIT 的大小如何,创建典型的快照只需几秒。
就其本身而言,这是一项有趣的功能,但并非总是那样有用。但是,在 Windows Server 2008 中,ADDS 纳入了一个称为 DSAMAIN 的命令行实用工具,它以只读模式安装快照映像。这样就提供了一个独立 LDAP 服务器,它很象在快照时包含目录内容的 ADLDS 实例。您可使用 LDP 实用工具或其他 LDAP 工具浏览目录,并从先前的时间点检索目录对象的版本。

使用 DFS-R 复制 SYSVOL
Windows Server 2003 R2 带有一个改良的分布式文件服务 (DFS),其中引进了称为 DFS-R 的全新文件复制机制。它使用的是远程差分压缩,这种方式通过确定需要复制哪些目标文件块来与源文件同步,极大地减少了文件复制流量。但是,Windows Server 2003 R2 仍使用文件复制服务(而不是 DFS-R)在域控制器之间复制 SYSVOL。因此,SYSVOL 复制还是 Active Directory 管理员的问题之源。
在 Windows Server 2008 域功能级运行时,Windows Server 2008 使用 DFS-R 复制 SYSVOL,提高 SYSVOL 复制的速度和强度。这就可以将大型文件放入 SYSVOL,供所有 DC 使用。要将 DFS-R 用于 SYSVOL,必须先使用 DFSRMIG 实用工具将旧 SYSVOL 数据迁移至 DFS-R。此过程包括四个步骤:
  • 创建 DFS-R. 所需的 Active Directory 对象。
  • 在每个域控制器上为 SYSVOL 新建文件结构。
  • 转换所有域控制器以使用新的 SYSVOL。
  • 删除旧的 SYSVOL。
此过程可能花点儿时间,具体视 SYSVOL 的大小和域控制器的数量而定,但性能和可靠性的提高完全值得为此花费时间。

审计改进
Windows Server 2003 中 Active Directory 的审计系统具有双重效应。一方面,它为追踪目录中的更改提供了极其全面、灵活和安全的解决方案。但是也有事例反映遇到某些严重的使用性问题。
在 Windows Server 2003 域控制器上启用目录更改审计非常类似“全有”或“全无”,它或者启用,或者禁用。繁忙企业 DC 上的审计流量可能使审计变得不实用。通过改变单个的安全描述符配置审计系统,使其生成您真正需要的信息既费力,又容易出错。审计信息本身经常含义模糊,并且所含的信息常常是您不需要的,例如属性变化前后的值。使用 Windows 自带的工具从多个域控制器收集、关联并存档信息不太现实。
Windows Server 2008 中的目录服务审计系统解决了一些这样的问题。首先,目录服务审计新增了四个审计子类:DS 访问、DS 更改、DS 复制和详细的 DS 复制。如果您只想审计目录更改,不必费力查看所有读取和复制事件。但是,如果您想在审计日志中包含对象删除,您必须启用 DS 访问。这会生成所有 DS 对象访问的信息,本质上这还是生成了过多的信息并且仍是由您配置安全描述符来为您关心的对象生成所需的信息。
审计信息已得到了充分整理,所以它们既能读取,又包含您所需的数据。特别是,目录更改生成包含变化属性新旧值的审计日志条目。这是一个巨大的改进。唯一的不足是新旧值显示在不同的审计日志条目中,因此您必须将它们关联起来才能真正理解所做的更改。许多加载项审计日志收集产品(包括 Microsoft 审计收集服务)均支持这类关联。

UI 改进
Active Directory 用户和计算机、站点和服务,以及域和信任 MMC 管理单元对于管理 Active Directory 而言通常足够了。在 Windows Server 2008 中,基本管理工具已得到整理,并引入了一组上乘的新功能。如果您启用高级功能,每个对象的属性对话框会额外显示一个选项卡,名为“属性编辑器”。ADSIEdit 也使用这个属性编辑器选项卡,您可用它检查并编辑对象的所有属性。该选项卡本身现在可以对已编码的属性(例如 userAccountControl 属性)进行效果更好地解码。 图 8 显示了无缝集成属性编辑器的方式。
Windows Server 2008 ADDS新增功能
图 8 Active Directory 用户和计算机中的属性编辑器(单击该图像获得较大视图)

结束语
除了我在本文中所讨论的关键点,Windows Server 2008 中的 ADDS 还有许多其他改进。例如,如果域处于 Windows Server 2008 域的功能级,KDC 使用 256 位的高级加密标准 (AES-256)。通过选中任何 DS 对象的“对象”选项卡上合适的复选框,可以启用对象的“意外删除防护”。提供数据管理服务的“可扩展存储引擎”已得到改进,可以使用单一位数的错误修正,在 DIT 出现故障时,减小了磁盘子系统产生硬件或软件错误的可能性。DNS 服务在完全加载 DNS 数据库前开始处理请求。DC Locator 模块已经增强,因此,如果它未能在所需的站点找到 DC,将尝试在最近的站点找到 DC,而不是仅使用可以在域中找到的任意 DC。NTDSUTIL 现在支持 RODC 和卷影复制服务快照。
毫无疑义,Windows Server 2008 对 Active Directory 域服务做出了相当多的改进。在它们的共同作用下,ADDS 的安全性和可管理性得到了极大的改善。最出色的是,将 Windows Server 2008 集成到您的 Active Directory 环境中不涉及巨大的迁移,整个过程属于增量更改,非常简单。
------------------------------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(windows,server,2008)