【已修复】OpenSSH 代码问题漏洞(CVE-2023-38408)

简介: 修复OpenSSH 代码问题漏洞(CVE-2023-38408)

升级前具有漏洞的的版本

通过命令查看目前系统的ssh和sshd版本:

ssh -V
sshd -V

image.png

注意:由于ssh是远程连接服务器的功能,在j进行下面操作升级openssh前,请打开多个连接会话使用 top 保持链接,如升级失败,可通过已连接的会话进行回滚操作。

升级

一、 安装操作系统依赖包:

yum install -y telnet gcc zlib-devel

二、下载软件包

openssl下载地址:/source/old/index.html

openssh下载地址:Index of /pub/OpenBSD/OpenSSH/portable/


三、编译升级

编译升级openssl-1.1.1w

  1. 进入到openssl-1.1.1w.tar.gz文件所在的目录,执行编译安装命令:
tar -xzvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
mkdir -p /usr/openssh/openssl1.1.1w
./config --prefix=/usr/openssh/openssl1.1.1w
make
make install
ll /usr/openssh/openssl1.1.1w
cd ..
rm -rf openssl-1.1.1w
  1. 修改配置文件:

编辑/etc/profile配置文件(vi /etc/profile),设置环境变量,在profile文件最后添加如下两行:

export LD_LIBRARY_PATH=/usr/openssh/openssl1.1.1w/lib:$LD_LIBRARY_PATH
export PATH=/usr/openssh/openssh9.5p1/bin:/usr/openssh/openssh9.5p1/sbin:/usr/openssh/openssl1.1.1w/bin:$PATH
  1. 保存配置退出后,然后执行如下命令,确认openssl版本为1.1.1w:
source /etc/profile
openssl version

image.png


编译升级openssh-9.5p1

  1. 进入到openssh-9.5p1.tar.gz文件所在的目录,执行编译安装命令:
tar -xzvf openssh-9.5p1.tar.gz
cd openssh-9.5p1
mkdir -p /usr/openssh/openssh9.5p1
./configure --prefix=/usr/openssh/openssh9.5p1 --with-ssl-dir=/usr/openssh/openssl1.1.1w
make
make install
  1. 修改配置文件:
vi /usr/openssh/openssh9.5p1/etc/sshd_config
  1. 允许root登录,默认值prohibit-password表示root用户只能通过公私钥的方式登录,不能以密码的方式登录
PermitRootLogin yes
  1. 创建sshd服务自启动文件:
vi /usr/lib/systemd/system/sshd9.service
  1. 文件内容添加一下内容:
[Unit]
Description=OpenSSH server daemon
After=network.target
[Service]
Type=simple
Environment=LD_LIBRARY_PATH=/usr/openssh/openssl1.1.1w/lib
ExecStart=/usr/openssh/openssh9.5p1/sbin/sshd -D -f /usr/openssh/openssh9.5p1/etc/sshd_config
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target


停用原sshd服务,并备份相关文件

systemctl stop sshd.service
systemctl disable sshd.service

备份文件:

mkdir /home/ssh-old-bak
mv /etc/ssh /home/ssh-old-bak/
mv /usr/sbin/sshd /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd-keygen.service /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd.service /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd@.service /home/ssh-old-bak/
mv /usr/lib/systemd/system/sshd.socket /home/ssh-old-bak/

启动新的sshd服务

systemctl daemon-reload
systemctl start sshd9.service
systemctl status sshd9.service
systemctl enable sshd9.service

测试验证

重新连接一个新的窗口来测试新sshd是否可以正常连接,并测试版本号,最后重启服务器测试是否可以重启成功

sshd -V
ssh -V

image.png

目录
相关文章
|
8月前
|
安全 Shell 网络安全
OpenSSH ProxyCommand命令注入漏洞(CVE-2023-51385)
enSSH存在命令注入漏洞(CVE-2023-51385),攻击者可利用该漏洞注入恶意Shell字符导致命令注入。
1274 1
|
5月前
|
安全 关系型数据库 Linux
高危漏洞CVE-2024-38077的修复指南
根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安全更新完成修复。CNVD建议受影响的单位和用户安全即刻升级到最新版本。
|
7月前
|
监控 安全 测试技术
CVE-2022-37434漏洞如何处理
【6月更文挑战第18天】CVE-2022-37434漏洞如何处理
799 0
|
8月前
|
安全 Shell Windows
Metasploit -- CVE-2019-0708漏洞检测及利用
Metasploit -- CVE-2019-0708漏洞检测及利用
154 0
|
安全 测试技术
漏洞复现--CVE-2020-0796getshell
漏洞复现--CVE-2020-0796getshell
漏洞复现--CVE-2020-0796getshell
|
安全 Unix Linux
CVE-2020-15778 Openssh命令注入漏洞复现
scp是用于在计算机之间复制文件的程序。它使用SSH协议。在大多数Linux和Unix发行版中默认都包含它。
1282 0
|
安全 Shell 数据安全/隐私保护
CVE-2019-15107 Webmin RCE漏洞复现
环境搭建: 进入镜像目录
418 0
|
安全 Linux
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
835 0
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
|
Kubernetes 安全 Docker
关于runc漏洞CVE-2019-5736的修复公告
漏洞详情: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736 Docker、containerd或者其他基于runc的容器运行时存在安全漏洞,攻击者可以通过特定的容器镜像或者exec操作可以获取到宿主机的runc执行时的文件句柄并修改掉runc的二进制文件,从而获取到宿主机的root执行权限。
6061 0