SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】处理

概述

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)漏洞:

TLS, SSH, IPSec协商及其他产品中使用的DES及Triple DES密码存在大约四十亿块的生日界,这可使远程攻击者通过Sweet32攻击,获取纯文本数据。

风险级别:低

该漏洞又称为SWEET32(https://sweet32.info)是对较旧的分组密码算法的攻击,它使用64位的块大小,缓解SWEET32攻击OpenSSL 1.0.1和OpenSSL 1.0.2中基于DES密码套件从“高”密码字符串组移至“中”;但OpenSSL 1.1.0发布时自带这些,默认情况下禁用密码套件。该问题在新的openssl版本中已解决。

【升级建议】

OpenSSL 1.0.2用户应升级到1.0.2i
OpenSSL 1.0.1用户应升级到1.0.1u

升级

1、官方地址:https://www.openssl.org/source/;最新的稳定版本是1.1.1系列,且是TLS版本;之前就版本(包括1.1.0, 1.0.2, 1.0.0 and 0.9.8)不在支持维护;
在这里插入图片描述
下载地址:https://www.openssl.org/source/openssl-1.1.1i.tar.gz

2、或者linux上直接运行:
openssl version -a //确认当前版本,备份证书文件和秘钥文件
mv /usr/bin/openssl /usr/bin/openssl.old /备份执行文件
mv /usr/include/openssl /usr/include/openssl.old
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz
tar zxvf openssl-1.1.1h.tar.gz
./config --prefix=/opt/openssl --openssldir=/usr/local/ssl //预编译,到指定安装路径,生成Makefile文件
./make //编译,如果编译失败,可执行./make clean,或者编译前用./make test测试编译情况而不直接编译
./make install //编译成功后安装

注意:编译失败可能需要更新zlib和gcc,注意提示

3、替换就openssl文件:
1)/usr/local/bin:
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
2)配置文件/usr/local/ssl:备份
3)库文件:/usr/local/lib64 //根据实际的环境库文件位置配置,有的为usr/local/ssl/lib
echo “/usr/local/lib64” >> /etc/ld.so.conf //将新的库文件地址写入记录so库的配置文件,有的会安装在/usr/local/ssl目录,注意具体位置
如果缺少相关库依赖,请检查以下库文件,如必要执行:
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
4)验证:ldconfig -v|grep ssl //确定链接库正常
5)版本验证:openssl version

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/111983377