Comment appliquer le correctif CVE-2014-3566 sur un système Windows Server 2012 exécutant IIS?
Existe-t-il un correctif dans Windows Update ou dois-je modifier le registre pour désactiver SSL 3.0 ?
Comment appliquer le correctif CVE-2014-3566 sur un système Windows Server 2012 exécutant IIS?
Existe-t-il un correctif dans Windows Update ou dois-je modifier le registre pour désactiver SSL 3.0 ?
Réponses:
Il n'y a pas de "patch". C'est une vulnérabilité dans le protocole, pas un bug dans la mise en œuvre.
Dans Windows Server 2003 à 2012 R2, les protocoles SSL / TLS sont contrôlés par des indicateurs dans le registre défini à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols
.
Pour désactiver SSLv3, qui concerne la vulnérabilité POODLE, créez une sous-clé à l'emplacement ci-dessus (si elle n'est pas déjà présente) nommée SSL 3.0
et, sous celle-ci, une sous-clé nommée Server
(si elle n'est pas déjà présente). À cet emplacement ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 3.0\Server
), créez une valeur DWORD nommée Enabled
et laissez-la définie sur 0
.
La désactivation de SSL 2.0, ce que vous devriez également faire, s’effectue de la même manière, sauf que vous utiliserez une clé nommée SSL 2.0
dans le chemin de registre ci-dessus.
Je n'ai pas testé toutes les versions, mais je pense qu'il est probablement prudent de supposer qu'un redémarrage est nécessaire pour que cette modification prenne effet.
Pour faciliter l’installation, j’ai tiré ce fichier "disable ssl 2 and 3.reg" de la réponse d’ Evan ci - dessus :
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 pour désactiver SSL2 et SSL3:
2..3 | %{ New-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL $_.0\Server" -Name Enabled -PropertyType "DWORD" -Value 0 -Force }
Il existe un utilitaire gratuit de Nartac que vous pouvez utiliser pour désactiver les protocoles.
Voici un PowerShell qui va tester la présence des clés de registre, les créer si nécessaire, puis entrer les valeurs nécessaires pour désactiver SSL 2.0 et 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
Cela peut être déployé à l'aide de SCCM ou d'une ligne de commande. Veillez simplement à exécuter le travail ou la ligne de commande SCCM en tant qu'administrateur. Certains sites Web contenant des informations de registre indiquent qu’un redémarrage est nécessaire une fois les clés de registre créées et / ou modifiées.
Vous n'êtes pas obligé de désactiver SSL3. Vous pouvez activer SSL3 et atténuer 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
Avec ces paramètres, vous auriez toujours le support IE6 (avec SSLv3 utilisant RC4) et une sécurité de configuration plus qu'acceptable. Seul IE6 et le très vieux client utiliseraient les chiffrements SSLv3 ou RC4.
Il existe un bon script PowerShell qui aide à la configuration d'IIS 7.5 & 8:
Ce script PowerShell permet à votre Microsoft Internet Information Server 7.5 et 8.0 (IIS) de prendre en charge les protocoles TLS 1.1 et TLS 1.2 avec transfert de confidentialité. En outre, il augmente la sécurité de vos connexions SSL en désactivant les protocoles SSL2 et SSL3 non sécurisés, ainsi que tous les chiffrements peu sécurisés et faibles qu'un navigateur peut également utiliser. Ce script implémente les règles de meilleures pratiques actuelles.
https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12