Java 6(!))にあり、RHEL 6.4上のApache 2.2.15と通信するレガシーアプリケーションがあります。
(Java 6のアップグレードはカードにありますが、稼働日の前ではありません。)
弱いTLS構成でペンテストが失敗するので、Java 6とApacheの両方がサポートする最良の暗号スイートを見つけます。たとえば、Javaに暗号プロバイダーを追加するなどの変更は必要ありません。
JavaアプリからのClient Hello
を見て、失敗することがわかっているスイート(エクスポートグレード、RC4など)を削除したところ、これが私は残っています:
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
これをサポートするクライアントは1つだけなので、両側でサポートする1つの暗号スイートで十分であることを覚えておいてください。
これに対する明確な答えがないかもしれないので、アドバイスをいただければ幸いです。
私は Mozillaが提供する のリストから外れる傾向があります。これは、ブラウザーほど頻繁ではありませんが、頻繁に更新されます!
これは現在、「モダン」ブラウザの次の暗号順序を示唆しています。
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256: DHE-DSS-AES128-GCM-SHA256:kEDH + AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA- AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128- SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
これは、DHE-RSA-AES128-SHA(ApacheがTLS_DHE_RSA_WITH_AES_128_CBC_SHAに対応していることは間違いないと確信しています)が最適なオプションであることを示唆しています。
AES128がAES256よりも好まれる理由はわかりませんが、Mozillaリストでは同じです。
編集
元のバージョンでは「DHE-RSA-AES128-SHA256」と記載されていましたが、これは誤りでした-指はSHA256の入力に慣れていました...