如何在 Apache Tomcat 中禁用 SSLv3 支持?

rmi*_*sen 20 ssl configuration tomcat poodle

我正在尝试将我的 Apache Tomcat 服务器重新配置为仅使用 TLSv1。但是,它仍然使用某些浏览器回退到 SSLv3。

我使用以下设置设置了 <connector> 标签:

<Connector ...
       enableLookups="true" disableUploadTimeout="true"
       acceptCount="100"  maxThreads="200"
       scheme="https" secure="true" SSLEnabled="true"
       clientAuth="false" sslProtocol="TLS" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA" sslEnabledProtocols="TLSv1" />
Run Code Online (Sandbox Code Playgroud)

我是否缺少配置设置或存在一些我不应该存在的东西?

RCG*_*RCG 13

根据 Tomcat 5 和版本 6 的版本,SSLEnabled="true" 可能无法工作,因为它是在发布中期添加的。要解决这个问题,您只需要编辑以下内容:sslProtocols = TLS To:sslProtocols = "TLSv1,TLSv1.1,TLSv1.2"

看起来很奇怪,但即使它说的是 TLS,它也包含 SSL 3。

这在我们的 Tomcat 5.5.20 和我们的 Tomcat 6 实例上修复了它。-格雷格

我相信你需要做的是:

老板:

<Connector protocol="HTTP/1.1" SSLEnabled="true" 
       enableLookups="true" disableUploadTimeout="true"
       acceptCount="100"  maxThreads="200"
       scheme="https" secure="true" clientAuth="false" 
       keystoreFile="${jboss.server.home.dir}/conf/keystore.jks"
       keystorePass="rmi+ssl"
       sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" />
Run Code Online (Sandbox Code Playgroud)

不确定密码套件定义,但是 sslprotocols 应该只设置为TLSv1,TLSv1.1,TLSv1.2

根据您的 tomcat 版本,它会有所不同,其他可能的解决方案:

雄猫 5 和 6

<Connector...
   enableLookups="true" disableUploadTimeout="true"
   acceptCount="100"  maxThreads="200" SSLEnabled="true" scheme="https" secure="true"
   clientAuth="false" sslEnabledProtocols = "TLSv1,TLSv1.1,TLSv1.2" />
Run Code Online (Sandbox Code Playgroud)

**在基于 RHEL5 的发行版上,以下内容适用于 Tomcat 6.0.38 之前的Tomcat 6 版本**

请注意,TLSv1.1,TLSv1.2Java 7 不支持 Java 6。将这些指令添加到运行 Java 6 的服务器是无害的,但不会启用 TLSv1.1 和 TLSv1.2。

<Connector...
   enableLookups="true" disableUploadTimeout="true"
   acceptCount="100"  maxThreads="200" SSLEnabled="true" scheme="https" secure="true"
   clientAuth="false" sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" />
Run Code Online (Sandbox Code Playgroud)

雄猫 >=7

<Connector...
       enableLookups="true" disableUploadTimeout="true"
       acceptCount="100"  maxThreads="200" SSLEnabled="true" scheme="https" secure="true"
       clientAuth="false" sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" />
Run Code Online (Sandbox Code Playgroud)

Tomcat APR 连接器

<Connector...
               maxThreads="200"
               enableLookups="true" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               SSLEnabled="true" 
               SSLProtocol="TLSv1"
               SSLCertificateFile="${catalina.base}/conf/localhost.crt"
               SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
Run Code Online (Sandbox Code Playgroud)

上面的内容已更改,以满足您上面的连接器规格。来源:https : //access.redhat.com/solutions/1232233