CVE-2014-3566’yı IIS çalıştıran bir Windows Server 2012 sistemine nasıl eklerim ?
Windows Update'te bir düzeltme eki var mı, yoksa SSL 3.0'ı devre dışı bırakmak için bir kayıt defteri değişikliği yapmam gerekir mi?
CVE-2014-3566’yı IIS çalıştıran bir Windows Server 2012 sistemine nasıl eklerim ?
Windows Update'te bir düzeltme eki var mı, yoksa SSL 3.0'ı devre dışı bırakmak için bir kayıt defteri değişikliği yapmam gerekir mi?
Yanıtlar:
"Yama" yok. Protokoldeki bir güvenlik açığıdır, uygulamadaki bir hata değil.
Windows Server 2003 - 2012 R2’de, SSL / TLS protokolleri, ayarlanan kayıt defterinde bayraklarla kontrol edilir HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
.
POODLE açığı ile ilgilidir SSLv3, devre dışı bırakmak için, yukarıdaki konumda bir alt anahtar oluşturun (zaten mevcut değilse) adında SSL 3.0
, bunun altında, adlı bir alt anahtar ve Server
(zaten mevcut değilse). Bu konumda ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
) adlı bir DWORD değeri oluşturun Enabled
ve bu değerin altında bırakın 0
.
Yapmanız gereken SSL 2.0'ı devre dışı bırakmak SSL 2.0
, yukarıdaki kayıt defteri yolunda adlandırılmış bir anahtar kullanmanız dışında aynı şekilde yapılır .
Tüm sürümleri test etmedim, ancak muhtemelen bu değişikliğin geçerli olması için yeniden başlatmanın gerekli olduğunu varsaymanın güvenli olduğunu düşünüyorum.
Sadece kurulum kolaylığı için bu "disable ssl 2 and 3.reg" dosyasını yukarıdaki Evan'ın cevabından aldım :
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
SSL2 ve SSL3'ü devre dışı bırakmak için Powershell:
2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }
Protokolleri devre dışı bırakmak için kullanabileceğiniz Nartac'tan ücretsiz bir yardımcı program var.
İşte kayıt defteri anahtarlarının varlığını test edecek, gerektiğinde bunları oluşturacak ve ardından SSL 2.0 ve SSL 3.0'ı devre dışı bırakmak için gerekli değerleri girecek bir PowerShell
$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
Bu, SCCM veya komut satırı kullanılarak dağıtılabilir - yalnızca SCCM işini veya komut satırını Yönetici olarak çalıştırdığınızdan emin olun. Kayıt defteri bilgisine sahip bazı web siteleri, kayıt defteri anahtarları oluşturulduktan ve / veya değiştirildikten sonra yeniden başlatmanın gerekli olduğunu gösterir.
SSL3'ü devre dışı bırakmak zorunda değilsiniz. SSL3'ü etkinleştirebilir ve POODLE'ı hafifletebilirsiniz .
# 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
Bu ayarlarla, yine de IE6 desteğine sahip olacaksınız (RC4 kullanarak SSLv3 ile) ve kabul edilebilir bir yapılandırma güvenliğinden daha akıllıca olabilirsiniz. Yalnızca IE6 ve gerçekten eski istemci SSLv3 veya RC4 şifrelerini kullanıyor olabilir.
IIS 7.5 ve 8 yapılandırmasına yardımcı olan iyi bir PowerShell betiği var:
Bu PowerShell betiği, Microsoft Internet Information Server 7.5 ve 8.0'ı (IIS) TLS 1.1 ve TLS 1.2 protokolünü Forward gizliliği ile desteklemek üzere ayarlar. Ek olarak, güvensiz SSL2 ve SSL3'ü ve ayrıca bir tarayıcının geri düşebileceği güvensiz ve zayıf şifreleri devre dışı bırakarak SSL bağlantılarınızın güvenliğini artırır. Bu script mevcut en iyi uygulama kurallarını uygular.
https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12