SSL POODLE[贵宾犬]漏洞的解决办法
最近老威做了几个https协议的站,本来对ssl这东西不是很懂,全站重定向到https后,检测网站的时候出来一大堆漏洞,其中包括SSL POODLE,俗称“贵宾犬”漏洞,此漏洞是针对SSL3.0中CBC模式加密算法的一种padding oracle攻击,可以让攻击者获取SSL通信中的部分信息明文,如果将明文中的重要部分获取了,比如cookie,session,则信息的安全出现了隐患。虽然我做SEO的时间也不短了,但是安全这方面平时还真不怎么接触,这几天把ssl的漏洞研究了一个遍,还好没白下功夫,网站安全分数已经接近满分。
如何检测网站漏洞
可以是通过https在线检测工具https://myssl.com/或者https://wosign.ssllabs.com/来进行检测。
SSL POODLE(贵宾犬)漏洞的修复措施:
禁用sslv3协议
不同的web server不尽相同。这边列举主流的服务器的禁用方式(ps:套件版本过低可能会导致无法启用新型加密套件跟算法,请升级到最新版本)
Nginx服务器:
(openssl1.0.1+版本支持TLS1.1和TLS1.2协议)
Markup
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
apache服务器:
(openssl1.0.1+版本支持TLS1.1和TLS1.2协议)
apache2.X版本:
Markup
SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL
Tomcat服务器:
(先备份再配置,低版本的配置后有启动不了的风险,请升级tomcat和jdk版本,JDK1.7及以上支持TLS1.2协议)
Tomcat 6 (prior to 6.0.38)
Markup
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="keystore/domain.jks" keystorePass="证书密码" clientAuth="false" sslProtocols="TLSv1,TLSv1.1,TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />
Tomcat 7 and later
Markup
< Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="keystore/SSL.jks" keystorePass="证书密码" clientAuth="false" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA" />
使用apr的tomcat(windows环境路径请使用“\”)
Markup
<Connector port="443" maxHttpHeaderSize="8192" maxThreads="150" protocol="HTTP/1.1" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" SSLEnabled="true" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" SSLCertificateFile="conf/2_domian.com.crt" SSLCertificateKeyFile="conf/3_domian.com.key" SSLCertificateChainFile="conf/1_root_bundle.crt" />
IIS服务器:
使用我们的套件工具,按照如下图进行修复。
下载地址:
windows server 2008 http://www.wosign.com/download/IISCrypto.exe
windows server 2012 https://www.nartac.com/Downloads/IISCrypto/IISCrypto40.exe
备注:windows server 2003不支持tls1.1和1.2请升级至2008 R2或2012