如何在运行 IIS 的 Windows Server 2012 系统上修补CVE-2014-3566?
Windows Update 中是否有补丁,或者我是否必须更改注册表才能禁用 SSL 3.0?
Eva*_*son 58
没有“补丁”。这是协议中的漏洞,而不是实现中的错误。
在 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在上述注册表路径中命名的键。
我还没有测试过所有版本,但我认为可以安全地假设需要重新启动才能使此更改生效。
Eri*_*rop 24
为了便于安装,我从上面埃文的回答中导出了这个“禁用 ssl 2 和 3.reg”文件:
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
Run Code Online (Sandbox Code Playgroud)
Vas*_*kis 12
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 }
Run Code Online (Sandbox Code Playgroud)
这是一个 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
Run Code Online (Sandbox Code Playgroud)
这可以使用 SCCM 或命令行进行部署 - 只需确保以管理员身份运行 SCCM 作业或命令行。一些带有注册表信息的网站表明在创建和/或修改注册表项后需要重新启动。