Назад | Перейти на главную страницу

Отключение слабых шифров

Есть ли у кого-нибудь опыт отключения слабых шифров в реестре Windows? На сервере не установлен IIS. Ниже приведены результаты моего сканирования безопасности, но не на 100%, какие записи в реестр следует добавить. Раньше я отключал целые протоколы через реестр, но не отдельные шифры.

Предполагается, что здесь будут созданы ключи реестра.

HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\

Вот список слабых SSL-шифров, поддерживаемых удаленным сервером:

  Low Strength Ciphers (< 56-bit key)

    TLSv1
      EXP-EDH-RSA-DES-CBC-SHA      Kx=DH(512)     Au=RSA      Enc=DES-CBC(40)          Mac=SHA1   export     
      EXP-DES-CBC-SHA              Kx=RSA(512)    Au=RSA      Enc=DES-CBC(40)          Mac=SHA1   export     
      EXP-RC4-MD5                  Kx=RSA(512)    Au=RSA      Enc=RC4(40)              Mac=MD5    export     

The fields above are :

  {OpenSSL ciphername}
  Kx={key exchange}
  Au={authentication}
  Enc={symmetric encryption method}
  Mac={message authentication code}
  {export flag}

Предполагается, что здесь будут созданы ключи реестра.

Вам не нужно гадать. Le Microsoft KB:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel] 
"EventLogging"=dword:00000001 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Ciphers] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\CipherSuites] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Hashes] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\KeyExchangeAlgorithms] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\SSL 2.0\Client] 
"DisabledByDefault"=dword:00000001

Итак, ваша догадка была близка, но обратите внимание на подраздел Ciphers, если вы хотите включить / отключить шифрование, и подраздел Protocols, если вы хотите отключить / включить целые протоколы.

Так, например, если вы хотите отключить RC4, создайте несколько новых ключей, по одному для каждого размера ключа, который может использоваться в RC4:

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128

В каждом из этих ключей вам нужно создать новое значение:

Enabled    REG_DWORD    0

Если вы хотите отключить, например, весь протокол SSL v2, создайте ключи:

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server

Внутри каждого ключа создайте два новых значения:

Enabled              DWORD    0
DisabledByDefault    DWORD    1

Обратите внимание, что эти политики влияют только на приложения, которые ссылаются на / вызывают в Schannel.dll ... например, IIS, Internet Explorer, удаленный рабочий стол и т. Д. Эти параметры не влияют на приложения, которые используют другие библиотеки SSL, такие как OpenSSL.