web-dev-qa-db-ja.com

弱い暗号を無効にする

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}
2
user3329963

レジストリキーの推測はここで作成されます。

推測する必要はありません。 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で使用できるキーのサイズごとに1つずつ、いくつかの新しいキーを作成します。

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

各キー内で、2つの新しい値を作成します。

Enabled              DWORD    0
DisabledByDefault    DWORD    1

これらのポリシーは、Schannel.dllにリンク/呼び出すアプリケーションにのみ影響することに注意してください。IIS、Internet Explorer、リモートデスクトップなど。これらの設定は、OpenSSLなどの他のSSLライブラリを使用するアプリケーションには影響しません。

5
Ryan Ries