SSLv3를 비활성화하지만 Apache에서 여전히 SSLv2Hello를 지원 많은 SSL 클라이언트는 SSLv2Hello 프로토콜을 사용하여 서버와

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



답변

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

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

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


답변

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


답변