Làm cách nào để vá CVE-2014-3566 trên hệ thống Windows Server 2012 chạy IIS?
Có bản vá nào trong Windows Update không, hay tôi phải thay đổi sổ đăng ký để tắt SSL 3.0 ?
Làm cách nào để vá CVE-2014-3566 trên hệ thống Windows Server 2012 chạy IIS?
Có bản vá nào trong Windows Update không, hay tôi phải thay đổi sổ đăng ký để tắt SSL 3.0 ?
Câu trả lời:
Không có "bản vá". Đó là một lỗ hổng trong giao thức, không phải là lỗi trong quá trình thực hiện.
Trong Windows Server 2003 đến 2012 R2, các giao thức SSL / TLS được điều khiển bởi các cờ trong bộ đăng ký tại HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
.
Để vô hiệu hóa SSLv3, lỗ hổng POODLE có liên quan, hãy tạo một khóa con tại vị trí trên (nếu nó chưa xuất hiện) được đặt tên SSL 3.0
và theo đó, một khóa con có tên Server
(nếu nó chưa xuất hiện). Tại vị trí này ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
) tạo một giá trị DWORD được đặt tên Enabled
và đặt nó ở 0
.
Vô hiệu hóa SSL 2.0, điều mà bạn cũng nên làm, được thực hiện theo cách tương tự, ngoại trừ việc bạn sẽ sử dụng một khóa có tên SSL 2.0
trong đường dẫn đăng ký ở trên.
Tôi chưa thử nghiệm tất cả các phiên bản, nhưng tôi nghĩ có thể an toàn khi cho rằng khởi động lại là cần thiết để thay đổi này có hiệu lực.
Để dễ cài đặt, tôi lấy tệp "vô hiệu hóa ssl 2 và 3.reg" này từ câu trả lời của Evan ở trên :
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
Quyền hạn để vô hiệu hóa SSL2 và SSL3:
2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }
Có một tiện ích miễn phí từ Nartac mà bạn có thể sử dụng để vô hiệu hóa các giao thức.
Đây là một PowerShell sẽ kiểm tra sự hiện diện của các khóa đăng ký, tạo chúng nếu cần và sau đó nhập các giá trị cần thiết để tắt SSL 2.0 và 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
Điều này có thể được triển khai bằng SCCM hoặc dòng lệnh - chỉ cần đảm bảo chạy công việc SCCM hoặc dòng lệnh với tư cách Quản trị viên. Một số trang web có thông tin đăng ký cho biết cần phải khởi động lại sau khi các khóa đăng ký được tạo và / hoặc sửa đổi.
Bạn không phải tắt SSL3. Bạn có thể kích hoạt SSL3 và giảm nhẹ 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
Với các cài đặt này, bạn vẫn sẽ có hỗ trợ IE6 (với SSLv3 sử dụng RC4) và có cấu hình bảo mật thông minh hơn mức chấp nhận được. Chỉ IE6 và máy khách thực sự cũ sẽ sử dụng mật mã SSLv3 hoặc RC4.
Có một kịch bản PowerShell tốt giúp cấu hình IIS 7.5 & 8:
Tập lệnh PowerShell này thiết lập Microsoft Internet Information Server 7.5 và 8.0 (IIS) của bạn để hỗ trợ giao thức TLS 1.1 và TLS 1.2 với tính năng bảo mật Chuyển tiếp. Ngoài ra, nó còn tăng tính bảo mật cho các kết nối SSL của bạn bằng cách vô hiệu hóa SSL2 và SSL3 không an toàn và tất cả các mật mã không an toàn và yếu mà trình duyệt cũng có thể quay lại. Kịch bản này thực hiện các quy tắc thực hành tốt nhất hiện nay.
https://www.hass.de/content/setup-your-iis-ssl-perinf-forward-secrecy-and-tls-12