Tomcat 开启HTTPS 后爆发SSL相关漏洞解决方法

最近用绿盟扫描系统进行全网系统扫描,有几台设备被扫出了SSL相关漏洞,在此做一个简短的笔记。

本次涉及漏洞

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

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

知识普及1:SSL协议要点

SSL(Secure Sockets Layer 安全套接层)是一种基于Web应用的安全通信协议,最早由Netscape(网景)公司提出。SSL介于TCP协议和应用层协议之间,主要作用就是将HTTP、FTP等应用层的数据进行加密然后依托可靠的TCP协议在互联网上传输到目的地,其中最典型的应用就是https。

SSL提供3个基本的安全服务:

1)身份合法性:数据发送方和接收方要确认彼此身份,要确保各自的身份不会被冒充。

2)数据机密性:所有传输的数据都进行加密,并且要确保即使数据被截获也无法破解。

3)数据完整性:确保收到的数据与发送方发出的数据一致,没有被篡改。

SSL协议主要采用的数据加密算法:

1)非对称加密算法:数据加密和解密使用不同的密钥,如RSA公钥加密算法。优点是安全级别高,很难被破解;缺点是加密解密的速度慢,因此只适用于小量数据的加密。SSL协议采用非对称加密算法实现数字签名,验证数据发送方(或接收方)的身份,同时也用非对称加密算法交换密钥(用于数据加密的对称加密算法的密钥,以及用于数据完整性验证的MAC算法)。

2)对称加密算法:数据加密和解密使用同一个密钥,如DES、3DES、RC4等都是对称加密算法。优点是加解密速度快,适用于大数据量的加密,但安全性较差。SSL协议采用对称加密算法对传输的数据进行加密。

3)MAC算法:Message Authentication Codes,即消息认证码算法,MAC含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加入了密钥。SSL协议采用MAC算法来检验消息的完整性。

知识普及2:SSL协议的版本

目前在用的SSL协议主要有5个版本,分别是SSL2.0、SSL3.0、TLS1.0、TLS1.1和TLS1.2,这里的TLS(Transport Layer Security,传输层安全)协议是SSL协议的升级版。

在SSL协议曝出Poodle漏洞后,微信公众平台将取消对SSLv2、SSLv3两个版本的支持,浏览器及其他采用SSL协议的平台也会逐渐取消对SSLv2、SSLv3的支持,目前只建议使用TLSv1.0、TLSv1.1和TLSv1.2三个版本。

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

涉及设备漏洞服务

此次设备受此漏洞波及影响主要是因为上述系统部署了Tomcat 的https服务,而Tomcat https服务默认情况下支持SSL 3.0协议(目前在用的SSL协议主要有5个版本,分别是SSL2.0、SSL3.0、TLS1.0、TLS1.1和TLS1.2.SSL3.0是已过时且不安全的协议,目前已被TLS 1.0,TLS 1.1,TLS 1.2替代)

漏洞描述和利用

SSL3.0是已过时且不安全的协议,目前已被TLS 1.0,TLS 1.1,TLS 1.2替代,因为兼容性原因,大多数的TLS实现依然兼容SSL3.0。

为了通用性的考虑,目前多数浏览器版本都支持SSL3.0,TLS协议的握手阶段包含了版本协商步骤,一般来说,客户端和服务器端的最新的协议版本将会被使用。其在与服务器端的握手阶段进行版本协商的时候,首先提供其所支持协议的最新版本,若该握手失败,则尝试以较旧的协议版本协商。能够实施中间人攻击的攻击者通过使受影响版本浏览器与服务器端使用较新协议的协商的连接失败,可以成功实现降级攻击,从而使得客户端与服务器端使用不安全的SSL3.0进行通信,此时,由于SSL 3.0使用的CBC块加密的实现存在漏洞,攻击者可以成功破解SSL连接的加密信息,比如获取用户cookie数据。这种攻击被称为POODLE攻击(Padding Oracle On Downgraded Legacy Encryption)。此漏洞影响绝大多数SSL服务器和客户端,影响范围广泛。但攻击者如要利用成功,需要能够控制客户端和服务器之间的数据(执行中间人攻击)。

漏洞处理方法

修改tomcat server.xml 在下面加入 sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" 来关闭SSL V3

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"

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

clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"            ciphers="TLS_ECDHE_RSA_WITH_AES_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_ECDHE_RSA_WITH_RC4_128_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,SSL_RSA_WITH_RC4_128_SHA"

keystoreFile="/home/kl/.keystore" keystorePass="eastcom"/>

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

涉及设备漏洞服务

此次设备受此漏洞波及影响主要是因为上述系统部署了Tomcat 的https服务,Web容器开启了SSL/TLS访问方式,并未屏蔽RC4这种存在已被有效破解的加密算法导致。

漏洞描述和利用

SSL/TLS协议是一个被广泛使用的加密协议,Bar Mitzvah攻击实际上是利用了"不变性漏洞",这是RC4算法中的一个缺陷,它能够在某些情况下泄露SSL/TLS加密流量中的密文,从而将账户用户名密码,信用卡数据和其他敏感信息泄露给黑客。

漏洞处理方法

修改tomcat server.xml 在下面加入标红的串值

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"

maxThreads="150" 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_ECDHE_RSA_WITH_RC4_128_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,SSL_RSA_WITH_RC4_128_SHA"  keystoreFile="/home/kl/.keystore" keystorePass="new1234"/>

本地检测此漏洞是否处理方法

如果能够查看到证书信息,那么就是存在风险漏洞

如果显示sslv3 alerthandshake failure,表示该服务器没有这个漏洞

存在漏洞的情况截图

引用部分文章链接:

http://www.secpulse.com/archives/5682.html

http://www.freebuf.com/articles/network/62442.html

http://blog.csdn.net/lyq8479/article/details/40709175

时间: 2024-08-02 15:10:50

Tomcat 开启HTTPS 后爆发SSL相关漏洞解决方法的相关文章

SSL相关漏洞解决方法

最近用绿盟扫描系统进行内网网系统扫描,有几台设备被扫出了SSL相关漏洞,在此做一个简短的加固方法. 本次涉及漏洞 1.漏洞名称:SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)[原理扫描] 2.SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)[原理扫描] 知识普及1:SSL协议要点 SSL(Secure Sockets Layer 安全套接层)是一种基于Web应用的安全通信协议,最早由Netscape(网景)公司提出.SSL介于TC

网站启动SSL, http变为https后,session验证码错误解决方法

网站启动SSL, http变为https后,session验证码错误解决方法 最近公司需要后台启动安全证书,证书安装完毕后,后台老提示 验证码错误,经过几天的研究,此问题已经得到有效解决,现把方法如下. 一.问题展示 看到此问题后,我求助了伟大的互联网,网上大概的解决方法,是说要写两个session,不能相互互通,按照这个思路,我整了几天不见好,后来我重新写了一段代码,问题解决,其实根本不需要写两个session,先公布解决方法. 二.解决方法 原来的验证码代码 <script language

关于tomcat网站目录下apk文件无法下载解决方法

今天公司网站要添加一个手机app,我直接把apk文件传到了网站根目录下,并且在页面中添加了路径   <area shape="rect" coords="533,290,672,328" href="<c:url value='/wswhly.apk'/>" /> 可是在网站中点击,怎么也下载不了,可是换成别的文件类型(xls.flv等等)就可以下载,查询了很多资料,后来发现在web.xml文件中,需要添加以apk为后缀的

关于protel 99se 汉化后某些菜单消失的解决方法

本人在使用protel 99se 画PCB时,遇到了好些问题,通过网上查资料基本都解决了. 下面给大家分享 关于protel 99se 汉化后某些菜单消失的解决方法. 其他的许多看不见的菜单也可以自己通过下面的方法调用出来. 记得自己刚毕业那会用软件总是喜欢用中文版的,到处找什么“汉化”补丁之类.原以为这样能对软件的使用有更加清晰的认识,其实这样反而会更加麻烦.首先这不同的翻译者对同一个英文单词的翻译是不一样的,更何况专业英语单词,那可真是五花八门.二来真正用软件工具熟练的工程师基本上就是用的英

安装Wamp后 Apache无法启动的解决方法

安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装路径中包含有中文,接下来无论做多少配置工作都是徒劳. 2.安装好后 修改httpd.conf文件 把里面的80端口 改成其他端口 比方改为:8080 ,如果没有端口冲突可以不用修改. 做好以上这两步重启Wamp就可以了. 就这么简单,没必要搞太多东西.

阿里云提出的漏洞(Phpcms V9某处逻辑问题导致getshell漏洞解决方法)的问题

最近从阿里云云盾检测流出来的,相比使用阿里云服务器的朋友已经收到漏洞提醒:Phpcms V9某处逻辑问题导致getshell漏洞解决方法,这个漏洞怎么办呢?CMSYOU在这里找到针对性解决办法分享给大家. 漏洞详情: 漏洞名称:phpcms某处逻辑问题导致getshell 补丁编号:7843523 补丁文件:/phpcms/libs/classes/attachment.class.php 补丁来源:云盾自研 更新时间:2016-09-20 13:03:10 漏洞描述:phpcms的/phpcm

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

【jquery】ajax 请求成功后新开窗口被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

IIS7下js文件启用Gzip后却不压缩的解决方法

本文转载:http://www.jb51.net/article/26340.htm IIS7下js文件启用Gzip后却不压缩的解决方法IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 将.js的MIME类型设置为application/javascript 再查看页面,已经启用了Gzip. 不过,几个天后又发现有的js文件被压缩,有的却没有. 查找原因发现是引用js文件是没有设置type <script></script> <