2016-10-21 4 views
0

最初の問題は、Jettyの設定ファイルにIncludeCipherSuitesオプションを使用していたときに、TLS 1.2だけがサポートされていたことでした。詳細については、ポストの下を参照してください:私は明示的にIncludeCipherSuitesでは有効になって、私が私の桟橋の設定ファイルにExcludeCipherSuitesを提供しない場合は、桟橋のデフォルトは暗号リストが使用されている除外するように見えたコメントや多くの暗号に基づいて Jetty IncludeCipherSuites enables only TLS 1.2桟橋のデフォルトの暗号を上書きする

オプションが除外されていた(jettyのデフォルト除外リストにある場合)。

空のExcludeCiphersSuitesタグを同じ設定ファイル内のIncludeCipherSuitesタグとともに追加するだけで問題が解決されました。私は除外する任意の暗号を追加しなかったわけ空言って、暗号の空のリストと私だけ追加ExcludeCiphersSuitesタグ:

<Set name="ExcludeCipherSuites"> 
    <Array type="String"> 
    </Array> 
</Set> 

私の理解では、その前に(のみIncludeCipherSuitesオプション付き)を暗号の一部であります私は含めていたが、桟橋のデフォルト除外リストによって除外されていた。ただし、空のリストでExcludeCiphersSuitesオプションを追加すると、jettyのデフォルトの除外リストが空のリストで上書きされますので、私のリストから除外されることはありません。私の理解が正しいことを確認できますか?

Jetty default exclude ciphers: CIPHER1, CIPHER2 
Jetty default include ciphers: CIPHER3, CIPHER4 

私はCIPHER1とCIPHER5 ONLYをサポートするために、私の桟橋を設定する:また、すべての上記の知見に基づいて

は桟橋が暗号については、以下の既定の構成を有していると言います。私は使用するべき正しい設定の下にありますか?

<Set name="ExcludeCipherSuites"> 
    <Array type="String"> 
    </Array> 
</Set> 

<Set name="IncludeCipherSuites"> 
    <Array type="String"> 
     <Item>CIPHER1</Item> 
     <Item>CIPHER2</Item> 
    </Array> 
</Set> 

は、このすべての桟橋のデフォルトを上書きし、CIPHER1とCIPHER2と他には何をサポートするために桟橋を強制しますか?

+0

インターネットでの一般的な使用には互換性がありません。クライアントアクセスが高度に制御された高度に隔離された/内部環境にのみ適しています。あなたが本当に欲しいのはそれですか? –

答えて

1

Jettyでは、プロトコルTLS/1.0またはTLS/1.1を無効にしません。

プロトコル、暗号、キーストア、トラストなどの構成は全てSslContextFactory

によって制御されるSslContextFactoryはaddExcludeProtocols()

ような構成を使用してプロトコルの包含/除外を使用して、プロトコルを無効にする機能を有していますJettyはデフォルトの除外にTLS/1.0またはTLS/1.1を含まないことに注意してください。次のようにJetty 9.3.13.v20161014 the default exclusion of protocolsのよう

は次のとおりです。

addExcludeProtocols("SSL", "SSLv2", "SSLv2Hello", "SSLv3"); 

あなたが暗号スイートについて、具体的尋ねているように見えるので、次のようにJetty 9.3.13.v20161014 default exclusions for Cipher suitesがあることを知っている:

setExcludeCipherSuites("^.*_(MD5|SHA|SHA1)$"); 

これが同じであることを起こります2008年に脆弱性が宣言された暗号スイートセットは、2017年1月1日にChromeとFirefoxクライアントで使用が中止されます。このMD5/SHA/SHA1のキルスイッチは、最後のいくつか( 5-ish?)年。

Java自体がさまざまなプロトコルと暗号スイートアルゴリズムを無効にすることにも注意してください。

$ grep -E "^jdk.*disabled" $JAVA_HOME/jre/lib/security/java.security 
jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024 
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768 
関連する問題