とあるお客様からのシステム脆弱性チェック対応のために実施
調べた時にぴったり来るサイト見つけられなかったので、覚書として投稿
手順としては以下の通り、
ローカルグループポリシーエディタを起動※
>コンピュータの構成 > 管理用テンプレート >
>ネットワーク>SSK構成設定>SSL暗号の順位
※win上でgpedit.msc実行
この中に利用可能なCipherSuiteが優先順位順で記載されています。
ちなみにWindows 2012 Server R2 のデフォルトでは含まれているのはこんな感じでした。
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5 |
---|
あーもうカオスです。
今回は誕生日アタック対策でDES/3DESを無効化したかったので、この中から key と auth のどちらかに両アルゴリズムを含んでいたものを外しました。
ヒントになったリンク
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374757(v=vs.85).aspx
上記設定変更後の反映はサーバの再起動が必要でした。
gpupdateのコマンドでは反映されませんでした。
確認結果はこんな感じです。
[hogehoge@server ~]$ openssl s_client -connect 192.168.1.132:3389 -cipher DES-CBC3-SHA
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 99 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
[hogehoge@server ~]$
DES-CBC3-SHAを指定してハンドシェイクしようとすると、
サポート外として失敗するようになります。
ちなみにレジストリで値を追加して、指定した CipherSuite のON/OFFを過去のWindows Ver(2008等)では行えた様なのですが、2012では上手く行かなかったです。
--2018/3/8 追記--
検証中に気づいたので追記。
対象の"SSL暗号の順位"パラメータはどうも1024文字分までしか入力できない模様。
デフォルト設定の文字列が1450文字近くあるため、一部だけ削ってそれをそのまま貼り付けすると、後半部分がカットされてしまいます。もともと優先順位が下位にあったCipherSuiteなので、ほとんどのケースでは影響ないですが、古いシステムなどと連携している場合は必要なSuiteを整理する必要がありそうです。