1 votes

Le chiffrement RC4 ne fonctionne pas sur Windows 2008 R2 / IIS 7.5

J'ai configuré schannel pour interdire les protocoles et chiffrements non sécurisés selon les recommandations standard, mais SSLscan ne rapporte que AES & 3DES comme options de chiffrement disponibles. Bien que RC4 devrait être activé et soit configuré comme le chiffrement préféré, il n'apparaît tout simplement pas comme une option.

Les paramètres du registre schannel sont configurés comme suit :

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
  Chiffrements
    AES 128/128: Activé (1)
    AES 256/256: Activé (1)
    DES 56/56: Activé (0)
    NULL: Activé (0)
    RC2 128/128: Activé (0)
    RC2 40/128: Activé (0)
    RC2 56/128: Activé (0)
    RC4 128/128: Activé (1)
    RC4 40/128: Activé (0)
    RC4 56/128: Activé (0)
    RC4 64/128: Activé (0)
    Triple DES 168/168: Activé (1)
  Protocoles
    PCT 1.0
      Serveur: Activé (0)
    SSL 2.0
      Serveur: Activé (0)
    SSL 3.0
      Serveur: Activé (1)
    TLS 1.0
      Serveur: Activé (1)
    TLS 1.1
      Serveur: Désactivé par défaut (0), Activé (1)
    TLS 1.2
      Serveur: Désactivé par défaut (0), Activé (1)
HKLM\SYSTEM\CurrentControlSet\Control\

La sortie de SSLScan est la suivante :

Supported Server Cipher(s):
Rejected  SSLv2  168 bits  DES-CBC3-MD5
Rejected  SSLv2   56 bits  DES-CBC-MD5
Rejected  SSLv2  128 bits  IDEA-CBC-MD5
Rejected  SSLv2   40 bits  EXP-RC2-CBC-MD5
Rejected  SSLv2  128 bits  RC2-CBC-MD5
Rejected  SSLv2   40 bits  EXP-RC4-MD5
Rejected  SSLv2  128 bits  RC4-MD5
Failed    SSLv3  256 bits  ADH-AES256-SHA
Failed    SSLv3  256 bits  DHE-RSA-AES256-SHA
Failed    SSLv3  256 bits  DHE-DSS-AES256-SHA
Failed    SSLv3  256 bits  AES256-SHA
Failed    SSLv3  128 bits  ADH-AES128-SHA
Failed    SSLv3  128 bits  DHE-RSA-AES128-SHA
Failed    SSLv3  128 bits  DHE-DSS-AES128-SHA
Failed    SSLv3  128 bits  AES128-SHA
Failed    SSLv3  168 bits  ADH-DES-CBC3-SHA
Failed    SSLv3   56 bits  ADH-DES-CBC-SHA
Failed    SSLv3   40 bits  EXP-ADH-DES-CBC-SHA
Failed    SSLv3  128 bits  ADH-RC4-MD5
Failed    SSLv3   40 bits  EXP-ADH-RC4-MD5
Failed    SSLv3  168 bits  EDH-RSA-DES-CBC3-SHA
Failed    SSLv3   56 bits  EDH-RSA-DES-CBC-SHA
Failed    SSLv3   40 bits  EXP-EDH-RSA-DES-CBC-SHA
Failed    SSLv3  168 bits  EDH-DSS-DES-CBC3-SHA
Failed    SSLv3   56 bits  EDH-DSS-DES-CBC-SHA
Failed    SSLv3   40 bits  EXP-EDH-DSS-DES-CBC-SHA
Accepted  SSLv3  168 bits  DES-CBC3-SHA
Failed    SSLv3   56 bits  DES-CBC-SHA
Failed    SSLv3   40 bits  EXP-DES-CBC-SHA
Failed    SSLv3  128 bits  IDEA-CBC-SHA
Failed    SSLv3   40 bits  EXP-RC2-CBC-MD5
Failed    SSLv3  128 bits  RC4-SHA
Failed    SSLv3  128 bits  RC4-MD5
Failed    SSLv3   40 bits  EXP-RC4-MD5
Failed    SSLv3    0 bits  NULL-SHA
Failed    SSLv3    0 bits  NULL-MD5
Failed    TLSv1  256 bits  ADH-AES256-SHA
Failed    TLSv1  256 bits  DHE-RSA-AES256-SHA
Failed    TLSv1  256 bits  DHE-DSS-AES256-SHA
Accepted  TLSv1  256 bits  AES256-SHA
Failed    TLSv1  128 bits  ADH-AES128-SHA
Failed    TLSv1  128 bits  DHE-RSA-AES128-SHA
Failed    TLSv1  128 bits  DHE-DSS-AES128-SHA
Accepted  TLSv1  128 bits  AES128-SHA
Failed    TLSv1  168 bits  ADH-DES-CBC3-SHA
Failed    TLSv1   56 bits  ADH-DES-CBC-SHA
Failed    TLSv1   40 bits  EXP-ADH-DES-CBC-SHA
Failed    TLSv1  128 bits  ADH-RC4-MD5
Failed    TLSv1   40 bits  EXP-ADH-RC4-MD5
Failed    TLSv1  168 bits  EDH-RSA-DES-CBC3-SHA
Failed    TLSv1   56 bits  EDH-RSA-DES-CBC-SHA
Failed    TLSv1   40 bits  EXP-EDH-RSA-DES-CBC-SHA
Failed    TLSv1  168 bits  EDH-DSS-DES-CBC3-SHA
Failed    TLSv1   56 bits  EDH-DSS-DES-CBC-SHA
Failed    TLSv1   40 bits  EXP-EDH-DSS-DES-CBC-SHA
Accepted  TLSv1  168 bits  DES-CBC3-SHA
Failed    TLSv1   56 bits  DES-CBC-SHA
Failed    TLSv1   40 bits  EXP-DES-CBC-SHA
Failed    TLSv1  128 bits  IDEA-CBC-SHA
Failed    TLSv1   40 bits  EXP-RC2-CBC-MD5
Failed    TLSv1  128 bits  RC4-SHA
Failed    TLSv1  128 bits  RC4-MD5
Failed    TLSv1   40 bits  EXP-RC4-MD5
Failed    TLSv1    0 bits  NULL-SHA
Failed    TLSv1    0 bits  NULL-MD5

Chiffrement(s) de serveur préféré(s) : SSLv3 168 bits DES-CBC3-SHA TLSv1 256 bits AES256-SHA

Comme vous pouvez le constater, RC4 n'est pas accepté comme une option. J'ai utilisé la même configuration (à l'exception de TLS 1.1-1.2) sur des serveurs Windows 2003R2/IIS6 auparavant et RC4 n'a pas posé de problème.

Quelqu'un peut-il m'aider à trouver pourquoi RC4 128/128 ne fonctionne pas ?

Merci !

2voto

hithwen Points 774

La raison pour laquelle RC4 ne fonctionne pas est qu'il doit être paramétré sur 0xfffffff ou 4294967295 dans le registre, pas sur 1 pour l'activer.

Voici quelques fonctions PowerShell qui ont été utilisées pour configurer nos installations IIS en conformité avec PCI :

Cette fonction est utilisée pour activer/désactiver les protocoles requis

function Set-IISSecurityProtocols {
$protopath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols"
& reg.exe add "$protopath\PCT 1.0\Server" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$protopath\SSL 2.0\Server" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$protopath\SSL 3.0\Server" /v Enabled /t REG_DWORD /d 00000001 /f
& reg.exe add "$protopath\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 00000001 /f
& reg.exe add "$protopath\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 00000001 /f
& reg.exe add "$protopath\TLS 1.1\Server" /v DisabledByDefault /t REG_DWORD /d 00000000 /f
& reg.exe add "$protopath\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 00000001 /f
& reg.exe add "$protopath\TLS 1.2\Server" /v DisabledByDefault /t REG_DWORD /d 00000000 /f
& reg.exe add "$protopath\TLS 1.1\Client" /v Enabled /t REG_DWORD /d 00000001 /f
& reg.exe add "$protopath\TLS 1.1\Client" /v DisabledByDefault /t REG_DWORD /d 00000000 /f
& reg.exe add "$protopath\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 00000001 /f
& reg.exe add "$protopath\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 00000000 /f

}

Cette fonction est utilisée pour définir les chiffrements autorisés ou interdits

function Set-IISSupportedCiphers {
$cipherpath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers"
& reg.exe add "$cipherpath\NULL" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\DES 56/56" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\RC2 40/128" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\RC2 56/128" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\RC2 128/128" /v Enabled /t REG_DWORD /d 00000000 /f 
& reg.exe add "$cipherpath\RC4 40/128" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\RC4 56/128" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\RC4 64/128" /v Enabled /t REG_DWORD /d 00000000 /f
& reg.exe add "$cipherpath\RC4 128/128" /v Enabled /t REG_DWORD /d 4294967295 /f
& reg.exe add "$cipherpath\Triple DES 168/168" /v Enabled /t REG_DWORD /d 4294967295 /f
& reg.exe add "$cipherpath\AES 128/128" /v Enabled /t REG_DWORD /d 4294967295 /f 
& reg.exe add "$cipherpath\AES 256/256" /v Enabled /t REG_DWORD /d 4294967295 /f

}

Une fois ces changements effectués (Un redémarrage est requis de ce que je sais), vous pouvez alors définir la priorité dans laquelle les chiffrements sont utilisés.

Pour immuniser la vulnérabilité BEAST, il est recommandé d'utiliser RC4 en premier comme décrit à l'adresse suivante : http://www.phonefactor.com/blog/slaying-beast-mitigating-the-latest-ssltls-vulnerability.php

Cela restera le cas jusqu'à ce que

  • Tous les navigateurs corrigent la vulnérabilité BEAST
  • Ou jusqu'à ce que tout le monde commence à supporter TLS1.2

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X