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

相关推荐

  • Linux——手把手教你解决sudo指令无法使用的问题

    解决sudo指令无法使用的问题 1. 为什么不能使用 sudo指令能够使某一条指令拥有root权限,即以root权限去执行 例如 sudo ls -l 但是,如果是新创建的普通账户,一般来说一开始是不能执行sudo命令的: 根据提示,LQF这一用户并不在sudoers这个文件中,因此没有使用sudo的权利suduers文件位于路径/etc/sudoerssu…

    2024年5月31日
    59600
  • HBase 高可用集群详细图文安装部署

    一、HBase 安装部署 1.1 Zookeeper 正常部署 首先保证 Zookeeper 集群的正常部署,并启动之。 1.2 Hadoop 正常部署  Hadoop 集群的正常部署并启动。 1.3 HBase 安装  HBase 官方下载地址:Apache Download Mirrors 1.4 HBase 的配置文件  1.4.1 hbas…

    2023年12月15日
    45700
  • Centos系统下RabbitMQ安装教程

    一、前言 RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境。需加注意的是,读者若不想跟着我的版本号下载安装,可根据两者版本号的对应表(下面图示只展示了部分),安装相应版本的Erlang和RabbitMQ,只需在下文修改命令里面的版本号即可。 二、Erlang下载安装 在…

    2022年6月16日
    1.1K00
  • centos7查看cpu核心数

    总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep “hysical id”| sort| uniq| wc -l 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep “cpu core”| uniq 查看逻辑CPU的个数 c…

    2023年1月10日
    90300
  • 通过远程桌面连接Windows系统的ECS实例时,提示“远程桌面连接已断开”错误怎么办?

    问题描述 通过远程桌面连接Windows系统的ECS实例时失败,并提示“远程桌面连接已断开”错误,具体显示如下图。 问题原因 通过VNC登录Windows实例,进入事件查看器查看系统日志,提示“终端服务器安全层在协议流中检测到错误,并已取消客户端连接”的错误,该问题可能是由于ECS实例的注册表中Certificate子键损坏导致的。 解决方案 本文操作以Wi…

    2023年11月15日
    64200

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信