OpenSSH_9.3p1 升级到 OpenSSH_9.5p1

OpenSSH_9.3p1 升级到 OpenSSH_9.5p1

文章声明:此文基于实操撰写 生产环境:此文升级是基于9.3p1升级9.5p1
ssh -V查看版本是:OpenSSH_9.3p1, OpenSSL 1.1.1t 7 Feb 2023
问题关键字:OpenSSH 升级, OpenSSH 更新, OpenSSH 漏洞修复
漏洞信息:OpenSSH 命令注入漏洞(CVE-2020-15778)、OpenSSH 安全漏洞(CVE-2023-38408)

OpenSSH_9.3p1 升级到 OpenSSH_9.5p1

漏洞描述

OpenSSH 命令注入漏洞(CVE-2020-15778) 详细描述:

OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。
OpenSSH 9.3p3及之前版本中的scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中,网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令。

OpenSSH 安全漏洞(CVE-2023-38408) 详细描述:

OpenSSH(OpenBSD Secure Shell)是加拿大OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。

CVE-2023-38408是一个远程代码执行漏洞,位于 ssh-agent 的转发功能内,特别是涉及提供PKCS#11相关服务的情况下。在某些条件下,可以操纵ssh-agent对PKCS#11的支持,以便通过转发的代理套接字来促进远程代码执行。利用的先决条件包括受害者系统上存在特定库以及需要将代理转发到攻击者控制的系统。

OpenSSH 9.3p1之前版本存在安全漏洞,该漏洞源于ssh-agent的PKCS11功能存在安全问题。攻击者可利用该漏洞执行远程代码。可以将openssh升级到9.3p1及以上版本。

前述
OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。 OpenSSH 8.9版本至9.5之前版本存在安全漏洞,该漏洞源于将智能卡密钥添加到ssh-agent,会导致忽略每次转发的目标约束。
注:此操作步骤同样适用于Red Hat系所有 9.x 服务器系统。

注意事项:

在升级之前,建议打开多个SSH终端连接,并安装telnet服务器,确保在SSH服务器升级异常时,可以通过telnet服务器远程连接,进行紧急问题修复处理。
在升级前一定要备份原有的配置文件,以防出现意外情况。

此文升级是基于9.3p1升级9.5p1
备份openssh9.3p1的配置文件

[root@localhost ~]# mv /usr/sbin/sshd /usr/sbin/sshd-9.3p1
[root@localhost ~]# mv /usr/bin/ssh /usr/bin/ssh-9.3p1
[root@localhost ~]# mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen-9.3p1
[root@localhost ~]# mv /etc/init.d/sshd /etc/init.d/sshd-9.3p1
[root@localhost ~]# mv /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam-9.3p1

如果不需要备份的这些配置可以在升级完成之后确认没有问题再将其删除。

下载 openssh9.5p1 的安装包:


wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz

解压并编译安装openssh9.5p1

# 将下载的openssh安装包移动到/usr/local下
[root@localhost ~]# mv openssh-9.5p1.tar.gz /usr/local/

# 进入/usr/local/目录解压openssh9.4
[root@localhost ~]# cd /usr/local/
[root@localhost local]# tar xf openssh-9.5p1.tar.gz

# 进入openssh目录
[root@localhost local]# cd openssh-9.5p1

# 编译安装
[root@localhost openssh-9.5p1]# CCFLAGS="-I/usr/local/include" \
LDFLAGS="-L/usr/local/lib64" \
./configure \
--sysconfdir=/etc/ssh \
--with-zlib \
--with-ssl-dir=/usr/local/openssl

[root@localhost openssh-9.5p1]# make -j 4
[root@localhost openssh-9.5p1]# make install

授权

[root@localhost openssh-9.5p1]# chmod 600 /etc/ssh/*

复制配置文件

[root@localhost openssh-9.5p1]# cp -rf /usr/local/sbin/sshd /usr/sbin/sshd
[root@localhost openssh-9.5p1]# cp -rf /usr/local/bin/ssh /usr/bin/ssh
[root@localhost openssh-9.5p1]# cp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost openssh-9.5p1]# cp -ar /usr/local/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-9.5p1]# cp -ar /usr/local/openssh-9.5p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

给sshd授予权限

chmod 755 /etc/init.d/sshd

启用sshd,生成服务配置文件,并重启服务

# 启用sshd,生成服务配置文件
[root@localhost openssh-9.5p1]# systemctl enable sshd
sshd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig sshd on

# 重启服务
[root@localhost openssh-9.5p1]# systemctl restart sshd
# 查看服务状态
[root@localhost openssh-9.5p1]# systemctl status sshd

验证升级是否成功

[root@localhost openssh-9.5p1]#  ssh -V
OpenSSH_9.5p1, OpenSSL 1.1.1t  7 Feb 2023

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10547

(0)
凯影的头像凯影
上一篇 2023年12月13日 下午3:55
下一篇 2023年12月14日 下午3:16

相关推荐

  • Centos下配置JDK环境-支持JDK所有版本(超详细过程)

    前言 配置jdk环境,本人写了两种方案进行配置,当然也最推荐第一种方案。 下载JDK都是免费的,JDK各个版本的下载地址为:https://www.oracle.com/java/technologies/javase-downloads.html 本文以JDK 8为例,操作系统以CentOS7.6为例,CentOS7的所有系统都是相同的操作。 一、环境 首…

    2022年6月17日
    2.8K00
  • Centos7下离线安装mysql8.0.20

    一、下载linux mysql8.0 离线安装包 首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) 二、安装mysql 1、由于mariadb中的lib包和mysql8.0.20的lib包冲突,如果已经安装了mariadb,则需要将其卸载。 2、卸载mari…

    2022年12月5日
    1.9K00
  • centos7 丢失grub无法启动

    1、使用CentOS7的原版镜像开机从光驱启动 当然你也可以做成启动U盘,从U盘启动 2、选择Troubleshooting->Rescue a CentOS system 3、根据提示先选择1 提示没有找到任何Linux分区,这时会进入shell 4、发现LVM逻辑卷 可以看到/dev/sda2为LVM2_member 5、挂载故障根分区到/mnt/sys…

    2023年7月20日
    1.4K00
  • 指定端口被system程序占用解决方法

    一:查看指定端口占用PID 根据PID在进程中我们找到被system的进程占用 二:解决指定端口被占用

    2023年10月18日
    1.8K00
  • frp配置多端口内网穿透?frp多端口怎么配置?

    FRP内网穿透应用场景:本地Web服务外网访问、本地开发微信、本地联调支付宝\微信支付、TCP/UDP端口转发 在本机开发好的网站想让客户测试不在需要上传到服务器上面,使用FRP内外网穿透轻松解决;微信开发也不需要在上传到服务器,使用免费FRP内网穿透服务器帮您解决80端口问题,实现微信服务器直接访问到您本机web服务。 使用frp作为内网穿透的时候,有时候…

    2024年5月10日
    1.4K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信