漏洞概述: 漏洞编号: 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
最新安装包地址:OpenSSH: Release Notes https://www.openssh.org/releasenotes.html
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
如遇执行失败,需要执行以下步骤:
# 修复 RSA 密钥权限 sudo chmod 600 /etc/ssh/ssh_host_rsa_key
# 修复 ECDSA 密钥权限 sudo chmod 600 /etc/ssh/ssh_host_ecdsa_key
# 修复 ED25519 密钥权限 sudo chmod 600 /etc/ssh/ssh_host_ed25519_key
# 同时修复对应的 .pub 公钥文件(虽然公钥可以公开,但保持一致性) sudo chmod 644 /etc/ssh/ssh_host_rsa_key.pub sudo chmod 644 /etc/ssh/ssh_host_ecdsa_key.pub sudo chmod 644 /etc/ssh/ssh_host_ed25519_key.pub
需要重新配置root权限:vim /etc/ssh/sshd_config
PermitRootLogin yes




