OpenSSL 代码问题漏洞(CVE-2020-1967)
OpenSSL是OpenSSL团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库。该产品支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。
OpenSSL 1.1.1d版本、1.1.1e版本和1.1.1f版本的‘SSL_check_chain()’函数存在代码问题漏洞。远程攻击者可利用该漏洞导致服务器或客户端应用程序崩溃。
1. 下载openssl包
https://www.openssl.org/source/openssl-1.1.1h.tar.gz
把下载下来的包导入到服务器(例如我放在/home下)
2.备份
备份证书和密钥(我这台include下没有openssl )
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
3.安装依赖
3.1. 安装perl 、gcc
yum install -y perl gcc
3.2编译安装
```bash
#解压
cd /home
tar -zxvf openssl-1.1.1h.tar.gz
cd openssl-1.1.1h
#prefix=/usr/local/openssl安装路径
#编译并安装
./config --prefix=/usr/local/openssl
make && make install
安装完是这样(缺少依赖环境会中途报错!!!)
3.3替换原有opssl 文件
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
3.4建立软连接
为了完整我在/usr/lib 和/usr/lib64都建立
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
ln -s /usr/local/src/openssl-1.1.1h/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
4.验证
4.1查看版本
openssl version -a
4.2重启后再次验证
reboot
openssl version -a