Tomcat禁用SSLv3和RC4算法

1.禁用SSLv3(SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)【原理扫描】)

编缉$CATALINA_HOEM/conf/server.xml配置文件,找到https端口配置处,7.0及之前版本默认应如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"/>

修改如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"  sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"/>

8.5及之后版本默认应如下:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

修改如下:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" >
    </Connector>

也就是先删除<SSLHostConfig>标签及其子标签,然后再和7.0之前版本一样追加。

如果不删除<SSLHostConfig>直接追加,启动会报错:conf/server.xml: Error at (92, 25) : Multiple SSLHostConfig elements were provided for the host name [_default_]. Host names must be unique.

应该是说有两个证书的配置入口,8.5版本之后应该是推荐使用<SSLHostConfig>作为新的证书配置方法。但其实旧的配置方法还是兼容的,所以我们这里直接删除<SSLHostConfig>,然后再和7.0之前版本一样追加(下边的漏洞类似操作)。

尝试了一下变更为新的对应属性并没有成功启动,如果已经在<SSLHostConfig>中配置其他内容,那只能自己研究一下该怎么写了。

 

2.禁用RC4(SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)【原理扫描】)

编缉$CATALINA_HOEM/conf/server.xml配置文件,找到https端口配置处,修改如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"  
               sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" 
               ciphers="TLS_ECDHE_RSA_WITAES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"/>
               

 

说明:

1.RC4与DES/AES一样是一种对称加密算法

2.算法的说明,TLS_RSA_WITH_AES_128_CBC_SHA256:TLS--SSL还是TSL,RSA--所用非对称加密算法,AES--所用对称加密算法,128--对称加密分组长度,CBC--分组加密模式,SHA256--所用完整性验证算法

 

参考:

http://www.mamicode.com/info-detail-1340430.html

https://www.chinassl.net/?f=faq&a=view&r=605

http://blog.csdn.net/baidu_18607183/article/details/51593586

https://stackoverflow.com/questions/42135892/tomcat-8-5-server-xml-multiple-sslhostconfig-elements-were-provided-for-the-ho

posted on 2017-07-17 11:00  诸子流  阅读(17853)  评论(3编辑  收藏  举报