我正在为我们的组织规划 Active Directory 安装的布局。我正在研究使用组策略来强制执行特定设置,增强我们的桌面和服务器的安全性,并从我们的标准计算机映像提供更一致的用户体验。我们的环境中将混合使用 Windows XP、Windows 7 Pro、Windows Server 2003、Windows Server 2008 R2 Standard、Macintosh OS X (10.6) 和各种 Linux(CentOS 和 Ubuntu)服务器。
- 我正在寻找想法、技巧、建议甚至资源,以确定在这些不同的机器上使用组策略的适当方法和适当的布局。
- 在实施组策略时您学到了什么?
- 您想改变什么?
- 您是如何设计它以使其能够与客户端和服务器协同工作的?
- 您如何处理或适应各种操作系统?
- 是否存在应该遵循的普遍接受的组策略设计?
- 嵌套策略来创建类似层次树的模型是一个好主意吗?
- 使用环回处理是一个好主意吗?
- 在策略结构的设计方面,是否存在对客户端机器登录速度变慢的担忧?
- 由于有 Windows XP 和 Windows 7 计算机,ADM 文件和 ADMX 文件之间有区别吗?我怎么知道何时使用其中一个而不是另一个?这重要吗?
- 有人告诉我,我应该考虑利用组策略对象中的用户配置设置已禁用或计算机配置设置已禁用选项。这样做明智吗?设置了这些选项有关系吗?
非常感谢您的任何帮助和想法。我很想向您学习,希望您能给我们带来经验,帮助我们成功完成迁移 - 尤其是这样,我们一年后就不必重新设计一切了。
答案1
背景:
我一直在使用组策略沉重自 2000 年中期开始部署 Windows 2000 Server 和 Windows 2000 Professional 客户端以来,我一直在客户站点中部署组策略。与其他 Samba 和其他与 Windows 客户端操作系统兼容的单点登录机制相比,组策略是 Windows Server/Active Directory 平台最引人注目的功能之一。
在实施组策略时您学到了什么?
异步策略处理提供了非确定性的体验。它在 Windows 2000 Processional 中默认关闭,但在 Windows 客户端操作系统的所有后续版本中都默认打开。我强烈建议强制将流程恢复为同步以提供确定性的体验。
了解如何选择 GPO 中的设置并将其应用于计算机和用户具有巨大的价值。该算法真的非常简单(“阻止继承”和“不覆盖”只会稍微复杂化算法)。大多数策略应用问题最终都是由于系统管理员对用于应用组策略的算法的理解与操作系统实际执行的操作不匹配。依赖 RSoP 或 GPRESULT 等工具而不是深入了解该功能的工作原理是一个坏主意。
不要忘记站点级 GPO 链接。它们非常非常方便。当便携式计算机在站点之间移动时,请警惕可能导致发生重大事件的设置(例如,当计算机“超出范围”时强制删除的软件安装)。
在部署到生产环境之前,请在实验室 OU 和测试计算机上进行规划和测试——尤其是软件安装功能。测试、测试、测试,然后再测试。如果您犯了一个错误,组策略可能会让您非常、非常轻松地破坏数百或数千台计算机的配置。
就其本身而言,不要认为组策略可以起到任何安全作用。组策略可以帮助实施“纵深防御”策略(启用 AppLocker 等功能、强制执行组成员身份等),但如果有人获得了某台机器的“管理员”权限,他们就很容易“关闭”该机器上的组策略。
确保您了解“阻止继承”、“不覆盖”以及 WMI 和安全组过滤的工作原理。这些功能可以让您管理仅将 GPO 链接到 OU 无法处理的场景。尽量不要过度使用这些功能,因为几个月后进行逆向工程或其他系统管理员理解它们可能不直观。
在进行更改之前备份关键 GPO。GPMC 工具添加了此功能,非常方便。无论如何,您都应该对 AD 进行系统状态备份,但使用 GPMC 从备份中恢复单个 GPO 是很多比系统状态恢复更方便。
我经常利用充当“陷阱门”的脚本。只要客户端不是特定组的成员,就可以应用脚本。脚本的最后一行将客户端放入该组,这样客户端在下次启动时就不再执行该脚本。这是非常方便的行为。
您想改变什么?
不多。我有许多不同的客户,他们对我的组策略应用程序“样式”有各种不同的“修订”。我不会“做任何不同的事情”,但我确实努力将所有内容标准化为一个非常相似的配置。对我来说,这只是调整 GPO 的“样式”的问题,而不是进行任何广泛而彻底的更改。我所做的更改主要是由于在投入生产之前没有进行足够的测试。我是否提到过您应该尽早并经常进行测试?
您是如何设计它以使其能够与客户端和服务器协同工作的?
就像我会隔离不同类别的用户或客户端计算机一样。我将客户端计算机和服务器计算机隔离到不同的 OU 中,并将不同的 GPO 链接到这些 OU。不同角色的服务器可能会进一步隔离(或放入安全组中并过滤 GPO 应用程序)。我有适用于这两种类型计算机的通用 GPO(通常其中只有少数几个设置)。
您如何处理或适应各种操作系统?
WMI 过滤是处理各种 Windows 版本的一种方法。它工作得很好,但我个人不喜欢它。
我通常会部署一个启动脚本(很遗憾,这是我在客户时间编写的,因此无法在此处分享)来检测 Windows 版本的组策略客户端(以及它们的 32/64 位以及它们是裸机还是在给定的虚拟机管理程序上运行)以填充组,这样我就可以使用安全组过滤而不是 WMI 过滤。由于 WMI 过滤仅对 GPO 来说是原子的,而我可以在 GPO 中的单个软件安装中使用安全组过滤,因此我更喜欢安全组过滤。
我没有使用允许非 Windows 客户端使用组策略的客户端软件的经验,所以我根本无法谈论这一点。
是否存在应该遵循的普遍接受的组策略设计?
我来自“老派”,所以我学会了基于以下方式设计 Active Directory:微软“过去”提出的建议。当我布置我的 OU 结构时,我会非常认真地考虑组策略(以及控制委派,这是我对 OU 结构首先关注的问题)。
就我个人而言,我更喜欢使用尽可能少的 GPO 来完成工作,而无需在多个 GPO 中重复常用设置。我尽可能少地使用“阻止继承”、“不覆盖”和安全组过滤(尤其是使用“拒绝”权限)。我尝试详细命名 GPO,使它们“自我记录”。我绝不修改 Active Directory 中“开箱即用”的默认 GPO,以便我可以在“紧急”情况下禁用所有其他 GPO,并将产品恢复为“库存”行为。
嵌套策略来创建类似层次树的模型是一个好主意吗?
这是我的一般策略,对我来说效果很好。我可能会在多个位置链接相同的 GPO(例如,名为“成员服务器和域控制器计算机的通用设置”的 GPO 链接在“成员服务器”OU 和默认的“域控制器”OU)。然后,当我向下移动到 OU 层次结构时,我会链接具有更具体设置的其他 GPO。链接“愚蠢”数量的 GPO(几十或几百个)会影响性能。我的客户有链接 7 - 12 个 GPO 的客户端,没有不良性能影响。
在策略结构的设计方面,是否存在对客户端机器登录速度变慢的担忧?
某些组策略客户端扩展 (CSE) 模块可能会很慢。在某些情况下(如文件夹重定向或软件安装策略),可能只会造成一次性减速。在其他情况下(如 Windows XP SP3 中的 IE 策略),每次登录可能会增加几秒钟的时间。一般来说,请尽量保守,链接尽可能少的 GPO。运行尽可能少的脚本(如果您同步处理它们,它们加起来可能真的会很长)。测试登录时间应该是测试的一部分。
由于有 Windows XP 和 Windows 7 计算机,ADM 文件和 ADMX 文件之间有区别吗?我怎么知道何时使用其中一个而不是另一个?这重要吗?
REGISTRY.POL 文件没有区别由 ADM 文件而不是 ADMX 文件创建的组策略。如果您要从 Windows 2003 或 Windows XP 管理组策略,则需要保留 ADM 文件。如果您要将 GPO 管理限制在 Windows Vista 或更新的操作系统上,则可以放弃 ADM 文件。我个人并不担心这个问题,但我最大的 SYSVOL 只有 400MB 左右。如果我有数百个 GPO,那么我可能希望尽快从 ADM 文件迁移出去。
使用环回处理是一个好主意吗?
如果您需要它提供的功能,那么这绝对是个好主意。有些情况下没有它您就无法配置。只要您了解它的工作原理,环回策略处理就可以正常工作。它对于它的目的非常有用(无论用户登录与否,都将一致的用户设置应用于计算机)。
有人告诉我,我应该考虑利用组策略对象中的用户配置设置已禁用或计算机配置设置已禁用选项。这样做明智吗?设置了这些选项有关系吗?
这与登录时间问题有关。您可以对其进行基准测试并在您的环境中查看,但坦率地说,我没有看到任何性能差异。我并不担心我的客户站点。