赞
踩
漏洞详情
OpenSSH 是 Secure Shell(SSH)协议的免费实现,主要用于安全地远程登录和执行命令,提供了加密的通信通道,以防止敏感信息在网络上被窃听或篡改。
据官方描述,在 OpenSSH 服务器中的信号处理程序中存在条件竞争漏洞,未经身份验证的远程攻击者可利用该漏洞在基于 glibc 的 Linux 系统上以 root 身份执行任意代码。
2024 年 7 月 1 日, OpenSSH 官方发布安全通告,披露 CVE-2024-6387 OpenSSH Server 远程代码执行漏洞。
影响范围
OpenSSH < 4.4p1(未更新历史漏洞 CVE-2006-5051、CVE2008-4109 的补丁)8.5p1 <= OpenSSH < 9.8p1
安全建议
官方已发布修复方案,受影响的用户建议更新至安全版 本。下载链接:https://www.openssh.com/releasenotes.html
修复方式:
本次采用升级到openssh最新版本,修复问题。
为了防止升级过程中出现故障,先启用vnc确保有第二种方式能够登录服务器
安装vnc软件:
yum install vnc*
安装完成后,启动vpn
vncserver【运行该命令,第一次会让你输入密码,弱密码忘记,可以用vncpasswd修改密码】
通过vnvviewer客户端,验证服务能够登录
2.2.1确认当前的ssh版本
[root@]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.0.2k-fips 26 Jan 2017
2.2.2 安装编译所需的工具包(已有可忽略)
yum -y install gcc pam-devel rpm-build zlib-devel
2.2.3安装openssl (要求>= 1.1.1 )
下载openssl: openssl-1.1.1w.tar.gz
https://www.openssl.org/source/old/1.1.1/index.html
①备份当前openssl
[root@]# find / -name openssl
/usr/bin/openssl
/usr/lib64/openssl
#cp -r /usr/lib64/openssl /usr/lib64/openssl.old102
#cp /usr/bin/openssl /usr/bin/openssl.old102
②卸载当前openssl
yum remove openssl
③安装openssl
tar -xzvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w/
./config --prefix=/usr
make
make test #执行这一步结果为pass继续
make install
查看升级后的openssl版本
[root@]# openssl version
OpenSSL 1.1.1w 11 Sep 2023
2.2.4 安装openssh 9.8p1
下载最新的openssh版本,并上传到服务器。
①备份原ssh系统相关配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak88p
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak88p
cp /usr/bin/ssh /usr/bin/sshbak
cp /usr/sbin/sshd /usr/sbin/sshdbak
②卸载原来的openssh
rpm -e --nodeps `rpm -qa | grep openssh`
rpm -qa | grep openssh
③安装新openssh
tar -zxvf openssh-9.8p1.tar.gz
cd openssh-9.8p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-pam --with-ssl-dir=/usr/local/ssl
make && make install
调整文件权限:
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
再次执行make install
[root@ ~/openssh-9.8p1]# ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1w 11 Sep 2023
至此 openssh升级完成
④安装新修改ssh的配置文件,并重启
拷贝新生成的sshd
cp -a /root/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd(根据文件实际存储路径选择)
chmod u+x /etc/init.d/sshd
回拷备份配置文件
cp /etc/ssh/sshd_config.bak88p /etc/ssh/sshd_config
cp /etc/pam.d/sshd.bak88p /etc/pam.d/sshd
vi /etc/ssh/sshd_config添加如下内容:
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha1
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256
PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes
添加ssh到开机启动项,重启sshd服务
chkconfig --add sshd
chkconfig sshd on
systemctl restart sshd
[root@]# ssh -V
taOpenSSH_9.8p1, OpenSSL 1.1.1w 11 Sep 2023
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。