OpenSSL 远程升级到 3.2.1
文章目录
- OpenSSL 远程升级到 3.2.1
- 背景
- 升级 OpenSSL
- 1. 查看 OpenSSL版本
- 2. 下载最新稳定版本 OpenSSL
- 3. 解压缩,安装
- 4. 配置
背景
最近的护网行动,被查出来了好几个关于OpenSSH的漏洞。需要升级OpenSSH,升级OpenSSH需要同时升级OpenSSL
系统信息如下:
centos: 7
openssl: 1.0.1
升级 OpenSSL
1. 查看 OpenSSL版本
openssl version
2. 下载最新稳定版本 OpenSSL
wget https://www.openssl.org/source/openssl-3.1.2.tar.gz
3. 解压缩,安装
## 进入文件目录
cd /usr //文件下载在 /usr
## 解压文件
tar -zxvf openssl-3.1.2.tar.gz
## 编译,并指定编译参数
./config --prefix=/usr/local/openssl #如果此步骤报错,需要安装perl以及gcc包
# 安装
make && make install
#备份默认的openssl,防止升级失败恢复
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
部分编译参数说明
–openssldir=OPENSSLDIR:安装目录,默认是 /usr/local/ssl 。
–prefix=PREFIX:设置 lib include bin 目录的前缀,默认为 OPENSSLDIR 目录。
shared / no-shared:是否生成动态连接库。
4. 配置
安装完,还需要做配置
openssl version ## 如果不做配置,直接查看安装后的openssl版本则会报错
// 报错如此: openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
## 将原来的openssl命令入口剪切至/tmp做备份
mv /usr/bin/openssl /tmp
## 软链接,将新版的openssl命令入口做一个软链接到/usr/bin目录下做替换
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
## 注意,软链接此处的源文件路径,我们可能不一致,是由我们在编译阶段传入的配置参数控制的,具体要 在/usr/local目录下寻找确定一下
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3 ## 软链接
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 ## 软链接
## 再次查看openssl版本,可以看到更新成功
openssl version