【实战教程】一键升级CentOS 7.9.2009至OpenSSL 1.0.2u:加固你的Linux服务器安全防线!

news2024/9/22 11:27:55

文章目录

    • 【实战教程】一键升级CentOS 7.9.2009至OpenSSL 1.0.2u:加固你的Linux服务器安全防线!
      • 一、 背景
      • 二、 升级步骤
        • 2.1 检查 OpenSSL 版本
        • 2.2 安装 OpenSSL 依赖包
        • 2.3 下载 OpenSSL 的新版本
        • 2.4 解压缩下载的文件
        • 2.5 编译并安装 OpenSSL
          • 2.5.1 切换到解压目录
          • 2.5.2 配置 OpenSSL
          • 2.5.3 编译并安装 OpenSSL
        • 2.6 更新系统库路径
        • 2.7 更新系统二进制和库的链接
        • 2.8 确认 OpenSSL 版本

【实战教程】一键升级CentOS 7.9.2009至OpenSSL 1.0.2u:加固你的Linux服务器安全防线!

一、 背景

CentOS Linux 7 环境下 OpenSSL 拒绝服务漏洞(CVE-2022-0778)
漏洞影响范围:

OpenSSL 1.0.2
OpenSSL 1.1.1
OpenSSL 3.0

OpenSSL拒绝服务漏洞(CVE-2022-0778):该漏洞是由于OpenSSL中的BN_mod_sqrt()函数存在解析错误,由于证书解析发生在证书签名验证之前,因此任何解析外部提供的证书场景都可能受到拒绝服务攻击,攻击者可在未授权的情况下通过构造特定证书来触发无限循环,执行拒绝服务攻击,最终使服务器无法提供服务。

升级:

OpenSSL 1.0.2 版用户应升级到 1.0.2zd 版(仅限高级支持客户)、OpenSSL 1.1.1 版用户应升级到 1.1.1n 版、OpenSSL 3.0 版用户应升级到 3.0.2 版。

其中 OpenSSL 1.0.2 版不再支持且不再接收公共安全更新,扩展支持的用户仍然可以获得安全更新。OpenSSL 1.1.0 版不再支持且不再接收任何类型的更新,该版本受漏洞影响,请用户及时切换到其他分支版本。

二、 升级步骤

image-20240419120432568**注意:**在编译和安装新版本 OpenSSL 之前,为了确保安全,请在测试环境中验证这些步骤。

执行以下步骤进行升级修复。

2.1 检查 OpenSSL 版本
# openssl version

image-20240422165901969

2.2 安装 OpenSSL 依赖包
# yum install gcc gcc-c++ openssl-devel libstdc++* libcap* wget pam-devel zlib-devel perl -y

image-20240422175045311

image-20240422175014945

2.3 下载 OpenSSL 的新版本
# wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz

image-20240422175202013

2.4 解压缩下载的文件
# tar -xzf openssl-1.0.2u.tar.gz

image-20240422175300457

2.5 编译并安装 OpenSSL
2.5.1 切换到解压目录
# cd openssl-1.0.2u/

image-20240422180128962

2.5.2 配置 OpenSSL
# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib

image-20240422175735930

image-20240422180104826

2.5.3 编译并安装 OpenSSL
# make && make install

image-20240422180549575

2.6 更新系统库路径
# echo "/usr/local/openssl/lib" | tee -a /etc/ld.so.conf
# ldconfig

image-20240422180850504

2.7 更新系统二进制和库的链接
# ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
# ln -sf /usr/local/openssl/include/openssl /usr/include/openssl

image-20240422181118959

2.8 确认 OpenSSL 版本

确保已经更新到安全版本。

# openssl version

image-20240422181201055

原文链接:https://mp.weixin.qq.com/s?__biz=MzkxNzI1OTE3Mw==&mid=2247491806&idx=1&sn=439d2b27e0aa36bb24b412d675de0c80&chksm=c141f614f6367f02d09223e89a889131a27f0fdde169688716dc0e53be6ecdf2cecca1d0dc0f&token=351173942&lang=zh_CN#rd

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2057676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android Forensics with Belkasoft

本课程专为需要在工作中处理 Android 设备并希望增强知识并获得 Android 获取和分析实践经验的数字取证调查员而设计。 您将学到什么? 如何使用Android采集的基本和高级方法,例如基于ADB和APK降级采集 可以使用哪些特定于芯片组的采集方法 如何分析 Andr…

Android实战:实现注册界面

目录 前言 布局图 实现过程 1.导入图片 2.创建分割线样式 3.创建文本样式 4.创建输入框样式 5.XML布局文件 测试 6.实现注册功能 前言 在前面,我们已经学习了一些常见的界面布局和界面控件,那么本篇我们就来结合前面所学的知识,来…

导入导出常见的空指针异常NULLPointException

使用row.getCell()方法去判断是否为空 若不为空再获取 不确定excel文件里的单元格类型 可以使用row.getCell().getCellTypeEnum() 去判断是什么类型 若要把从数据库查询出来的数据导出到excel表格中 要先判断内容是否为空

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

Spring Boot MyBatis-Plus 实现 MySQL 主从复制动态数据源切换 一、前言1. 添加依赖2. 配置主从数据源3. 创建数据源配置类4. 创建数据源上下文5. 定义数据源类型6. 配置数据源切换7. 创建DynamicDataSourceConfig8. 创建DynamicRoutingDataSource9. 创建注解10. 使用注解 一、…

1.Java:集合

集合作用: 1.动态保存任意多个对象。 2.提供操作对象方法比如add,remove,set,get等方法。 3.使用集合添加,删除代码简洁。 集合分类 集合分为单列集合以及双列集合。 单列集合: 双列集合: Collection接口特点 1.Collection…

【Nginx】 Nginx Rewrite 相关功能

Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求 此功能依靠 PCRE(perl compatible regular expression),因此编译之前要安装PCRE库 rewrite是nginx服务器的重要功能之一,用于实现URL的重写,URL的重写是非常有用的功能 比…

智慧环卫与智慧城市:以人文本的创新发展之路

智慧环卫与智慧城市:以人文本的创新发展之路 前言智慧环卫与智慧城市 前言 智慧环卫和智慧城市的建设是当今社会发展的重要趋势,它们对于提升城市管理水平、改善居民生活质量具有至关重要的意义。随着国家政策对新型城市建设的大力推动,智慧…

学习 node.js 六 Markdown 转为 html,zlib

目录 Markdown 转为 html 安装 ejs语法 标签含义 1. 纯文本标签 2. 输出经过 HTML 转义的内容 3. 输出非转义的内容(原始内容) marked browserSync zlib gzip deflate gzip 和 deflate 区别 http请求压缩 Markdown 转为 html 什么是markdown? Markdo…

数据库系列之GaussDB数据库高可用部署方案

GaussDB数据库主备架构的基本组件,以及基于华为云底座和轻量化部署TPOPS两种方式的典型高可用部署场景介绍。 1、GaussDB数据库组件 1.1 GaussDB数据库集中式主备集群基本组件 CM由CM Agent、CM Server和OM monitor构成: CM Agent:管理服务组件,由OMM拉起(周期1秒),主要…

ARM32开发——PWM高级定时器

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 需求高级定时器通道互补输出开发流程通道配置 打开互补保护电路完整代码 需求 点亮2个灯,采用互补pwm的方式 高级定时…

【Unity脚本】使用脚本修改游戏对象静态属性

【知识链】Unity -> -> 脚本系统 -> 访问游戏对象 -> 静态属性【摘要】本文介绍了Unity中游戏对象的静态和动态类型,并说明了如何修改静态属性。 文章目录 第一章 Unity中的静与动第二章 静态和动态对象1. 静态对象(Static Objects&#xf…

Web服务器——————nginx篇

一.What is Web服务器 Web服务器介绍 Web服务器(Web Server)是指驻留于因特网上某种类型计算机的程序,该程序可以向Web浏览器(如Chrome、Firefox、Safari等)等客户端提供文档,也可以放置网站文件&#…

4-1-3 arduino驱动直流电机(电机专项教程)

4-1-3 arduino驱动直流电机(电机专项教程) 4-1-3 arduino驱动直流电机XY-2.5AD电机控制模块家用直流电源改装成项目制作电源示例程序效果演示 4-1-3 arduino驱动直流电机 Arduino控制直流有刷电机的话,通过H桥电路实现转向控制,以…

C语言——预处理

C语言编译步骤 预处理 编译 汇编 链接 预处理 概念: 预处理就是在源文件(如.c文件)编译之前,所进行的一部分预备操作,这部分操作是由预处理程序自动来完成;当源文件在编译时,编译器会自动调用预处理程序来…

ESP32神经网络初步使用

摘要 本文档描述了如何使用Python和TensorFlow训练一个简单的神经网络模型来预测正弦函数,并将其部署到ESP32微控制器上。 参考文章 使用Python和Arduino在ESP32上预测正弦函数 - Dapenson - 博客园 (cnblogs.com) 最简单体验TinyML、TensorFlow Lite——ESP32跑…

Android Studio修改默认.m2与Gradle user home缓存位置

Android Studio修改默认.m2与Gradle user home缓存位置 1、修改Gradle user home的方法: android studio配置默认.gradle路径_android studio gradle在哪-CSDN博客文章浏览阅读2k次。当android studio新建一个项目时候,默认的.gradle路径均认为是在c盘的…

若依搭建实践

若依要求版本 JDK>1.8 MySQL>5.7 Maven>3.0 Node >12 Redis >3 一、环境下载及安装 我本地JDK1.8 MySQL9.0.1 Maven3.5.4 Node 20.12.2 Redis 5.0.14.1 在若依官网下载需要的版本,目前若依支持版本有四个,我们根据需要选择对应的版本…

集合及数据结构第五节————ArrayList的介绍和应用

系列文章目录 集合及数据结构第五节————ArrayList的介绍和应用 ArrayList的介绍和应用 什么是ArrayLisArrayList使用简单的洗牌算法杨辉三角 文章目录 系列文章目录集合及数据结构第五节————ArrayList的介绍和应用 ArrayList的介绍和应用 一、ArrayList1.什么是Arra…

鸿蒙 使用 expandSafeArea 实现顶部沉浸式导航

1, 先看效果; // 设置顶部绘制延伸到状态栏.expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP]) 2, 直接cv 粘贴代码 // xxx.ets Entry Component struct Example {build() {Column() {Row() {Text().fontSize(40).textAlign(Text…

2_foc转速环_电磁转矩方程与运动方程的传递函数

转速环里面包含有电流环在内,当外面给定转速时,系统通过控制iq来控制电磁转矩,从而电机开始转动。电机在转动的过程,传感器检测到机械角度会改变,也就是说电角度也会改变,由电角度在单位时间的变化&#xf…