如何在Windows 2012中禁用RC4?

我想在Windows Server 2012中禁用RC4。从这个链接 ,我应该禁用registry项或RC *

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

但我无法find任何东西

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

任何想法?

我也检查了安全更新编号2868725,并没有在Windows更新历史中find它,尽pipe它是最新的。

在Server 2012 R2中,默认情况下RC4未被禁用。 它只具有“限制使用RC4”的function。您将不得不自己设置所需的registry项:

通过在以下registry位置将“启用”(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

在使用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的function。

Technet文章。

对于任何想要使用PowerShell的人来说,由于密钥名称中有正斜杠,所以比其他registry项有点复杂。 我用下面的片段来实现它的工作:

 $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) 

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