CentOS编译安装openssl1.1.1o

由于最近OpenSSL发现了一些漏洞:
一、漏洞基本情况
1.OpenSSL 远程代码执行漏洞(CVE-2022-1292)。由于c_rehash 脚本未能正确清理 shell 元字符的问题,且某些操作系统会以自动执行的方式分发此脚本。导致未经身份验证的攻击
者可使用脚本构造恶意数据包触发该漏洞,从而实现在目标系统上执行任意系统命令。
2.OpenSSL 证书认证错误漏洞(CVE-2022-1343)。由于OCSP_basic_verify 函数验证部分证书存在错误,未授权的攻击者可利用该漏洞构造恶意数据进行证书欺骗攻击,从而实现非法响应签名证书验证成功。
3.OpenSSL 拒 绝 服 务 漏 洞 ( CVE-2022-1473 ) 。 由 于OPENSSL_LH_flush()函数存在缺陷,当一个长期存在的进程定期解码证书或密钥时,内存的使用量将被无限扩展。未经身份验证的攻击者可通过构造恶意数据包触发该漏洞,从而导致服务器崩溃实现拒绝服务。
4.OpenSSL 加 密 错 误 漏 洞 ( CVE-2022-1434 ) 。 由 于RC4-MD5 密码套件的 OpenSSL 3.0 实现错误地使用了 AAD 数据作为 MAC 密钥,从而使 MAC 密钥可以被预测。未授权的攻击者可以构造恶意数据进行中间人攻击,实现控制双方的通信。
二、漏洞影响范围
CVE-2022-1292 受影响的版本:
OpenSSL 1.0.2 至 1.0.2zd
OpenSSL 1.1.1 至 1.1.1n
OpenSSL 3.0.0
OpenSSL 3.0.1
OpenSSL 3.0.2
CVE-2022-1343、CVE-2022-1473 和 CVE-2022-1434 受影响的版本:
OpenSSL 3.0.0
OpenSSL 3.0.1
OpenSSL 3.0.2
三、升级OpenSSl版本已解决漏洞
Centos7默认提供的openssl版本是1.0.2的,想要升级openssl版本则需要手动进行编译。
第1步:下载openssl
sudo wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz
第2步:编译安装openssl
sudo tar -zxvf openssl-1.1.1o.tar.gz
//进入解压缩后的文件夹
cd openssl-1.1.1o
//进行编译安装
sudo ./config
sudo make install
//等待安装即可
第3步:配置
//更新一下动态链接库为系统所共享
sudo ldconfig
//查看新的版本
sudo openssl version -a

注意:通过以上3步后,还是没有发现版本更新,我们需要再做一些额外的配置。
第4步:手动更新配置
//添加新的地址
sudo echo "/usr/local/lib64/" >> /etc/ld.so.conf
//更新一下动态链接库为系统所共享
sudo ldconfig
//重命名一下老版本(也可以直接删除老版本)
sudo mv /usr/bin/openssl /usr/bin/openssl.old
//创建软连接
ln -sv /usr/local/bin/openssl /usr/bin/openssl
//更新一下动态链接库为系统所共享
sudo ldconfig
//查看新的版本
sudo openssl version -a
通过前三步一般就可以了,第4步为补充。