wake-up-neo.com

在IIS上,如何修补SSL 3.0 POODLE漏洞(CVE­-2014­-3566)?

如何在运行IIS的Windows Server 2012系统上修补 CVE­-2014­-3566

Windows Update中是否有补丁,还是我必须做 更改注册表以禁用SSL 3.

53
Eric Lathrop

没有“补丁”。这是协议中的漏洞,而不是实现中的错误。

在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)创建一个名为Enabled的DWORD值,并将其设置为0

禁用SSL 2.0(您也应该这样做)的方法相同,只是您将使用名为SSL 2.0在上述注册表路径中。

我尚未测试所有版本,但我认为可以安全地假设必须重新启动此更改才能生效。

58
Evan Anderson

为了简化安装,我从 上面的Evan的回答 派生了这个“ disable ssl 2 and 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
24
Eric Lathrop

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 }
12
Vasili Syrakis

Nartac提供了一个免费实用程序,可用于禁用协议。

https://www.nartac.com/Products/IISCrypto/Default.aspx

9
DrundoSoft

这是一个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作业或命令行。创建和/或修改注册表项后,需要重新启动。

8
Kazi

或获取IISCrypto的副本并单击最佳实践按钮,然后取消选中SSL 3.0,然后应用,然后重新启动

4
Tom

您不必禁用SSL3。您可以启用SSL3并具有缓解POODLE

# Copy and paste this in PowerShell then restart your server
$cipherSuitesOrder = @(
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256',
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384',
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256',
    'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384',
    'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256',
    'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384',
    'TLS_RSA_WITH_AES_128_CBC_SHA256',
    'TLS_RSA_WITH_AES_128_CBC_SHA',
    'TLS_RSA_WITH_AES_256_CBC_SHA256',
    'TLS_RSA_WITH_AES_256_CBC_SHA',
    'TLS_RSA_WITH_RC4_128_SHA',
    'TLS_RSA_WITH_3DES_EDE_CBC_SHA',
    'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384',
    'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384',
    'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384',
    'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256',
    'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384'
)
$cipherSuitesAsString = [string]::join(',', $cipherSuitesOrder)
New-ItemProperty -path 'HKLM:\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002' \
-name 'Functions' -value $cipherSuitesAsString -PropertyType 'String' -Force | Out-Null

使用这些设置,您仍将拥有IE6支持(使用RC4的SSLv3),并且具有比可接受的配置安全性更高的方式。仅IE6和真正的旧客户端将使用SSLv3或RC4密码。

3
Angel Abad Cerdeira

有一个很好的PowerShell脚本可帮助IIS 7.5&8配置:

此PowerShell脚本将您的Microsoft Internet Information Server 7.5和8.0(IIS)设置为支持具有转发保密性的TLS 1.1和TLS 1.2协议。此外,它通过禁用不安全的SSL2和SSL3以及所有可能导致浏览器回退的不安全和弱密码,来提高SSL连接的安全性。该脚本实现了当前的最佳实践规则。

https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

3
David Thomas