我有几个运行带有 APR+SSL 连接器的 Tomcat 7.0 的生产服务器,由于最近的 POODLE 攻击,我被要求在其中一些服务器中完全禁用 SSLv3。我挖掘了Tomcat Connectors文档并根据它,将 SSLProtocol
设置为 TLSv1
(而不是 all
应该足以禁用 SSLv3 并强制执行 TLSv1。
问题是 TLSv1
似乎启用了 TLS,但并不使服务器拒绝 SSLv3。我使用 openssl s_client -connect -ssl3
对此进行了测试,并且验证了普通的 SSLv3 连接仍然可以被接受,所以我想知道这是否是 Tomcat 中的一个错误,或者是否还有其他问题需要解决需要设置为完全禁用 SSLv3。
更新:我暂时禁用了 APR,并恢复使用带有 sslProtocol="TLS"
的 NIO 连接器,效果很好。该问题似乎特别影响年利率。作为引用,这是我的新连接器配置:
<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"
/>
最佳答案
在使用带有 TLS 的 APR 连接器时完全禁用 SSL 的功能似乎仍在进行中。检查此链接以获取更多信息:https://issues.apache.org/bugzilla/show_bug.cgi?id=53952#c30 ,特别是评论 #37。
好消息是,它将在 Tomcat 和 Tomcat Native 的下一个版本中修复。请参阅评论#39:
Fixed in tcnative-trunk in r1632593 and tcnative-1.1.x in r1632595.
Will be in tcnative 1.1.32.
和评论#40:
Fixed in Tomcat-trunk in r1632604. Will be in Tomcat 8.0.15.
Fixed in Tomcat 7 in r1632606. Will be in Tomcat 7.0.57.
关于Tomcat APR 连接器和 POODLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435963/