2020年12月08日,OpenSSL官方发布安全公告,披露CVE-2020-1971 OpenSSL GENERAL_NAME_cmp 拒绝服务漏洞。不久收到了腾讯云官方推送的关于“OpenSSL 拒绝服务漏洞”的消息,这里不得不说腾讯主机安全(云镜)支持检测还是很给力不光可以检测还可以第一时间通知到你。
漏洞描述:
2020年12月08日,OpenSSL官方发布安全公告,披露CVE-2020-1971 OpenSSL GENERAL_NAME_cmp 拒绝服务漏洞。当两个GENERAL_NAME都包含同一个EDIPARTYNAME时,由于GENERAL_NAME_cmp函数未能正确处理,从而导致空指针引用,并可能导致拒绝服务。
CVE-2020-1971: OpenSSL 拒绝服务漏洞是一个高危漏洞,对于服务器应用安全会收到验证的威胁。受影响的版本:OpenSSL 1.1.1 ~ 1.1.1h和OpenSSL 1.0.2 ~ 1.0.2w。安全版本是OpenSSL 1.1.1i和OpenSSL 1.0.2x。
漏洞修复
第一步:查看版本
确定自己服务器的OpenSSL的版本使用openssl version命令进行查询如上图所示,看到本机的版本是“OpenSSL 1.0.2k-fips 26 Jan 2017”;然后核对一下是不是受影响的版本,不过既然做这件事就做彻底,不管是不是有影响版本,我们都对openssl服务进行一个升级。
第二步:下载最新版本
当前最新版本是openssl-1.1.1i.tar.gz (2020-Dec-08 14:39:04 ),下载方式有官网下载地址: https://www.openssl.org/source/ 或者Github地址:
https://github.com/openssl/openssl/releases。推荐大家去官网进行下载,然后直接上传服务器,速度会比较快。我们把下载的安装包“openssl-1.1.1i.tar.gz”上传到服务器“/usr/local/src”目录。
第三步:编译安装
[www.seeodd.cn@loacalhost root]$ cd /usr/local/src //切换到安装包上传位置
[www.seeodd.cn@loacalhost root]$ tar xzvf ./openssl-1.1.1i.tar.gz //解压安装包,注意命令中的安装包的名称和安装包的名称需要一致
[www.seeodd.cn@loacalhost root]$ cd /usr/local/src/openssl-1.1.1i/ //切换到安装包解压目录
[www.seeodd.cn@loacalhost root]$ ./config //执行编译
[www.seeodd.cn@loacalhost root]$ make
[www.seeodd.cn@loacalhost rootc]$ sudo make install
[www.seeodd.cn@loacalhost root]$ sudo mv /usr/bin/openssl /usr/bin/oldopenssl //对旧版本openssl进行替换
[www.seeodd.cn@loacalhost root]$ sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
linux安装程序的时候需要编译,需要多等待一会。执行到这一步基本上已经完成了,我们重复第一步操作查看openssl版本,查看是否成功升级了openssl版本。对于部分的机器会出现报错,提示信息“openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory”;遇到这种情况不要慌我们继续执行一下命令。
[www.seeodd.cn@loacalhost root]$ sudo ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
[www.seeodd.cn@loacalhost root]$ sudo ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
然后继续在重复第一步查询一下openssl的版本,就可以知道是否成功升级了openssl。在升级的时候大家记得对服务器进行一个备份,对于意外情况下可以快速的进行一个恢复,这一点个人感觉腾讯云服务使用起来非常的棒,对于实例机器不仅提供漏洞警告的推送,同时提供50GB的免费快照空间,对于任何的大动作之前建立一份快照,就可以在意外情况中快速的回滚到备份点。