Linux OpenSSH最新版9.7p1升级操作详细教程

原创声明:非本人许可,谢绝转载!

1.背景说明

前几天与朋友闲聊中得知他朋友圈有服务器因OpenSSH漏洞遭受攻击的事情,OpenSSH重要性这里就不废话了,在网上一查,公布的漏洞还真不少,其中还有不少利用难度很低的漏洞。查了下自已管辖服务器的OpenSSH版本,天啊,这不妥妥的是待宰的羔羊、喷香的肉鸡吗。还没遭到攻击,这分明就是羊汤不香肉鸡吃够还没功夫搭理你的节奏啊,要黑你分分钟就会被拿下。
漏洞披露

2.升级目标

从各渠道及官方公布的漏洞来看,9.6p1以下版本均受到影响。截止发稿前,Openssh官方查看最新版本为2024年3月11日发布的9.7p1,本次将更新升级至此版本,来提高系统安全系数。
图表来源于国家信息安全漏洞共享平台

3.准备工作

3.1.环境评估

本次以测试服务器为例讲解,系统为Centos7.9 2009版本,升级前OpenSSH版本7.4p1,OpenSSL版本1.0.2k,案例仅供更新参考,其他系统及版本请自行测试。
升级前版本

3.2.备份现有配置

cp -rf /etc/ssh /etc/ssh.bak
cp -rf /usr/bin/openssl /usr/bin/openssl.bak
cp -rf /etc/pam.d /etc/pam.d.bak
cp -rf /usr/lib/systemd/system /system.bak

配置备份

3.3.TELNET安装配置

#1.telnet安装
yum install -y telnet telnet-server xinetd
#2.启动telnet服务
systemctl start xinetd && systemctl start telnet.socket
#3.开放防火墙23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
#4.重新加载防火墙规则
firewall-cmd --complete-reload
#5.查询23端口放行情况
firewall-cmd --query-port=23/tcp
#6.开放telnet明文登录
sed -i 's/^auth[[:space:]]\+required[[:space:]]\+pam_securetty.so/#&/' /etc/pam.d/remote
#7.测试telnet登录
telnet ip
#8.加入开机启动
systemctl enable telnet.socket

telnet安装及验证

4.升级步骤

4.1.依赖及编译环境安装

yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano

依赖已安装

4.2.下载源码包

cd /usr/local/src
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

源码包下载

4.3.解压源码包

cd /usr/local/src/
tar -zxvf zlib-1.3.1.tar.gz
tar -zxvf openssl-3.2.1.tar.gz
tar -zxvf openssh-9.7p1.tar.gz

查看解压包

4.4.安装Zlib

#1.进入zlib-1.3.1目录
cd /usr/local/src/zlib-1.3.1
#2.配置
./configure --prefix=/usr/local/src/zlib
#3.编译及安装(编译时间预计几分钟,视机器而定)
make -j 4 && make test && make install

安装zlib

4.5.安装OpenSSL

#1.进入openssl-3.2.1目录
cd /usr/local/src/openssl-3.2.1
#2.配置
./config --prefix=/usr/local/src/openssl
#3.编译及安装(编译时间预计几分钟,视机器而定)
make -j 4 && make install

openssl安装

#4.配置
mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
#5.更新动态库
echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf
ldconfig
#6.查看更新后的版本
openssl version -v

openssl配置

4.6.安装OpenSSH

4.6.1.老版本OpenSSH卸载

#1.卸载openssh7.4p1
yum remove -y openssh
#2.清理残余文件
rm -rf /etc/ssh/*

卸载老版本

4.6.2.OpenSSH安装

#1.进入openssh-9.7p1目录
cd /usr/local/src/openssh-9.7p1
#2.配置
./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib 
#3.编译及安装
make -j 4 && make install
#4.查看目录版本
/usr/local/src/ssh/bin/ssh -V
#5.复制新ssh文件
cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.pam /etc/pam.d/sshd

cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen
#6.允许root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

#重启sshd服务
/etc/init.d/sshd restart
#查看服务运行状态
/etc/init.d/sshd status
#添加开机启动
chkconfig --add sshd
#查看升级后ssh版本
ssh -V

openssh配置

openssh编译
openssh复制新文件
配置启动服务等
验证SSH服务

#任意终端工具测试验证(例如windows)

ssh root@服务器IP

SSH验证
可以看到OpenSSH已升级至9.7p1版本 OpenSSL已升级至3.2.1版本,接着把备份的配置还原,关闭及卸载telnet服务,至此升级全部完成!

原创声明:非本人许可,谢绝转载!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RK3588平台开发系列讲解(PCIe开发篇2)

根据原理图填写DTS 原理图是基于IO信号的视⻆来描述硬件,IO信号是跟PHY的index强相关的,前⾯提到RK3588的controller和PHY的index可能不⼀致,所以看原理图的时候需要特别注意这⼀点。这⾥给出⼀些填写建议,并通过⽰例说明如何将原…

socket通信基础讲解及示例-C

socket通信之C篇 服务端与客户端简介 socket通信服务端与客户端通信模型通信实战server(服务端)创建client(客户端)创建 函数详解创建套接字 socket绑定端口bind进入监听状态listen获取客户端连接请求accept接收网络数据read发送数…

音素与视素(Viseme)

什么是视素(视位) 音素(Phoneme),是人类语言中能够区别意义的最小声音单位。视素(Viseme),是指与某一音素相对应的嘴、舌头、下腭等可视发音器官所处的状态。Viseme是MPEG-4 标准提出来的概念。 有时Viseme也翻译为视位。下面会…

JavaEE初阶Day 10:多线程(8)

目录 Day 10:多线程(8)单例模式阻塞队列1. 生产者消费者模型1.1 生产者消费者模型解耦合1.2 生产者消费者模型削峰填谷 2. 生产者消费者代码3. 阻塞队列实现 Day 10:多线程(8) 单例模式 单例模式&#xf…

springboot中mongodb连接池配置-源码分析

yml下spring.data.mongodb 以前mysql等在spring.xxx下配置,现在springboot新版本(小编3.2.3)在spring.data.xxx下了,如下所示,mongodb的配置在spring.data.mongodb下: 连接池相关参数配置-源码分析 拼接在…

vue3 删除对象中的属性,可以使用js里的delete,但需注意ts定义对象类型!

如上如,当使用delete 删除stateData中的属性时, 报错,意思为 TypeScript 错误“‘delete’ 运算符的操作数必须是可选的 什么原因呢?是因为我偷懒 缺少了ts定义类型 方法一: (不推荐) delete …

【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程

文章目录 前言安装教程使用教程 前言 JavaScript文件可能会泄露敏感信息,如注释中的机密信息、内部IP地址,以及包含未授权访问或其他漏洞的URL。手动检查这些信息效率低下,而该工具——LinkFinder,可用于自动收集JavaScript文件中…

Windows10系统中忘记MySQL数据库root权限登录密码

本文档所使用的MySQL版本为MySQL5.7>> mysqld_safe --skip-grant-tables&mysql -u root mysql在命令行中使用上面的命令登录MySQL,其中--skip-grant-tables允许用户跳过权限表进行无密码登录 >> UPDATE user SET authentication_stringPASSWORD(&q…

2024 年 Web 前端开发趋势

希腊哲学家赫拉克利特认为,变化是生命中唯一不变的东西。这句话适用于我们的个人生活、行业和职业领域。 尤其是前端开发领域,新技术、开发趋势、库和框架不断涌现,变化并不陌生。最近发生的一些事件正在改变开发人员构建网站和 Web 应用的方…

buuctf之ciscn_2019_c_1

ciscn_2019_c_1 一、查看属性二、静态分析三、动态分析四、思路五、exp 一、查看属性 首先还是必要的查看属性环节: 可以知道该文件是一个x86架构下的64位小端ELF文件,开启了栈不可执行(NX) 执行一下,先有一个选择&…

容联云QCon全球软件大会分享:大模型引领“营销服”创新实践

近日,QCon 全球软件开发大会正式召开。容联云大模型产品负责人唐兴才受邀出席,并分享营销服场景中,大模型的创新应用与实践。 唐兴才指出,在大模型浪潮的推动下,营销服场景正经历着前所未有的变革。面对激烈的市场竞争…

LineVul: 基于Transformer的行号级漏洞预测

文中提出一种基于Transformer的行号级漏洞预测方法 LineVul,以解决最先进的 IVDetect 方法的若干局限性。该方法通过对包含 188k C/C 函数的大规模真实数据集进行实证评估,LineVul 实现了:(1)函数级预测的 F1-measure …

sublime text的json快捷键

系统 macos 配置 sublime Text->Settings->Key Bindings 效果 可以看到,按:shiftcommandp,会出现快捷键窗口,打pretty,会出现Format JSON,最右侧显示⌘J,说明只需要macos的⌘和J同时按…

ASP.NET医院手麻信息系统源码 .NET6.0+VUE

目录 麻醉记录单 复苏记录单 麻醉文书 手术麻醉信息 1、 体征监控记录 2、 麻醉用药信息 3、 手术事件登记 4、 手术状态变更 5、 麻醉医师交接 6、 其他辅助操作 手麻信息系统是以服务围术期临床业务工作的开展为核心,通过与床边监护设备以及医院H…

物流单打印模板怎么设置,物流发货单打印软件操作教程

物流单打印模板怎么设置,物流发货单打印软件操作教程 一、前言 以下软件操作教程以,佳易王物流货运单管理系统软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 佳易王物流单管理系统软件直接在空白单上打印可以在卷纸…

AI论文速读 | 2024[VLDB]TFB:全面与公正的时间序列预测方法基准测试研究

论文标题:TFB: Towards Comprehensive and Fair Benchmarking of Time Series Forecasting Methods 作者:Xiangfei Qiu ; Jilin Hu(胡吉林) ; Lekui Zhou ; Xingjian Wu ; Junyang Du ; Buang Zhang ; Chenjuan Guo(郭…

mybatisPlus数据字段填充

这里用到的时实体类User import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.…

如何在ubuntu上使用clash

下载CLASH软件 修改配置文件 解压之后,将.env文件中的URL改为自己订阅的URL,然后再执行start.sh脚本 最后按照提示,将clash.sh添加到环境变量 如何修改端口 在start.sh中更改 祝大家在ubuntu上玩得开心

多高的学历才能轻松找到工作?这个热点有点扯吧~

先来唠唠 昨天刷脉脉的时候,热榜第一的内容吸引了我:多高的学历才能轻松找到工作? 现在这行情,不管多高得学历都很难说能轻松找到工作吧~ 评论区也有不少小伙伴发表自己的见解,比如: 学历固然是非常重要…

C++ 小项目 - 通讯录管理系统

C 小项目系列教程: 通讯录管理系统 ➡️➡️➡️本教程参考自 黑马程序员 C 视频课程 其中的 Markdown 文档,仅用于自己学习,源码发布在 Contact-Management。 文章目录 1. 系统需求2. 创建项目3. 菜单4. 主要功能4.1 添加联系人4.2 显示联系…
最新文章