如何在tomcat中禁用SSLv3?

时间:2014-10-16 09:59:42

标签: security tomcat

如何在tomcat中为POOLDE漏洞禁用SSLv3,它对浏览器有什么影响,所有浏览器都能正常工作?

4 个答案:

答案 0 :(得分:3)

在server.xml中使用以下配置(最后一行很重要)

       `<Connector protocol="HTTP/1.1" SSLEnabled="true" 
       port="8443" address="${jboss.bind.address}"
       scheme="https" secure="true" clientAuth="false" 
       keystoreFile="${jboss.server.home.dir}/conf/keystore.jks"
       keystorePass="rmi+ssl"
       sslProtocols = "TLS" sslEnabledProtocols="TLSv1+TLSv1.1+TLSv1.2"/>`

禁用SSLv3的影响

对大多数人禁用SSLv3影响不大,因为他们不依赖SSLv3通过SSL / TLS建立连接。绝大多数人依赖TLS。

将来,Google Chrome和FireFox等浏览器会在发布时禁用SSLv3。建议在家庭浏览器上禁用SSLv3,而不仅仅是服务器应用程序。

像IE 6这样的老式浏览器会出现问题,但我想这些都不支持最新技术。

注意:感谢Christopher,根据您的建议进行了更新。

答案 1 :(得分:1)

我尝试了Deepak建议的配置。虽然Tomcat确实启动了,但仍然可以使用SSLv3访问Web应用程序。这个blog post about the POODLE attack中建议的配置对我有用。我们正在运行Tomcat 7.0.55和7.0.56。下面的示例连接器(注意,我们正在使用JKS密钥库,因此协议属性)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true" clientAuth="false"
        keystoreFile="conf\store\tomcat.keystore" enableLookups="true"
        keystorePass="password" sslProtocol = "TLS" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA" 
        sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" server="Apache Tomcat" />

答案 2 :(得分:0)

对于我使用Tomcat 7(7.0.56)和HTTP / 1.1连接器(因此它不是NIO或本机连接器)的配置,这些属性的组合效果很好:

sslProtocol="TLS"
sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"

只是添加 - 我正在使用Java 7。

似乎在各种类型的连接器之间可能存在符号差异(即,是否用逗号分隔协议,或者它是否需要基于&#34; +&#34;协议连接)的单个值。 / p>

对于我来说,sslEnabledProtocols按照Tomcat 7配置参考(http://tomcat.apache.org/tomcat-7.0-doc/config/http.html#SSL_Support)中所述的逗号分隔工作

答案 3 :(得分:0)

在Tomcat 6.0.20中,server.xml的connector子句中的以下配置工作

sslProtocol="SSL" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"