前言:我是一名 Linux 管理员。我并没有真正“获得”(或喜欢)Windows。
我正在使用 CIS 建议修复 Windows 2016 服务器。它主要是根据 CIS 规范创建一个 GPO 集,并将其应用于相关服务器。我正在使用 Tenable 的 Nessus Audit Scanner 检查设置的有效性。
在这里您可以获得我正在使用的 CIS 规范:https ://www.cisecurity.org/benchmark/microsoft_windows_server/
(没有直接下载,但可以免费下载。)
许多确切的细节并不重要,所以对于这个问题,我将专注于一个具体的例子,我应该能够推断出解决其他问题。从广义上讲,问题似乎是我试图通过 GPO 应用注册表编辑,我想我不明白该怎么做。但是,CIS 指南对补救步骤非常具体。
因此,例如,我正在尝试应用 CIS 指南 19.1.3.1,“确保‘启用屏幕保护程序’设置为‘已启用’ ”
执行此操作的步骤如下所示:
要通过 GP 建立推荐的配置,请将以下 UI 路径设置为 Enabled:User Configuration\Policies\Administrative Templates\Control Panel\Personalization\Enable screen saver
好的,所以,我做到了。我知道 GPO 本身已应用,因为所有其他 GPO 设置现在都显示在服务器上。此外,Nessus Audit Scan 现在对我刚刚应用的大多数项目显示“OK”。
唯一似乎不起作用的项目是注册表设置项目。
当我检查注册表时,我发现我试图设置为某个值的键甚至不存在。对于此示例,该键是:
HKEY_USERS[USER SID]\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop:ScreenSaveActive
那么,如何让注册表设置通过 GPO 显示?
具体来说,如何使“用户配置”注册表项显示出来?
听起来您正在应用组策略对象 (GPO) 中的用户配置设置,该组策略对象 (GPO) 链接在仅适用于计算机帐户的位置。
仅当 GPO 链接到您正在测试的用户帐户所在的组织单位 (OU) 或容器之上或之上时,才会应用用户配置。例如,如果计算机帐户位于您已链接“CIS 建议”GPO 的“服务器”OU 中,但您登录时使用的用户帐户位于默认的“用户”中容器,“CIS 建议”GPO 中的那些用户配置设置将不适用。
我建议一般阅读有关组策略应用程序的内容。了解如何根据 GPO 链接的位置以及计算机和用户帐户对象所在的 OU 应用设置将对您有所帮助。您可以查阅各种不同的资源。一些想法包括:
组策略基础 - 第 1 部分:了解组策略对象的结构
组策略基础 - 第 2 部分:了解要应用的 GPO
组策略基础 - 第 3 部分:客户如何处理 GPO
如果您确实希望将用户配置设置放置在链接到通常仅适用于计算机帐户的位置的 GPO 中,则您正在寻找的特定设置是Loopback Policy Processing。此功能允许将 GPO 中应用于计算机的用户配置设置合并或完全替换通常应用于登录到该计算机的给定用户帐户的用户配置设置。
不久前,我在这个站点上写了一些关于环回策略处理的文章,并在该答案中给出了一个合理的例子。