当前位置: 首页 > news >正文

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】解决)

一、安装 1.下载相关openssl包 下载地址: https://www.openssl.org/source/ 2.将下载好的压缩包放到 /app/server/nginx 路径下(根据自己实际需求定义) 3.切换至该路径 cd /app/server/nginx4.压缩包解压 压缩包解压 :tar -…...

假如有一个嵌套集合,怎么通过stream流将集合放到一个集合之中?

假如有一个嵌套集合,怎么通过stream流将集合放到一个集合之中? 问题解释:你有一个嵌套的集合,想要通过 Stream 流的方式将其中嵌套的集合放到一个新的集合中。可以使用 flatMap 方法来实现。这种方法非常适合处理嵌套集合的情况。…...

flutter doctor出现 Unable to find bundled Java version

在安装flutter时执行flutter doctor时出现了如下错误: [!] Android Studio (version 2022.1) ✗ Unable to find bundled Java version. 解决办法 检查下Applications/Android Studio.app/Contents目录下有没有jre文件夹,如果没有则创建一个&…...

Linux系统修改root密码

疑难杂症篇(十六)--虚拟机出现“The system is running in low-graphics mode“问题的解决方案_the system is running in low graphic-CSDN博客...

AI时代,我们还可以做什么?

最近看了本书,书名叫做《拐点:站在 AI 颠覆世界的前夜》,作者是万维钢。 本想着看完后,就能掌握一整套 AI 技巧,结果——竟然学了很多道理。 这本书讨论了以下话题: 我们该怎么理解这个 AI 大时代的哲学&am…...

【生成式人工智能-十-文字、图片、声音生成策略】

人工智能生成文字、图片、声音的方法 生成的本质生成的策略文字AR (Autoregressive Generation)图像和视频 NAR(Non-Autoregressive Generation)解决NAR生成品质低的问题 AR NAR 生成的本质 文字、图像、声音的生成的本质,就是给模型一个输入,模型把基…...

git pull 注意事项

当在执行 git pull 操作并且涉及到合并操作时,Git 会打开默认的文本编辑器(在这种情况下是 nano),以便你编写合并提交(merge commit)消息。这个消息将记录在合并提交中,解释为什么进行了这次合并…...

拥抱变革:旗晟智能巡检机器人系统重塑高风险行业巡检模式

随着工业自动化的快速发展,特别是在石油、化工、煤矿等高风险行业中,传统的巡检方式已难以满足现代企业的需求。高频次、全天候、重复的人工巡检不仅效率低下,还面临着人身安全、数据准确性和运营成本等多方面的挑战。针对这些问题&#xff0…...

监听器——监听着我们WEB项目中的域对象

监听器 ——它监听着我们WEB项目中的域对象 何时被创建被销毁 ServlertContextListener——它监听ServletContext对象的创建和销毁 contextInitialized 创建的时候会调用 Tomcat启动时调用 contextDestroyed销毁的时候自动会调用的方法 Tomcat终止 这两个方法中携带的参数S…...

cs使用说明

cs分为服务器端和客户端,服务器端最好在linux上配置,客户端在windows中配置,首先要在服务器端配置好,客户端连接才能生效 服务器端配置 将cs包发送到kali虚拟机中(压缩包解压密码为mht) 1,给与cs包最大的权限 chmod -…...

skynet 连接redis

文章目录 概述main.luaagent.luaredis.lua 小结 概述 之前写过skynet 入门篇,还有skynet实操篇;这2篇,主要写了skynet如何使用,还有些skynet的调用流程之类。 其实,看过skynet的demo之后,发现skynet中没有…...

quark-design 原生引入使用说明

说明:旧项目前后不分离 使用原生html开发的情况下 以动作面板举例: esm全局引入的方式 <script type"module"> import quarkd from "https://cdn.jsdelivr.net/npm/quarkd2.0.4/esm" //直接使用 quarkd.ActionSheet({actions: [{ name: "Opti…...

UE开发中的设计模式(二) —— 中介者模式

上一篇文章介绍了观察者模式如何降低观察者和目标之间的耦合&#xff0c;并通过一个实例具体实现了观察者模式&#xff0c;本篇文章从上篇文章的实例继续&#xff0c;介绍中介者模式是如何带来对象间进一步的松耦合。 文章目录 问题提出概述问题解决总结优点缺点模式应用 参考资…...

安卓应用开发学习:聚合数据API获取天气预报

一、引言 上个月我通过腾讯位置服务&#xff0c;实现了手机定位应用的开发学习。最近在看软件书籍时&#xff0c;又看到了聚合数据API方面的内容。 书上介绍了聚合数据天气预报API的应用&#xff0c;不过书上的代码看得有些难受&#xff0c;我到聚合数据官网&#xff0c;对天气…...

设计模式 - 抽象工厂模式

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、抽象工…...

塔子哥选数字-阿里淘天2024笔试(codefun2000)

题目链接 塔子哥选数字-阿里淘天2024笔试(codefun2000) 题目内容 塔子哥有一个长为n的数组a。他定义一个数组的权值为&#xff1a;数组中不同的数字个数。 塔子哥希望从数组a中选出在个数子&#xff0c;使得这k个数字组成的数组权值最大&#xff0c;请你帮帮塔子哥。 输入描述…...

【leetcode】杨辉三角(Java语言描述)

杨辉三角 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]] …...

Vue - 关于vue-kinesis 移动动画组件

Vue - 关于vue-kinesis 移动动画组件 vue-kinesis可以根据鼠标移动或滚动条来控制元素动画的动画效果&#xff1b;除此之外&#xff0c;vue-kinesis 还可以设置音频文件&#xff0c;根据音频频率来控制动画的跳动效果。 一、安装vue-kinesis Vue2版本&#xff1a; 1.安装 …...

leetCode- - - 链表

目录 1.反转链表&#xff08;leetcode206&#xff09; 2. 链表内指定区间反转&#xff08;leetcode92&#xff09; 3.链表中的节点每k个一组翻转&#xff08;leetcode25&#xff09; 4.合并两个排序的链表&#xff08;leetcode21&#xff09; 5.链表的中间节点&#xff08…...

Ashok:一款多功能开源网络侦查OSINT工具

关于Ashok Ashok是一款多功能开源网络侦查公开资源情报OSINT工具&#xff0c;该工具可谓是OSINT领域中的瑞士军刀&#xff0c;广大研究人员可以使用该工具轻松完成网络侦查任务。 侦察是渗透测试的第一阶段&#xff0c;这意味着在计划任何实际攻击之前收集信息。因此&#xff…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...