天天看點

解決tomcat關于SSL的漏

1、原由

最近使用nessus掃描一款Web服務軟體,發現了四個漏洞,如下:

SSL Version 2 and 3 Protocol detection 

SSLv3 Padding Oracle On Downgrade Legacy Encryption Vulnerability(POODLE)

SSL Weak Cipher Suites Supports

SSL/TLS EXPORT_RAS<512-bit Cipher Suites Supported(FREAD)

2、漏洞分析

對每個顯示的漏洞點選進去後,發現産生漏洞的端口号:8843         使用以下指令查找得到程序名: netstat -ano | findstr "8843"    #得到程序的PID tasklist | findstr “PID"              #得到程序名 确認問題是因為Tomcat引起的漏洞。

3、解決方案

經過查找tomcat配置ssl協定,得知需要配置tomcat/conf/server.xml檔案,裡面與SSL協定相關的部分如下:     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="true" sslProtocol="TLS" 

               keystoreFile="conf/tomcat.keystore" keystorePass="123456"

               truststoreFile="conf/tomcat.keystore" truststorePass="123456"/>

解決tomcat關于SSL的漏

上面顯示已經将目前的tomcat使用的是TLS協定,但是一直不生效, 經過同僚的幫助,發現了下面的一段話:

rmeisen:The answers will vary depending on your Tomcat and Java versions, and if you are usingJSSE verses AJP. The differences are assubtle  as 

sslProtocols=TLSv1

 verses 

sslProtocol="TLS"

 (Notice that 

s

). 

Specifying your Tomcat &Java versions will save you from insanity.

于是将配置修改如下:     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="true" sslProtocols="TLSv1"

               keystoreFile="conf/tomcat.keystore" keystorePass="123456"

               truststoreFile="conf/tomcat.keystore" truststorePass="123456"/>

再次掃描,發現漏洞: SSL Version 2 and 3 Protocol detection 、 SSLv3 Padding Oracle On Downgrade Legacy Encryption Vulnerability(POODLE) 已經 解決。

繼續做如下修改:

解決tomcat關于SSL的漏

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="true" sslProtocols="TLSv1"

               ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA,                                             TLS_DHE_DSS_WITH_AES_128_CBC_SHA"

               keystoreFile="conf/tomcat.keystore" keystorePass="123456"

               truststoreFile="conf/tomcat.keystore" truststorePass="123456"/> 剩下的兩個漏洞也消失啦。 以後修改配置的時候,一定要注意不同版本的tomcat及jdk的配置之前的差異。

引用相關連結:http://serverfault.com/questions/637649/how-do-i-disable-sslv3-support-in-apache-tomcat

繼續閱讀