На IIS, как я исправляю уязвимость SSL 3.0 ПУДЕЛЯ (CVE - 2014 - 3566)?

Как я исправляю CVE - 2014 - 3566 в системе Windows Server 2012 рабочий IIS?

В Windows Update существует ли патч, или я должен сделать изменение реестра для отключения SSL 3.0?

53
задан 15 October 2014 в 18:08
8 ответов

Нет "патча". Это уязвимость в протоколе, а не ошибка в реализации.

В Windows Server 2003–2012 R2 протоколы SSL / TLS контролируются флагами в реестре, установленным в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ Schannel \ Protocols .

Чтобы отключить SSLv3, с которым связана уязвимость POODLE, создайте подключ в указанном выше месте (если он еще не существует) с именем SSL 3.0 и под этим , подраздел с именем Сервер (если он еще не присутствует). В этом месте ( HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ Schannel \ Protocols \ SSL 3.0 \ Server ) создайте значение DWORD с именем Включено и оставьте его равным 0 .

Отключение SSL 2.0, которое вы также должны сделать, выполняется таким же образом, за исключением того, что вы будете использовать ключ с именем SSL 2.0 в указанном выше пути реестра.

Я не тестировал все версии, но думаю, можно с уверенностью предположить, что для того, чтобы это изменение вступило в силу, необходима перезагрузка.

58
ответ дан 28 November 2019 в 19:36

Просто для простоты установки я получил это " отключить файл 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
24
ответ дан 28 November 2019 в 19:36

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
ответ дан 28 November 2019 в 19:36

Вот 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
ответ дан 28 November 2019 в 19:36

Существует бесплатная утилита от Nartac, которую можно использовать для отключения протоколов.

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

9
ответ дан 28 November 2019 в 19:36

Или возьмите копию IISCrypto и нажмите кнопку с рекомендациями, затем снимите флажок SSL 3.0 и затем примените, затем перезагрузите

4
ответ дан 28 November 2019 в 19:36

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 (с SSLv3 с использованием RC4) и более чем приемлемая безопасность конфигурации. Только IE6 и действительно старый клиент будут использовать шифры SSLv3 или RC4.

3
ответ дан 28 November 2019 в 19:36

Есть хороший сценарий PowerShell, который помогает с настройкой IIS 7.5 и 8:

Этот сценарий PowerShell настраивает вашу Интернет-информацию Microsoft Сервер 7.5 и 8.0 (IIS) для поддержки протоколов TLS 1.1 и TLS 1.2 с Прямая секретность. Кроме того, это увеличивает безопасность вашего SSL подключений, отключив небезопасные SSL2 и SSL3 и все небезопасные и слабые шифры, которые браузер тоже может откатить. Этот сценарий реализует текущие правила передовой практики.

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

3
ответ дан 28 November 2019 в 19:36

Теги

Похожие вопросы