SSLv3를 비활성화하지만 Apache에서 여전히 SSLv2Hello를 지원


12

JDK 6과 같은 많은 SSL 클라이언트는 SSLv2Hello 프로토콜을 사용하여 서버와 핸드 셰이크합니다. 이 프로토콜을 사용 한다고해서 SSL 2.0 또는 3.0을 사용한다는 의미 는 아닙니다 . 사용할 프로토콜을 결정 하는 것은 단지 악수 일뿐 입니다. [ http://tools.ietf.org/html/rfc5246#appendix-E.2]

그러나 Apache에서 SSLv3 지원을 사용하지 않으면 SSLv2Hello 프로토콜에 대한 지원이 제거됩니다. Apache Tomcat은 SSLv2Hello를 명시 적으로 지원합니다. 즉, 활성화 할 수는 있지만 SSLv3은 활성화 할 수 없습니다.

아파치에서 이것을 할 수있는 방법이 있습니까?

[최신 정보]

이것은 내 프로토콜 구성입니다.

  SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv3

However, in Apache, if you disable SSLv3 support, this apparently removes support for the SSLv2Hello protocol. Apache 2.2를 사용 SSLProtocol all -SSLv2 -SSLv3하고 있으며 SSL 2 핸드 셰이크가 작동합니다. 문제가 발생한 구성을 정확히 실행하고 있습니까? SSL 2 핸드 셰이크를 비활성화하는 유일한 방법은 FIPS 모드를 활성화하는 것입니다.
Chris S

1
어떤 고통 것은 :( 2014 년 레거시 지원을 처리하는 그것의 시간을 모두가 SSLv2의 &은 SSLv3을 핵무기와 보편적 인 확장 지원 (예 : SNI)을 실시하기 위해서..
자비에르 루카스에게

2
@XavierLucas -SSLv2, -SSLv3을 모두 수행하는 대신 지원하는 TLS 프로토콜을 지정합니다. 나는 그것이 왜 다른지 알지 못하지만 테스트 할 것입니다.
Matt Hughes

@ChrisS 나는 SSLProtocol + TLSv1 + TLSv1.1 + TLSv1.2 -SSLv3 및 모든 -SSLv3 -SSLv2를 모두 시도했습니다. 이것은 Apache 2.4.10에서 실행됩니다. SSL 2 핸드 셰이크를 허용하는 구성이 없습니다. 그리고 나는 FIPS 모드를 건드리지 않았습니다. 기본적으로 비활성화되어 있습니다.
Matt Hughes

답변:


7

분명히 mod_ssl은 작년에 변경되었습니다 (소스에 대한 정확한 커밋을 찾지 못했지만 "문제"를 발견했습니다). 소스는 이제 다음을 수행합니다.

If SSLProtocol only includes only one Protocol:
    Handshake = That Protocol's Handshake Only
Else
    Handshake = SSLv2 Handshake

이 설정에 대한 재정의는 없습니다. 당신이 할 수있는 유일한 것은 소스를 편집하고 자신의 버전을 다시 컴파일하는 것입니다. 직접 컴파일하려는 경우 SSLv2 핸드 셰이크 호환성을 강제하기 위해 diff 를 만들었습니다 .


1
Chris의 패치가 SSLv3가 비활성화되어 있음에도 불구하고 curl (git과 같은 libcurl 사용 프로그램)이 sslscan취약점 을 표시하지 않고 서버와 다시 대화 할 수 있도록 도와줍니다 . 그러나 패치는 다소 침습적이며 Chris에게 Apache 프로젝트에 제출하여 최대한 빨리 검토하도록 요청하고 싶습니다. Chris가 직접 티켓을 제출하지 않을 경우 :-) 감사합니다. Chris!
Mikhail T.

1
호환성 모드를 강제하기 위해 별도의 지시문을 추가하는 것이 좋습니다. 여가 시간이 있다면 글을 쓰겠지만,이 "패치"가 장기적으로 좋은 생각은 아니라고 생각합니다.
Chris S

예, 아파치 개발자들이 고려하고있는 것으로 보입니다. 에서 [스레드]를 참조하십시오 [1] I [1] ...이 시작 mail-archives.apache.org/mod_mbox/httpd-dev/201410.mbox/...
미하일 T.

1

그래서 이것은 모두 문제가 아닌 것으로 나타났습니다. Apache는 위에 게시 한 구성 중 하나를 사용하여 SSLv2 핸드 셰이크를 수락합니다. 핸드 셰이크 오류로 인해 이것이 문제라고 생각했습니다. 서버가 클라이언트의 CA를 신뢰하지 않는 구성 문제 일뿐입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.