如何修补CVE-2014-3566在运行 IIS 的 Windows Server 2012 系统上?
Windows 更新中是否有补丁,或者我必须更改注册表以禁用 SSL 3.0?
答案1
不存在“补丁”。这是协议中的漏洞,而不是实现中的错误。
在 Windows Server 2003 至 2012 R2 中,SSL/TLS 协议由注册表中的标志控制HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
。
要禁用 POODLE 漏洞所涉及的 SSLv3,请在上述位置创建一个名为 的子项(如果尚不存在)SSL 3.0
,并在其下创建一个名为 的子项Server
(如果尚不存在)。在此位置 ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
) 创建一个名为 的 DWORD 值Enabled
,并将其设置为0
。
禁用 SSL 2.0(您也应该这样做)的方法相同,只不过您将使用SSL 2.0
上述注册表路径中命名的密钥。
我还没有测试过所有版本,但我认为可以安全地假设需要重新启动才能使此更改生效。
答案2
为了便于安装,我从以下位置获取了此“disable ssl 2 and 3.reg”文件Evan 的回答:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
答案3
Powershell 禁用 SSL2 和 SSL3:
2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }
答案4
这是一个 PowerShell,它将测试注册表项是否存在,如果需要则创建它们,然后输入必要的值以禁用 SSL 2.0 和 SSL 3.0
$regPath1 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0'
$regPath2 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Server'
$regPath3 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0'
$regPath4 = 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server'
If(!(Test-Path -Path $regPath1))
{
New-Item -Path $regPath1 -Force
}
If(!(Test-Path $regPath2))
{
New-Item -Path $regPath2 -Force
}
New-ItemProperty -Path $regPath2 -Name DisabledByDefault -PropertyType DWORD -Value "1" -Force
New-ItemProperty -Path $regPath2 -Name Enabled -PropertyType DWORD -Value "0" -Force
If(!(Test-Path $regPath3))
{
New-Item -Path $regPath3 -Force
}
If(!(Test-Path $regPath4))
{
New-Item -Path $regPath4 -Force
}
New-ItemProperty -Path $regPath4 -Name DisabledByDefault -PropertyType DWORD -Value "1" -Force
New-ItemProperty -Path $regPath4 -Name Enabled -PropertyType DWORD -Value "0" -Force
可以使用 SCCM 或命令行进行部署 - 只需确保以管理员身份运行 SCCM 作业或命令行。一些包含注册表信息的网站表明在创建和/或修改注册表项后需要重新启动。