Come patch CVE-2014-3566 su un sistema Windows Server 2012 con IIS?
Esiste una patch in Windows Update o devo fare una modifica del registro per disabilitare SSL 3.0 ?
Come patch CVE-2014-3566 su un sistema Windows Server 2012 con IIS?
Esiste una patch in Windows Update o devo fare una modifica del registro per disabilitare SSL 3.0 ?
Risposte:
Non c'è "patch". È una vulnerabilità nel protocollo, non un bug nell'implementazione.
In Windows Server 2003-2012 R2 i protocolli SSL / TLS sono controllati da flag nel registro impostato su HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
.
Per disabilitare SSLv3, di cui riguarda la vulnerabilità POODLE, creare una sottochiave nella posizione sopra (se non è già presente) denominata SSL 3.0
e, sotto quella, una sottochiave denominata Server
(se non è già presente). In questa posizione ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
) creare un valore DWORD denominato Enabled
e lasciarlo impostato su 0
.
La disabilitazione di SSL 2.0, che dovresti anche fare, viene eseguita allo stesso modo, tranne per il fatto che utilizzerai una chiave denominata SSL 2.0
nel percorso di registro sopra riportato.
Non ho testato tutte le versioni, ma penso che probabilmente sia sicuro supporre che sia necessario un riavvio per rendere effettiva questa modifica.
Solo per facilità di installazione ho derivato questo file "disable ssl 2 and 3.reg" dalla risposta di Evan sopra :
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 per disabilitare SSL2 e SSL3:
2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }
Esiste un'utilità gratuita di Nartac che è possibile utilizzare per disabilitare i protocolli.
Ecco una PowerShell che verificherà la presenza delle chiavi di registro, le creerà se necessario e quindi immetterà i valori necessari per disabilitare SSL 2.0 e 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
Questo può essere distribuito usando SCCM o la riga di comando - assicurati di eseguire il lavoro SCCM o la riga di comando come amministratore. Alcuni siti Web con le informazioni del Registro di sistema indicano che è necessario un riavvio dopo che le chiavi del Registro di sistema sono state create e / o modificate.
Non è necessario disabilitare SSL3. Puoi abilitare SSL3 e mitigare 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
Con queste impostazioni avresti comunque il supporto IE6 (con SSLv3 usando RC4) e avresti una sicurezza di configurazione più che accettabile. Solo IE6 e un client molto vecchio userebbero le cifre SSLv3 o RC4.
Esiste un buon script di PowerShell che aiuta con la configurazione di IIS 7.5 e 8:
Questo script PowerShell configura Microsoft Internet Information Server 7.5 e 8.0 (IIS) per supportare i protocolli TLS 1.1 e TLS 1.2 con il segreto Forward. Inoltre aumenta la sicurezza delle tue connessioni SSL disabilitando SSL2 e SSL3 non sicuri e tutte le cifre non sicure e deboli che un browser potrebbe ripiegare. Questo script implementa le attuali regole delle migliori pratiche.
https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12