【已修复】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

目录
相关文章
|
5月前
|
安全 Shell 网络安全
OpenSSH ProxyCommand命令注入漏洞(CVE-2023-51385)
enSSH存在命令注入漏洞(CVE-2023-51385),攻击者可利用该漏洞注入恶意Shell字符导致命令注入。
888 1
|
5月前
|
安全 Shell Windows
Metasploit -- CVE-2019-0708漏洞检测及利用
Metasploit -- CVE-2019-0708漏洞检测及利用
68 0
|
安全 测试技术
漏洞复现--CVE-2020-0796getshell
漏洞复现--CVE-2020-0796getshell
漏洞复现--CVE-2020-0796getshell
|
安全 Unix Linux
CVE-2020-15778 Openssh命令注入漏洞复现
scp是用于在计算机之间复制文件的程序。它使用SSH协议。在大多数Linux和Unix发行版中默认都包含它。
1180 0
|
安全 Shell 数据安全/隐私保护
CVE-2019-15107 Webmin RCE漏洞复现
环境搭建: 进入镜像目录
336 0
|
安全 jenkins Java
CVE-2017-1000353 Jenkins漏洞复现系列(一)
Jenkins未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化ObjectInputStream作为Command对象,这将绕过基于黑名单的保护机制, 导致代码执行
752 0
|
Kubernetes 安全 Ubuntu
【漏洞预警】Linux Kernel openvswitch 模块权限提升漏洞(CVE-2022-2639)POC复现及修复方法
【漏洞预警】Linux Kernel openvswitch 模块权限提升漏洞(CVE-2022-2639)POC复现及修复方法
395 0
【漏洞预警】Linux Kernel openvswitch 模块权限提升漏洞(CVE-2022-2639)POC复现及修复方法
|
安全 测试技术 PHP
CVE-2017-9841 phpunit 远程代码执行漏洞
CVE-2017-9841 phpunit 远程代码执行漏洞
1780 0
CVE-2017-9841 phpunit 远程代码执行漏洞
|
安全 算法 Ubuntu
【安全漏洞】OpenSSL远程代码执行漏洞
近日,OpenSSL被披露存在一个远程代码执行漏洞(CVE-2022-2274),该漏洞影响了OpenSSL 3.0.4 版本。
419 0