Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)
文章目录
- 前言
- 一、下载openssh、openssl二进制包
- 二、升级步骤
-
- 1.系统开启telnet,防止意外导致shh无法连接
- 2.确认升级前openssh的版本
- 3.升级openssh
-
- 3.1.备份旧ssh配置文件及目录
- 3.2.备份旧ssh相关的二进制程序文件
- 3.3.安装gcc,并解压9.8p1的安装包
- 3.4.执行openssh编译命令
- 3.5.openssh编译报错示例
- 4.升级openssl
-
- 4.1.检查并备份旧openssl相关文件
- 4.2.解压安装包、执行编译安装命令
- 4.3.创建软链接
- 4.4.验证openssl版本
- 5.openssh续前缘升级操作
-
- 5.1 执行openssh编译
- 5.2.执行openssh安装命令
- 5.3.复制sshd启动脚本,并调整配置文件
- 5.4.启动sshd,并配置开机自启动操作
- 5.5.验证openssh、openssl版本,并验证服务器登录、scp等操作是否正常
- 6.注意事项(报错补充)
-
- 6.1.执行openssh编译命令可能遇到的报错及解决方法
- 6.2.openssh9.8p1安装完成并启动后,如果服务器无法连接问题排查处理
- 总结
前言
2024年7月1日接到安全部门同事邮件通知,目前生产环境及测试环境服务器Openssh存在远程代码执行漏洞(CVE-2024-6387),漏洞等级高,且攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1<=Openssh<9.8p1,安全版本为openssh>=9.8p1。官方给出的修改建议是升级openssh版本至9.8p1,安全部门同事及项目侧领导邮件确认升级至9.8p1版本并对服务器添加hosts.allow、hosts.deny文件,仅允许通过堡垒机连接服务器。因此本文章主要以升级Openssh漏洞为主,对其操作进行记录,测试环境于生产环境的操作系统版本为centos7.8,x86_64架构,目前已均获得验证,升级openssh、openssl版本后服务器操作、相关业务等在一个多月内均未受到影响。
提示:以下是本篇文章正文内容,下面案例可供参考
为什么升级openssh9.8时需要升级openssl?因为在升级openssh过程中报了一个错误,提示需要openssl版本至1.1.1,因此才有了下方升级openssl的操作。如果没有报该错误,则可不升级openssl,具体看下方演示
一、下载openssh、openssl二进制包
1、下载openssh源码包
[root@python1 ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
--2024-08-14 11:02:15-- https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
Resolving cdn.openbsd.org (cdn.openbsd.org)... 146.75.115.52, 2a04:4e42:15::820
Connecting to cdn.openbsd.org (cdn.openbsd.org)|146.75.115.52|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1910393 (1.8M) [application/octet-stream]
Saving to: ‘openssh-9.8p1.tar.gz’
38% [=========================================> 729,088 49.9KB/s eta 22s
2、下载openssl源码包
[root@python1 ~]# wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1s.tar.gz
二、升级步骤
需要升级的服务器尽可能通外网,因为涉及到zlib-devel、pam、gcc等包的安装,如果是纯内外环境,则需要提前下载好包并上传到内网环境在做操作。
1.系统开启telnet,防止意外导致shh无法连接
在需要升级的服务器上安装
[root@python1 ~]# yum install -y telnet-server
[