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

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

在Windows Update中是否有修补程序,还是必须执行registry更改才能禁用SSL 3.0 ?

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

    在Windows Server 2003到2012 R2中,SSL / TLS协议由HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocolsregistry中的标志HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols

    要禁用与POODLE漏洞相关的SSLv3,请在上述位置(如果尚不存在)创build一个名为SSL 3.0的子项,并在其下面创build一个名为Server的子项(如果它尚不存在)。 在这个位置( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server )创build一个名为Enabled的DWORD值并将其设置为0

    禁用SSL 2.0,您也应该这样做,除了您将在上面的registrypath中使用名为SSL 2.0的密钥。

    我没有testing过所有的版本,但是我认为假设重新启动对于这个更改的生效是很有必要的。

    为了便于安装,我从Evan的上面的答案中得到了这个“禁用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 

    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 } 

    Nartac有一个免费的实用程序可用于禁用协议。

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

    这里是一个PowerShell,它将testingregistry项的存在,如果需要创build它们,然后input必要的值来禁用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或命令行进行部署 – 只要确保以pipe理员身份运行SCCM作业或命令行。 某些带有registry信息的网站指出,在创build和/或修改registry项后需要重新启动。

    或者获取IISCrypto的副本,然后单击最佳做法button,然后取消选中SSL 3.0,然后应用,然后重新启动

    您不必禁用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),并且具有更好的configuration安全性。 只有IE6和真正的老客户端将使用SSLv3或RC4密码。

    有一个很好的PowerShell脚本可以帮助IIS 7.5和8的configuration:

    此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