我有几台生产服务器运行带有 APR+SSL 连接器的 Tomcat 7.0,并且由于最近的 POODLE 攻击,我被要求在其中一些服务器中完全禁用 SSLv3。我深入研究了Tomcat 连接器文档,并根据它,设置SSLProtocol
为TLSv1
(而不是all
应该足以禁用 SSLv3 并强制执行 TLSv1。
问题是TLSv1
似乎启用了 TLS 但不会使服务器拒绝 SSLv3。我对此进行了测试,openssl s_client -connect -ssl3
并验证了仍然可以接受普通的旧 SSLv3 连接,所以我想知道这是否是 Tomcat 中的错误,或者是否还有其他需要设置为完全禁用 SSLv3 的东西。
更新:我现在禁用 APR 并恢复使用 NIO 连接器,sslProtocol="TLS"
并且工作正常。这个问题似乎特别影响了 APR。作为参考,这是我的新连接器配置:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
maxThreads="500"
scheme="https"
secure="true"
clientAuth="false"
keystoreFile="/etc/keys/***.ks"
keystorePass="****"
sslProtocol = "TLS"
sslEnabledProtocols="TLSv1.1,TLSv1.2"
/>