OpenSSL 版本升级

一 概述

OpenSSL 是一个开源的安全套接字层 (SSL: Secure Socket Layer) 密码库,应用可以通过该程序完成加密的、安全的通信。在一些旧版本的 OpenSSL 中可能会暴出一些高危的安全漏洞,因此需要对系统的 OpenSSL 版本进行升级。

Notes:
在升级 OpenSSL 前需要评估好当前的应用依赖当前版本的 OpenSSL,以免在升级完毕后由于应用层的不兼容导致影响业务。

二 编译安装

本次升级使用编译安装的方式,需要提前到 https://openssl.org/source/ 中下载好对应的源码文件。

2.1 初始化编译环境

Notes:
编译环境为 CentOS 7.9.2009 Minimal 最小化安装,内核版本为 3.10.0-1160.el7.x86_64
# 1. 配置为腾讯云的 CentOS Base Yum 源
mv /etc/yum.repos.d/CentOS-Base.repo \
  /etc/yum.repos.d/CentOS-Base.repo.backup

curl -o /etc/yum.repos.d/CentOS-Base.repo \
  http://mirrors.cloud.tencent.com/repo/centos7_base.repo

# 2. 配置为腾讯云的 EPEL 源
mv /etc/yum.repos.d/epel.repo \
  /etc/yum.repos.d/epel.repo.backup

curl -o /etc/yum.repos.d/CentOS-Base.repo \
  http://mirrors.cloud.tencent.com/repo/centos7_base.repo


# 3. 更新缓存
yum clean all
yum makecache

# 4. 安装一些必要的依赖
yum -y install perl perl-IPC-Cmd gcc

2.3 执行编译

# 1. 获取最新的介质
curl -o openssl-3.0.13.tar.gz \
  https://openssl.org/source/openssl-3.0.13.tar.gz

# 2. 解压
tar xf openssl-3.0.13.tar.gz

# 3. 配置编译参数
cd openssl-3.0.13
./config --prefix=/usr/local/openssl-3.0.13
# 注: --prefix 表示后续的安装路径,可自行定义

# 4. 执行编译
make && make install
# 注:正常情况整个过程为 10 ~ 15 min

三 更新系统 openssl

# 1. 备份旧版本的 openssl
mv /usr/bin/openssl /usr/bin/openssl.old-$(date +'%s')

# 2. 备份系统动态库文件
cp /etc/ld.so.conf /etc/ld.so.conf.old-$(date +'%s')

# 3. 创建软链接
ln -sf /usr/local/openssl-3.0.13/bin/openssl \
  /usr/bin/openssl

# 4. 更新动态库
echo "/usr/local/openssl-3.0.13/lib64" >> /etc/ld.so.conf
ldconfig -v

# 5. 检查
openssl version
# 返回:
# OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)

四 回退

如果有发现升级 OpenSSL 版本会对一些应用或系统有影响而不得不回退的,可以按照以下方式:

# 1. 确认当前路径是软链接
file /usr/bin/openssl
# 返回:
# /usr/bin/openssl: symbolic link to `/usr/local/openssl-3.0.13/bin/openssl'

# 2. 删除软链接
rm -f /usr/bin/openssl

# 3. 回退旧版本 openssl
mv /usr/bin/openssl.old-XXXXX /usr/bin/openssl

# 4. 回退动态库
cat /etc/ld.so.conf.old-XXXX > /etc/ld.so.conf
ldconfig -v

# 5. 检查
openssl version
# 返回:
# OpenSSL 1.0.2k-fips  26 Jan 2017
原创不易,转载时请标明作者及出处。
作者:打个小肥鸡
转自:https://www.sretalk.com/?p=69
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇