如何在 Windows 2012 中禁用 RC4?

如何在 Windows 2012 中禁用 RC4?

我想在 Windows Server 2012 中禁用 RC4。从此链接,我应该禁用注册表项或 RC*

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC*]

但我找不到任何东西

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\

任何想法?

另外,我还检查了安全更新编号 2868725,尽管它是最新的,但在 Windows 更新历史记录中却找不到它。

答案1

在 Server 2012 R2 中,RC4 默认不被禁用。它只内置了“限制使用 RC4 的功能”。您必须自行设置所需的注册表项:

通过在以下注册表位置将“Enabled”(REG_DWORD)条目设置为值 00000000,可以在 Windows 平台上完全禁用 RC4 密码:• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128 • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128 • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128

https://social.technet.microsoft.com/Forums/en-US/faad7dd2-19d5-4ba0-bd3a-fc724d234d7b/how-to-diable-rc4-is-windows-2012-r2?forum=winservergen

答案2

由于您使用的是 Windows Server 2012 R2 RC4,因此默认情况下是禁用的。

引用:

此更新是否适用于 Windows 8.1、Windows Server 2012 R2 或 Windows RT 8.1?
否。此更新不适用于 Windows 8.1、Windows Server 2012 R2 或 Windows RT 8.1,因为这些操作系统已包含限制使用 RC4 的功能。

Technet 文章。

答案3

对于任何想要使用 powershell 执行此操作的人来说,由于键名称中有正斜杠,因此它比其他注册表项更棘手。我使用了以下代码片段来使其工作:

$schannel = Get-Item HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
$ciphers = $schannel.OpenSubKey('Ciphers', $true)
$key = $ciphers.CreateSubKey('RC4 40/128')
$key.SetValue('Enabled', 0x0)
$key = $ciphers.CreateSubKey('RC4 56/128')
$key.SetValue('Enabled', 0x0)
$key = $ciphers.CreateSubKey('RC4 128/128')
$key.SetValue('Enabled', 0x0)

需要注意的一点是,您必须将 $ciphers 作为子项打开,并将第二个参数设置为 true,以便您能够真正写入它。Get-Item 似乎返回只读副本,除非您有可写的密钥对象,否则 CreateSubKey 将失败。有关子项中的路径元素的更多讨论这里。

相关内容