2017-01-16 15 views
0

WindowsでJenkinsを実行しているWinstoneサーバーに、Java 8を使用しています。クライアント要求で優先暗号を指定できない場合は、Diffie-Hellman暗号サーバーによって優先されます。 Tomcatとは異なり、Winstoneは暗号のリストを指定してそれらを注文する方法はないようです。だから、私は非DHEと非ECDHE暗号を無効にしようとしています。私はMD2アルゴリズムの最小のキーサイズと削除を指定することによって、java.securityファイルの無効なアルゴリズムのリストを変更することでそれらのいくつかを削除することができましたが、それらのすべてを無効にすることはできません。 OpenSSLは、残りの不要な暗号化アルゴリズムを識別します。java.securityファイルでJSSEで非DHEおよび非ECDHE暗号を無効にする

AES128-GCM-SHA256 
AES128-SHA256 
AES128-SHA 
EDH-RSA-DES-CBC3-SHA 
DES-CBC3-SHA 

、私はAES、AES128、なし、EDH、およびDESのためのフィルタを追加色々試してみた、まだこれらのアルゴリズムはまだ時にI有効に表示されますサーバーに要求を出します。また、legacyAlgorithmsの後にエントリを削除しようとしました。誰もがフィルタの値がこれらを削除するか知っていますか?

java.securityスニペット:

jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024 
jdk.tls.disabledAlgorithms=SSLv3, RC4, SSLv2Hello, TLSv1, TLSv1.1 
jdk.tls.legacyAlgorithms= \ 
    K_NULL, C_NULL, M_NULL, \ 
    DHE_DSS_EXPORT, DHE_RSA_EXPORT, DH_anon_EXPORT, DH_DSS_EXPORT, \ 
    DH_RSA_EXPORT, RSA_EXPORT, \ 
    DH_anon, ECDH_anon, \ 
    RC4_128, RC4_40, DES_CBC, DES40_CBC 
+0

java.policyファイルを表示 – JJF

+0

「クライアントの要求で優先暗号を指定できない場合、Diffie-Hellman暗号がサーバーによって優先されるようにしようとしています。」実際には意味がありません、少なくとも私に。クライアントのhelloには、常に優先順位の高い暗号のリストが含まれています。 –

+0

James、私はSSLの専門家ではありません。私はあなたが正しいと信じています、そして、私はある前に間違ったことを考えていたかもしれません。いずれにしても、暗号の優先順位の設定については、こちらの説明を参照してください。http://security.stackexchange.com/questions/121608/is-the-order-of-cipher-suites-related-to-the-clients-preferencesまたはhttp ://www.exploresecurity.com/testing-for-cipher-suite-preference/サーバーには、クライアントの優先順位を上書きする機能があります。 Winstoneは私にそのオプションを与えてくれないので、リストにはECDHEとDHEアルゴリズムしか含まれないようにしたい。 –

答えて

1

java.policyはあなたが記述何をしません。 java.securityです。しかし、個々のプリミティブを無効にしたり制限したりするだけで、非PFSをクラスとして無効にすることはできません。

(すなわちECCキーとKU =記号付き証明書)およびNOT RSAの証明書は、その後のみECDHE-ECDSA暗号は、その証明書と交渉することができCERTサーバーにECDSAを与える(と行うことができます)場合。あなたが(代りにまたは代わりに)DSA証明書を渡すと、DHE-DSS暗号だけがその証明書とネゴシエートできます。これは、DSA証明書を発行するパブリックCAを見つけられなかったので、自分自身のCAまたは自己署名の利点と欠点を使用することに依存する場合があります。 Java8ではデフォルトでDHEが1024ビットの共有値にデフォルト設定されていますが、これはセキュリティの境界線とみなされますが、システムプロパティでこれを変更できます。How to expand DH key size to 2048 in java 8を参照してください。

PS:OpenSSLのコール 'EDHは' DHEはRFCであり、実際にアルゴリズム DH、とは何か、OpenSSLは 'DES-CBC3' を呼び出すことは本当に何であるか{3DES | 3DES-EDE | DESEDE} -CBC。 Map SSL/TLS cipher suites and their OpenSSL equivalents

+0

ありがとうDave。それは私のためにいくつかの欠けている部分を埋める。おそらく、JavaとOpenSSLの命名規則が違うと思いました。私は地図上で読んで、どこにでも行くことができるかどうかを見ていきます。 @jjfがファイルを要求した後に私が間違ったファイル名を使用したことがわかりました。私は質問を更新しました。 –

+0

RSA *暗号化*を許可しない証明書も使用できますか?これらの証明書の1つを取得するのは、そのためにCAに行く必要があり、すべての実装がEC暗号をサポートするわけではありません(Javaは明らかにそうですが)。 –