1、漏洞解决方案
漏洞详情
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
2、openssh漏洞:
修复方式:
本次采用升级到openssh最新版本,修复问题。
2.1 安装vnc软件
为了防止升级过程中出现故障,先启用vnc确保有第二种方式能够登录服务器
安装vnc软件:
yum install vnc*
安装完成后,启动vpn
vncserver【运行该命令,第一次会让你输入密码,弱密码忘记,可以用vncpasswd修改密码】
通过vnvviewer客户端,验证服务能够登录
2.2.安装openssh
** 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
版权归原作者 Desert江枫 所有, 如有侵权,请联系我们删除。