禁用 SSLv3 但仍支持 Apache 中的 SSLv2Hello

Mat*_*hes 12 java apache-2.2 poodle

许多 SSL 客户端,尤其是 JDK 6,使用 SSLv2Hello 协议与服务器握手。使用此协议并不能意味着你正在使用SSL 2.0或3.0为此事; 确定使用哪个协议只是一个握手。[ http://tools.ietf.org/html/rfc5246#appendix-E.2]

但是,在 Apache 中,如果禁用 SSLv3 支持,这显然会删除对 SSLv2Hello 协议的支持。Apache Tomcat 明确支持 SSLv2Hello;也就是说,您可以启用它,但不能启用 SSLv3。

有没有办法在 Apache 中做到这一点?

[更新]

这是我的协议配置:

  SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2 -SSLv3
Run Code Online (Sandbox Code Playgroud)

Chr*_*s S 7

显然 mod_ssl 在过去一年左右发生了变化(我还没有找到对源代码的确切提交,但发现了“问题”)。源现在这样做:

If SSLProtocol only includes only one Protocol:
    Handshake = That Protocol's Handshake Only
Else
    Handshake = SSLv2 Handshake
Run Code Online (Sandbox Code Playgroud)

此设置没有覆盖。你唯一能做的就是编辑源代码,重新编译你自己的版本。如果你想编译自己的,我已经创建了一个差异来强制 SSLv2 握手兼容性。