Wie kann ich CVE-2014-3566 auf einem Windows Server 2012-System mit IIS patchen ?
Gibt es einen Patch in Windows Update oder muss ich eine Registrierungsänderung vornehmen, um SSL 3.0 zu deaktivieren ?
Wie kann ich CVE-2014-3566 auf einem Windows Server 2012-System mit IIS patchen ?
Gibt es einen Patch in Windows Update oder muss ich eine Registrierungsänderung vornehmen, um SSL 3.0 zu deaktivieren ?
Antworten:
Es gibt keinen "Patch". Es ist eine Sicherheitslücke im Protokoll, kein Fehler in der Implementierung.
In Windows Server 2003 bis 2012 R2 werden die SSL / TLS-Protokolle durch Flags in der Registrierung unter gesteuert HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
.
Um SSLv3 zu deaktivieren, von dem die POODLE-Sicherheitsanfälligkeit betroffen ist, erstellen Sie einen Unterschlüssel an der oben genannten Position (sofern noch nicht vorhanden) SSL 3.0
und darunter einen Unterschlüssel mit dem Namen Server
(sofern noch nicht vorhanden). HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
Erstellen Sie an dieser Stelle ( ) einen DWORD-Wert mit dem Namen Enabled
und belassen Sie ihn auf 0
.
Das Deaktivieren von SSL 2.0, das Sie ebenfalls ausführen sollten, erfolgt auf die gleiche Weise, mit der Ausnahme, dass Sie einen Schlüssel verwenden, der SSL 2.0
im obigen Registrierungspfad angegeben ist.
Ich habe nicht alle Versionen getestet, aber ich denke, es ist wahrscheinlich sicher anzunehmen, dass ein Neustart erforderlich ist, damit diese Änderung wirksam wird.
Nur um die Installation zu vereinfachen, habe ich diese "disable ssl 2 and 3.reg" -Datei aus Evans Antwort oben abgeleitet :
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 zum Deaktivieren von SSL2 und SSL3:
2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }
Es gibt ein kostenloses Dienstprogramm von Nartac, mit dem Sie die Protokolle deaktivieren können.
Hier ist eine PowerShell, die prüft, ob die Registrierungsschlüssel vorhanden sind, sie bei Bedarf erstellt und dann die erforderlichen Werte zum Deaktivieren von SSL 2.0 und SSL 3.0 eingibt
$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
Dies kann über SCCM oder über die Befehlszeile bereitgestellt werden. Führen Sie den SCCM-Job oder die Befehlszeile nur als Administrator aus. Einige Websites mit Registrierungsinformationen weisen darauf hin, dass ein Neustart erforderlich ist, nachdem die Registrierungsschlüssel erstellt und / oder geändert wurden.
Sie müssen SSL3 nicht deaktivieren. Sie können SSL3 aktivieren und POODLE reduzieren .
# 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
Mit diesen Einstellungen hätten Sie weiterhin IE6-Unterstützung (mit SSLv3 unter Verwendung von RC4) und eine mehr als akzeptable Konfigurationssicherheit. Nur IE6 und wirklich alte Clients würden SSLv3- oder RC4-Verschlüsselungen verwenden.
Es gibt ein gutes PowerShell-Skript, das bei der Konfiguration von IIS 7.5 und 8 hilft:
Dieses PowerShell-Skript richtet Microsoft Internet Information Server 7.5 und 8.0 (IIS) so ein, dass TLS 1.1- und TLS 1.2-Protokolle mit Weiterleitungsgeheimnis unterstützt werden. Darüber hinaus wird die Sicherheit Ihrer SSL-Verbindungen erhöht, indem unsicheres SSL2 und SSL3 sowie alle unsicheren und schwachen Verschlüsselungen deaktiviert werden, auf die möglicherweise auch ein Browser zurückgreift. Dieses Skript implementiert die aktuellen Best-Practice-Regeln.
https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12