过去,我曾查看过 Windows Server 2008 Web 服务器上的服务器强化检查表,以了解 PCI 合规性。基本上,有很多组策略、注册表和其他设置需要符合安全性、加密等方面的行业最佳实践。查看某个特定部分时,它指出了以下内容:
系统应配置为禁止 IP 源路由、ICMP 重定向和 Internet 路由器发现协议。此外,如果检测到 SYN 泛洪,则配置系统以允许连接更快超时。
过去,我能够使用以“MSS:”开头的组策略设置在本地计算机策略 -> 计算机配置 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项下设置这些限制
回顾我的笔记后,发现 %SystemRoot%\inf 中有一个名为 sceregvl.inf 的文件需要编辑,但我没有详细记录以重现该方法。
如何在 Windows Server 2012 R2 上查看和编辑这些 MSS 组策略设置?
答案1
从官方说法来看,您不能。(截至撰写本文时,在 Server 2012 R2 上。)
非正式的?也许吧……
“MSS”组策略设置不会也从未包含在默认的、开箱即用的 Active Directory 安装中。它们是由现场咨询小组开发的附加组件,这些设置非常有用,因此被包含在称为安全合规管理器的“解决方案加速器”中。(它以前曾以各种类似的名称为人所知,例如“Windows 7 安全合规管理工具包”。)
问题是,安全合规管理器附带了一大堆您不想要的垃圾,例如 SQL Express 实例。您真的不想在域控制器上安装这些垃圾。您只想从中提取您想要的部分,即“LocalGPO.msi”包。
下一个问题是安全合规管理器从未针对 2012 R2 进行更新。2012,是的。2012 R2,不是。
话虽如此,您可能仍然能够让它在 2012 R2 上运行,但要小心 - 这样做可能会使您的服务器处于无法支持的状态。
下载安全合规性管理器安装. 在您的服务器上运行它。
运行 .exe,但不要继续安装。安装程序将一些文件压缩到硬盘上的临时目录中,例如C:\a1b2c3d4e5f6a0b1c2
或D:\a1b2c3d4e5f6a0b1c2
。在该目录中,您将找到一个data.cab
文件。打开该文件,提取名为 的文件GPOMSI
并将该文件重命名为LocalGPO.msi
。现在取消 SCM 安装程序,它将删除临时文件。
在您的服务器上安装 LocalGPO.msi。然后启动您将在“开始”屏幕中找到的新“LocalGPO 命令行”快捷方式。以管理员身份运行它。输入cscript LocalGPO.wsf /ConfigSCE
。
您将收到一条错误消息,提示您未运行受支持的操作系统。
在记事本中打开 LocalGPO.wsf,注释掉脚本中的 ChkOSVer 过程,这样它就不会检查您的版本。现在再次运行上述命令。
我看到过很多报告说这种方法对其他人有效,但对我来说却不起作用。在脚本的第 2245 行的 WriteLine 语句处,我仍然收到 VBscript 错误。我没有费心进行更深入的调试,只能接受它尚未针对 2012 R2 进行更新的事实。
编辑于2016/4/11:托管于这个微软博客由 Aaron Margosis 撰写,包含下载链接到适用于 2012 R2 的 MSS Extension 版本,无需“黑客攻击”。这是指向 zip 文件的链接。在 zip 文件中,您将看到一个名为“Local_Script”的目录。在该文件夹中,您将找到一个名为“MSS_Extension”的子文件夹。只需将该 MSS_Extension 目录传输到您的 2012 R2 域控制器即可。然后打开命令提示符并浏览到该目录。然后运行:
Cscript LocalGPO.wsf /ConfigSCE
答案2
可以使用Microsoft 安全合规性管理器 3。
这实际上将安装在 Server 2012 上,但您需要安装 MS SQL Express 和 Visual C++ 2010 运行时库。它还会抱怨程序兼容性,您可能需要再次重新运行安装程序。
安装后,您将找到一个名为本地组策略管理器在C:\Program 文件 (x86) \Microsoft 安全合规性 Manager\LGPO(或者你安装的任何位置安全合规经理到。
在您的服务器上运行此 MSI 文件。这将安装到C:\Program 文件 (x86)\LocalGPO(或者您选择安装它的任何其他地方)。
跑步:cscript LocalGPO.wsf /?将显示此脚本可用的各种选项,主要包括:
/ConfigSCE : Configures Security Configuration Editor (SCE) to display MSS settings.
因此,运行此命令:
C:\Program Files (x86)\LocalGPO>cscript LocalGPO.wsf /configsce
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
Modifying the Security Configuration Editor to the include MSS settings...
Updating the registry
89 subkeys found.
Subkeys deleted successfully
Subkeys added successfully
Registering SceCli.dll to complete SCE modification
The Security Configuration Editor is updated.
Security Configuration Editor has been modified successfully!
The Security Configuration Editor is updated.
现在,当你跑步时管理控制台在您的 Server 2012 机器上,您应该发现所有 MSS 设置再次可用。
要对所有机器执行此操作,只需本地GPO文件并安装到它们上,然后运行本地GPO每个脚本上都包含一个可见的设置。
答案3
所有解决方案与 RyanRes 相同,但是:
为了运行 2012R2,我们不能注释 ChkOSVer 程序,而应该对其进行编辑:
搜索名为“ChkOSVersion”的例程,向下滚动你会发现一堆 if 语句。你会希望它看起来如下:
If(Left(strOpVer,3) = "6.3") and (strProductType <> "1") then
strOs = "WS12"
ElseIf(Left(strOpVer,3) = "6.2") and (strProductType <> "1") then
strOS = "WS12"
ElseIf(Left(strOpVer,3) = "6.2") and (strProductType = "1") then
strOS = "Win8"
ElseIf(Left(strOpVer,3) = "6.1") and (strProductType <> "1") then
strOS = "WS08R2"
ElseIf(Left(strOpVer,3) = "6.1") and (strProductType = "1") then
strOS = "Win7"
ElseIf(Left(strOpVer,3) = "6.0") and (strProductType <> "1") then
strOS = "WS08"
ElseIf(Left(strOpVer,3) = "6.0") and (strProductType = "1") then
strOS = "VISTA"
ElseIf(Left(strOpVer,3) = "5.2") and (strProductType <> "1") then
strOS = "WS03"
ElseIf(Left(strOpVer,3) = "5.2") and (strProductType = "1") then
strOS = "XP"
ElseIf(Left(strOpVer,3) = "5.1") and (strProductType = "1") then
strOS = "XP"
Else
strMessage = DisplayMessage(conLABEL_CODE002)
Call MsgBox(strMessage, vbOKOnly + vbCritical, strTitle)
Call CleanupandExit
End If
注意第一条语句。确保使用 UTF-8 编码保存文件,并且由于它与其他文件有依赖关系,因此它仍驻留在同一个文件夹中。
接下来右键单击“LocalGPO 命令行”图标并选择“以管理员身份运行”
在命令提示符下输入“cscript LocalGPO.wsf /ConfigSCE”并按回车键。
就这样。我们的 GPMC 中有 MSS GP 设置
答案4
我发现对于 Win10 和 Server2K12R2,LocalGPO.WSF 需要进行修改,以便它打开的用于更新条目的 INF 文件在 UpdateSCEwithMSSValues 子目录中打开并保存为 Unicode。这似乎至少让脚本满意,并且 INF 文件确实在 Windows/Inf 中更新。但是,在运行计算机/Windows 设置/安全设置/本地策略/安全选项下的 GPEDIT.MSC 时,我还没有真正看到 MSS 隐藏条目,就像在 Win7 中看到的那样。要实际访问条目,您需要将 ADMX 和 ADML 模板复制到 Windows/PolicyDefinitions,MSS 条目显示在计算机/管理模板下。我的 $.02