评论

收藏

[Linux] linux openssl升级-从OpenSSL1.0.2K-1.1.1i

服务系统 服务系统 发布于:2022-09-13 16:53 | 阅读数:363 | 评论:0

题外话:线上系统,原理扫描出了SSL/TLS协议信息泄露漏洞,需要进行升级解决漏洞,通过查看他人资料,得到一个消息:建议大家
OpenSSL 1.0.2用户应升级到1.0.2i;
OpenSSL 1.0.1用户应升级到1.0.1u;
1.下载要升級的安裝包
①有外网的情况下:
[root@muqx ~]#  wget DSC0000.jpg
出现问题:ERROR: cannot verify  certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:

DSC0001.jpg

问题原因:
这个错误涉及到 OpenSSL 官方站点使用的 Let's Encrypt CA 证书,1.0.2 版本的 OpenSSL 将在验证网站证书时报错,而当前 CentOS 7.9中默认包含的 OpenSSL 版本是 1.0.2k,所以会出错。对于该问题在 OpenSSL 官方的 Blog 上有解释,其链接为:Old Let’s Encrypt Root Certificate Expiration and OpenSSL 1.0.2 - OpenSSL Blog。
处理方法:
可以通过加上命令参数 --no-check-certificate 来绕过这个问题,即使用命令:
wget DSC0002.jpg --no-check-certificate
处理方法二:
也可以不用 wget,而使用 curl 命令下载。执行如下命令:
curl   DSC0003.jpg    -O --progress

②是内网的情况下,下载然后进行上传到服务器


DSC0004.jpg

2.确认当前版本,备份证书文件和秘钥文件
#确认版本
[root@muqx ~]# openssl version -a
#查看需要备份文件
[root@muqx ~]# find / -name openssl
DSC0005.jpg

#备份文件
[root@muqx ~]# mv /usr/bin/openssl /usr/bin/openssl.old
[root@muqx ~]# mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
[root@muqx ~]# mv /usr/lib64/openssl  /usr/lib64/openssl.old
#下载的文件进行解压,-C 就是制定解压的路径
[root@muqx ~]# tar -zxvf openssl-1.1.1i.tar.gz  -C /opt/
#进行安装
[root@muqx ~]# cd /opt/openssl-1.1.1i/
#预编译,生成Makefile文件
[root@muqx openssl-1.1.1i]# ./config --prefix=/opt/openssl --openssldir=/usr/local/ssl
例如:到指定安装路径,生成Makefile文件,-t参数可测试编译情况,–prefix:指定安装目录;–openssldir:指定openssl配置文件路径;加shared还可指定创建动态链接库
DSC0006.jpg

#编译,安装,其中j4 是线程  (make 是编译,make install 是安装。可以分开执行)
[root@muqx openssl-1.1.1i]# make -j4 && make install
DSC0007.jpg

#添加新的openssl软链接
[root@muqx openssl-1.1.1i]# ln -sf /opt/openssl/bin/openssl  /usr/bin/openssl
# 测试
[root@muqx openssl]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
出现问题:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
处理方式:
方法一:
# 将新的库文件地址写入记录so库的配置文件
[root@muqx openssl-1.1.1i]# echo "/opt/openssl/lib/" >> /etc/ld.so.conf
[root@muqx openssl-1.1.1i]# ldconfig
方法二:
缺少相关库依赖,请检查以下库文件,执行:
[root@muqx openssl-1.1.1i]# ln -s /opt/openssl/lib/libcrypto.so.1.1  /usr/lib64/libcrypto.so.1.1
[root@muqx openssl-1.1.1i]# ln -s /opt/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@muqx openssl-1.1.1i]# ldconfig
#再次测试验证:
[root@muqx pkgconfig]# openssl version
OpenSSL 1.1.1i  8 Dec 2020
DSC0008.jpg

完成升级


游戏是我的全部图景,我将演绎所有的游戏角色,我是每个活着角色的传奇。   --沐清娴