Як зробити патч CVE-2014-3566 в системі Windows Server 2012 під управлінням IIS?
Чи є виправлення в оновленнях Windows, чи потрібно змінити реєстр, щоб відключити SSL 3.0 ?
Як зробити патч CVE-2014-3566 в системі Windows Server 2012 під управлінням IIS?
Чи є виправлення в оновленнях Windows, чи потрібно змінити реєстр, щоб відключити SSL 3.0 ?
Відповіді:
Немає «латки». Це вразливість у протоколі, а не помилка в реалізації.
У Windows Server 2003 до 2012 R2 протоколи SSL / TLS контролюються прапорами реєстру, встановленими на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
.
Щоб вимкнути SSLv3, щодо якого є вразливість POODLE, створіть підрозділ у вказаному вище місці (якщо його ще немає) з назвою, 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
у вищевказаному шляху до реєстру.
Я не перевірив всі версії, але думаю, що, напевно, можна припустити, що перезавантаження необхідне, щоб ці зміни набули чинності.
Просто для зручності установки я отримав цей файл "відключити 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, яку ви можете використовувати для відключення протоколів.
Ось 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 або командний рядок як Адміністратор. Деякі веб-сайти з інформацією про реєстр вказують на необхідність перезавантаження після створення та / або модифікації ключів реєстру.
Вам не доведеться вимикати 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.
Є хороший сценарій PowerShell, який допомагає в налаштуваннях IIS 7.5 і 8:
Цей скрипт PowerShell налаштовує ваш Інтернет-сервер інформації Internet 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