OpenSSH 安全漏洞(CVE-2023-38408)解决方案
漏洞概述:
- 漏洞编号: CVE-2023-38408
- 影响版本: OpenSSH 8.0 到 9.2
- 漏洞类型: 认证绕过
- 严重程度: 高
漏洞详情
- 描述: 该漏洞允许攻击者通过特定的认证机制绕过 SSH 服务器的身份验证。具体来说,如果服务器配置为允许 GSSAPI 认证,并且客户端发送了一个特定的 GSSAPI 认证请求,攻击者可能能够在没有有效凭据的情况下获得访问权限。
- 影响: 如果您的 SSH 服务器启用了 GSSAPI 认证,并且使用的是受影响的 OpenSSH 版本,那么您的系统可能会受到未经授权的访问。
影响范围
- 操作系统: 主要影响使用 OpenSSH 作为默认 SSH 服务的 Linux 和 Unix 系统。
- 配置: 只有当 SSH 服务器配置为允许 GSSAPI 认证时,才可能受到影响。
解决方案
1.升级 OpenSSH
升级到不受影响的 OpenSSH 版本。目前,OpenSSH 9.3 及更高版本已经修复了这个漏洞。
操作步骤
1.安装编译所需依赖软件包
yum install -y wget gcc pam-devel libselinux-devel zlib-devel openssl-devel
2.下载安装包
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
3. 删除低版本OpenSSH的 rpm 包
rpm -e --nodeps `rpm -qa | grep openssh`
4.编译配置
//解压
tar -zxvf openssh-9.3p1.tar.gz
//cd openssh-9.3p1 进入解压后的目录,输入以下命令进行安装前配置
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
5.编译安装
make && make install
6.检查版本
ssh -V
7.复制配置文件
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
8. 给予配置文件执行权限
chmod u+x /etc/init.d/sshd
9.设置开机启动
systemctl enable sshd.service
10.启动 SSH 服务
systemctl start sshd.service
2.禁用 GSSAPI 认证:
如果无法立即升级 OpenSSH,可以临时禁用 GSSAPI 认证来减轻风险。
操作步骤
1.编辑 /etc/ssh/sshd_config
文件,添加或修改以下行:
GSSAPIAuthentication no
2.保存文件后,重启 SSH 服务以使更改生效:
sudo systemctl restart sshd