Есть ли у кого-нибудь опыт отключения слабых шифров в реестре 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.