CentOS linux 安装openssl(openssl拒绝服务漏洞【CVE-2022-0778】解决)
一、安装
1.下载相关openssl包
下载地址: https://www.openssl.org/source/
2.将下载好的压缩包放到 /app/server/nginx 路径下(根据自己实际需求定义)
3.切换至该路径
cd /app/server/nginx
4.压缩包解压
压缩包解压 :tar -zxvf openssl-3.0.0.tar.gz
5.切换到解压后的路劲
cd openssl-3.0.0
6.查看一下原安装版本
openssl version -a
7.设置配置
./config --prefix=/usr/local/openssl3.0.0 --openssldir=/usr/local/openssl3.0.0 shared zlib
①可能出现错误

1)安装gcc(编译依赖 gcc 环境)
yum install gcc-c++
2)安装 PCRE pcre-devel (包括 perl 兼容的正则表达式库)
yum install -y pcre pcre-devel
3)安装zlib(对 http 包的内容进行 gzip)
yum install -y zlib zlib-devel
②还可能出现的错误
Cant't locate IPC/Cmd.pm .......
需安装perl-IPC-Cmd包
执行命令
yum -y install perl-IPC-Cmd
8.编译安装(编译安装完不报错将会安装到 /usr/local/openssl3.0.0)
make
make install
二、配置链接库
1.在目录/etc/ld.so.conf.d目录下创建一个名为openssl-3.0.0.conf的文件
cd /etc/ld.so.conf.d
vim openssl-3.0.0.conf
2.输入(i:启用编辑,esc:退出编辑,:wq:保存退出,:q!:不保存退出)
/usr/local/openssl3.0.0/lib64
3.创建软链接
ln -s /usr/local/openssl3.0.0/lib64/libssl.so.3 /usr/lib64/
ln -s /usr/local/openssl3.0.0/lib64/libcrypto.so.3 /usr/lib64/
若报已存在(File exist),则进行覆盖
ln -sf /usr/local/openssl3.0.0/lib64/libssl.so.3 /usr/lib64/ln -sf /usr/local/openssl3.0.0/lib64/libcrypto.so.3 /usr/lib64/
4.重新加载动态链接
ldconfig -v
三、配置环境变量
1.备份旧的配置(/usr/bin/openssl为上个版本安装路径,此处为系统默认路径)
mv /usr/bin/openssl /usr/bin/openssl.backup
2.创建环境变量文件
vim /etc/profile.d/openssl.sh
3.写入
#Set OPENSSL_PATH
OPENSSL_PATH="/usr/local/openssl3.0.0/bin"
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH
4.执行openssl.sh 文件,并输出环境变量
chmod +x /etc/profile.d/openssl.sh
source /etc/profile.d/openssl.sh
echo $PATH
5.检查OpenSSL位置
which openssl
6.检查系统配置
openssl version -a
2022-03-15
openssl出现拒绝服务漏洞【CVE-2022-0778】
由于证书解析时使用的 BN_mod_sqrt() 函数存在一个错误,它会导致在非质数的情况下永远循环。可通过生成包含无效的显式曲线参数的证书来触发无限循环。由于证书解析是在验证证书签名之前进行的,因此任何解析外部提供的证书的程序都可能受到拒绝服务攻击。此外,当解析特制的私钥时(包含显式椭圆曲线参数),也可以触发无限循环。
影响范围:
OpenSSL版本1.0.2:1.0.2-1.0.2zc
OpenSSL版本1.1.1:1.1.1-1.1.1m
OpenSSL版本 3.0:3.0.0、3.0.1
官方修复提交记录:
https://github.com/openssl/openssl/commit/9eafb53614bf65797db25f467946e735e1b43dc9#
解决办法:
openssl3.0.0升级到->openssl3.0.2
与上述安装步骤一致(将其中的其中openssl3.0.0修改为openssl3.0.2)
其中注意事项:
创建软链接时,需进行覆盖
ln -sf /usr/local/openssl3.0.2/lib64/libssl.so.3 /usr/lib64/
ln -sf /usr/local/openssl3.0.2/lib64/libcrypto.so.3 /usr/lib64/
备份时,需将路径修改为上次安装openssl的路径
mv /usr/local/openssl3.0.0 /usr/bin/openssl.backup
升级完毕后,如果使用的nginx做服务分发代理,nginx需重新编译安装,其中openssl依赖路径修改为最新路径(nginx安装可看:CentOS linux安装nginx)
结束
CentOS linux 安装openssl(openssl拒绝服务漏洞【CVE-2022-0778】解决)的更多相关文章
- Linux Kernel‘ieee80211_radiotap_iterator_init()’函数拒绝服务漏洞
漏洞名称: Linux Kernel‘ieee80211_radiotap_iterator_init()’函数拒绝服务漏洞 CNNVD编号: CNNVD-201312-041 发布时间: 2013- ...
- Linux kernel ‘ip6_sk_dst_check’函数拒绝服务漏洞
漏洞名称: Linux kernel ‘ip6_sk_dst_check’函数拒绝服务漏洞 CNNVD编号: CNNVD-201307-070 发布时间: 2013-07-05 更新时间: 2013- ...
- Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题)
Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) rpm安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) 提示:error: Failed dependencies: clo ...
- CentOS Linux安装python3
本文的方法是在CentOS上新装了python3,如果本机安装了python2则保留,因为可能有程序依赖目前的python2环境,比如yum!!!!! 一.安装python3.7 1. 安装依赖环境 ...
- CentOs linux安装SVN服务
SVN服务器有2种运行方式:1.独立服务器(例如:svn://xxx.com/xxx):2.借助apache (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选择 ...
- linux(kali,centos)安装vm及其提示缺少c头文件解决方法
我电脑系统是kali最新版 首先去官网下一个vm安装包,给个直达网址 http://www.vmware.com/cn/products/workstation/workstation-evaluat ...
- [转]CENTOS LINUX安装并使用NFS共享文件
FROM :http://www.qiansw.com/centos-linux-nfs.html NFS是linux常用的一种文件分享工具. 下面介绍安装及使用方法. CentOS 5.5 yum ...
- CentOS Linux 安装IPSec+L2TP
第二层隧道协议L2TP(Layer 2 Tunneling Protocol)是一种工业标准的Internet隧道协议,它使用UDP的1701端口进行通信.L2TP本身并没有任何加密,但是我们可以使用 ...
- Docker 安装入门 Centos Linux安装Docker 部署mysql
这次购买了阿里云云服务器,并且安装了Centos 7.5 学习使用Docker, 确认版本信息 Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Dock ...
- centos linux安装telnet 过程及问题(源于内部tomcat网站,外部无法访问)
首先本地没有telnet客户端及服务器 root权限下安装 yum install telnet yum install telnet-server vi /etc/xinetd.d/telnet 这 ...
随机推荐
- Windows 快速启动器
在日常工作和学习中,我们经常需要快速访问某些功能或资源,例如打开常用网站.启动应用程序或执行特定命令.Linux 用户可以通过 alias 快速实现这些操作,但在 Windows 上缺乏类似的原生支持 ...
- 阻止(禁止)textare回车换行
<van-field v-model="form.messageCont" rows="3" label="口号" autosize ...
- JMeter非GUI模式执行,jtl文件请求与响应数据为空?这里有答案!
JMeter非GUI模式执行,jtl文件请求与响应数据为空?这里有答案! 问题描述 在使用JMeter进行性能测试时,很多用户会选择非GUI(图形用户界面)模式来执行测试,因为这样可以减少客户端的负担 ...
- pip安装MySQLdb报错mysql_config not found
报错EnvironmentError: mysql_config not found解决方法 1.sudo apt-get install python-setuptools 2.sudo apt-g ...
- Luogu P7250 BalticOI 山峰 题解 [ 蓝 ] [ 模拟 ] [ 并查集 ] [ BFS ]
Luogu P7250 BalticOI 山峰. 一道大模拟,很暴力,也很难写.建议紫或蓝,标签为模拟.广度优先搜索.并查集. 思路 首先观察到答案取决于路线上的最低点,所以我们可以把所有点的高度丢进 ...
- Luogu P5089 元素周期表 / Codeforces 1012B Chemical table 题解 [ 并查集 ] [ 二分图 ] [ 图论建模 ] [ 棋盘覆盖问题 ]
双倍经验:Luogu P5089 元素周期表 ,CF1012B Chemical table:模拟赛搬的好题,有点厉害.赛时10min码的假贪心拿了五十多分,赢. 并查集思路 1 对于此类棋盘整行整列 ...
- DM SQL关联列 like 优化案例
1.1.sql优化背景 达梦一哥们找我优化条SQL,反馈在DM8数据库执行时间很慢出不来结果, 监控工具显示这条SQL的执行时间需要20多万毫秒,安排. 1.2.慢sql和执行时间 select a. ...
- FreeSql学习笔记——6.修改
前言 FreeSql 提供丰富的数据库更新功能,支持单条或批量更新,支持更新指定的字段,在特定的数据库执行还可以返回更新后的记录.与删除一样,没有条件的话不会执行,避免全表修改到全表: 指 ...
- windows设置定时任务
- Linux - 服务器磁盘 Raid & 分区 & 挂载
一.流计算服务器 有一台流处理服务器(系统盘:2*600G.数据盘:6*600G)分区挂载如下: 设备名 分区 大小 挂载点 文件系统类型 磁盘用途 分区类别 /dev/sda /dev/sda1 3 ...