2016-10-21 4 views
0

내 초기 문제는 부두 구성 파일에 IncludeCipherSuites 옵션을 사용할 때 TLS 1.2 만 지원된다는 것이 었습니다. 자세한 내용은 포스트 아래를 참조하시기 바랍니다 : I 명시 적으로 IncludeCipherSuites에 의해 활성화가 내 부두 구성 파일에 ExcludeCipherSuites을 제공하지 않는 경우, 부두의 기본 암호 목록이 사용되는 제외하는 것이 나타났다 의견과 많은 암호를 기반으로 Jetty IncludeCipherSuites enables only TLS 1.2부두 기본 암호 덮어 쓰기

옵션이 제외되었습니다 (부두 기본 제외 목록에있는 경우).

동일한 구성 파일에 빈 ExcludeCiphersSuites 태그를 IncludeCipherSuites 태그와 함께 추가하면 문제가 해결됩니다. 빈 말해서 나는 내가 암호의 빈 목록, 난 그냥 추가 ExcludeCiphersSuites 태그 제외 할 암호를 추가하지 않은 의미 :

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

나의 이해이다 그 이전에 (만 IncludeCipherSuites 옵션)하여 암호의 일부를하는 방파제의 기본 제외 목록에 포함되지 않고 포함되었습니다. 그러나 빈 목록이있는 ExcludeCiphersSuites 옵션을 추가하면 부두의 기본 제외 목록이 빈 목록으로 덮어 쓰여 지므로 내 포함 암호 목록에서 아무 것도 제외되지 않습니다. 내 이해가 맞는지 확인해 주시겠습니까?

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 프로토콜을 비활성화하지 않습니다.

등 프로토콜, 암호, 키 스토어, truststores의 구성은, 모두가/포함 addExcludeProtocols()

같은 구성을 사용하는 프로토콜의 제외를 사용하여 SslContextFactory이 프로토콜을 비활성화 할 수있는 능력을 가지고 SslContextFactory

에 의해 제어됩니다 Jetty는 기본 예외에 TLS/1.0 또는 TLS/1.1을 포함하지 않습니다.

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

하면, 암호화 제품군에 대해 구체적으로 요구하는 것 같다 다음과 같이 Jetty 9.3.13.v20161014 default exclusions for Cipher suites는 것을 알고 있기 때문에 :

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

이 동일하게 발생 다음과 같이 Jetty 9.3.13.v20161014 the default exclusion of protocols의로

입니다 2008 년에 취약한 것으로 선언 된 암호 스위트 세트는 2017 년 1 월 1 일에 Chrome 및 Firefox 클라이언트에서 사용이 중단됩니다. MD5/SHA/SHA1 용 킬 스위치는 Chrome 및 Firefox의 모든 버전에 포함되어 있습니다. 마지막 몇 5 년?) 년.

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 
관련 문제