背景:
近日OpenSSL官方发布了一个影响广泛的远程匿名拒绝服务漏洞(漏洞代号:SSL Death Alert”,漏洞编号:CVE-2016-8610) ,即“OpenSSL红色警戒”漏洞,利用该漏洞攻击者可通过多个连接重复发送大量重叠警告包,使服务或进程陷入无意义的循环,从而导致占用掉服务或进程100%的CPU使用率,导致拒绝服务。
该漏洞会影响大部分的OpenSSL版本,同时受影响的还包括使用 OpenSSL 版本库的服务(如提供HTTPS SSL或TLS协议服务的Nginx)。
鉴于此,我们强烈建议您尽快确认您的系统是否受影响,如受影响,请尽快进行升级修复。
漏洞详情如下:
【风险概述】
OpenSSL 1.1.0a版在OpenSSL针对SSL/TLS协议握手过程的实现中,允许客户端重复发送打包的 "SSL3_RT_ALERT" -> "SSL3_AL_WARNING" 类型明文未定义警告包,且OpenSSL在实现中遇到未定义警告包时仍选择忽略并继续处理接下来的通信内容(如果有的话)。攻击者可以容易的利用该缺陷在一个消息中打包大量未定义类型警告包,使服务或进程陷入无意义的循环,从而导致占用掉服务或进程100%的CPU使用率。本,statem/statem.c调用realloc后未考虑内存块移动,远程攻击者通过构造的TLS会话,可造成拒绝服务或任意代码执行。
【影响版本】
1)Openssl 0.9.8分支全部版本受影响
2)Openssl 1.0.1分支全部版本受影响
3) Openssl 1.0.2分支除1.0.2i、1.0.2j版本外,全部版本受影响
4)Openssl 1.1.0分支除1.1.0a、1.1.0b版本外,全部版本受影响
【不受影响版本】
OpenSSL >= 1.0.2j
OpenSSL >= 1.1.0b
【修复建议】
将您的OpenSSL 升级到1.1.0b或1.0.2j最新版本,源码包安装包下载地址:https://www.openssl.org/source/
【修复建议】
将您的OpenSSL 升级到1.1.0b或1.0.2j最新版本,源码包安装包下载地址:https://www.openssl.org/source/
【温馨提醒】:官方已经不再维护0.9.8分支,1.0.1分支年底也将停止维护,官方不再出漏洞补丁,建议您尽早切换的1.1.0或1.0.2版本,以避免后期官方出漏洞后无法立即进行更新修复。
【漏洞参考】
1)https://www.openssl.org/
2) https://git.openssl.org/gitweb/p=openssl.git;a=commit;h=af58be768ebb690f78530f796e92b8ae5c9a4401
3)https://access.redhat.com/security/cve/CVE-2016-8610/
4)http://seclists.org/oss-sec/2016/q4/224
我到官网下载最新openssl版本:
https://www.openssl.org/source/
wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz
解压缩编译安装:
tar zxvf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j
./config shared zlib
make
make install
将新编译的openssl替换系统老版本滴:
rm -rf /usr/bin/openssl
rm -rf /usr/include/openssl/
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
配置文件搜索路径:
echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
查看安装完成后的最新版本:
openssl version
openssl version -a
本文转自 linuxpp 51CTO博客,原文链接:http://blog.51cto.com/1439337369/1866776,如需转载请自行联系原作者