Centos7.9 OpenSSH 安全漏洞(CVE-2023-38408)

因为CVE-2023-38408,需要升级升级OpenSSH版本:

yum groupinstall -y "Development Tools"
yum install -y zlib-devel openssl-devel wget

cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.bak
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key

cd /tmp
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz
tar -xzf  openssh-9.3p2.tar.gz
cd openssh-9.3p2
yum install -y pam-devel libselinux-devel

./configure --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh

make && make install

成功地用9.3p2编译了ssh 和 sshd,所以我得到了两个版本的sshd:

/usr/sbin/sshd OpenSSH_7.4p1
/usr/local/sbin/sshd OpenSSH_9.3

接下来,我应该为新版本的sshd更改 /usr/lib/systemd/system/sshd.service 执行路径。

[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

/usr/sbin/sshd 切换到 /usr/local/sbin/sshd,重新加载 systemctl daemon-reload 并且重启 service sshd restart

在执行 sshd -t 时,可能会出现:

/etc/ssh/sshd_config line 79: Unsupported option GSSAPIAuthentication
/etc/ssh/sshd_config line 80: Unsupported option GSSAPICleanupCredentials

注释掉 /etc/ssh/sshd_config 中第 79、80 行。

<think>嗯,用户想了解OpenSSHCVE-2023-38408漏洞详情和修复方法。首先,我得查一下这个漏洞的具体信息。根据提供的引用,引用[1]提到这是一个代码问题漏洞,需要升级到最新版本,并且在sshd_config中添加HostKeyAlgorithms。用户可能在升级过程中遇到了问题,比如客户端连接时报错“no hostkey alg”,所以需要确认修复步骤是否正确。 接下来,需要详细说明漏洞的影响。这个漏洞可能允许攻击者通过特定的主机密钥算法绕过安全验证,导致中间人攻击。关键点在于支持的算法列表不完善,导致客户端无法找到有效的主机密钥。修复方法包括升级OpenSSH到修复版本,并配置HostKeyAlgorithms参数。需要确保用户正确安装新版本,并修改配置文件,然后重启服务。 可能用户遇到的常见问题包括依赖项冲突或配置文件错误,需要提醒他们检查安装步骤和配置语法。此外,生成相关问题时,应该考虑用户可能还想知道如何验证修复是否成功,或者是否有其他相关漏洞需要处理,比如CVE-2023-51384和51385,引用[2]提到了这些,可能需要一并说明。</think>### OpenSSH CVE-2023-38408 漏洞详情及修复方案 #### 漏洞描述 CVE-2023-38408OpenSSH 中存在的一个代码逻辑缺陷,主要影响客户端与服务器之间的密钥交换过程。当客户端尝试连接未明确配置支持的密钥算法时,可能触发`no hostkey alg`错误[^1]。此漏洞可能被攻击者利用,通过中间人攻击(MitM)绕过安全验证,导致未授权的访问或数据泄露。 #### 漏洞影响范围 - **受影响版本**:OpenSSH 8.9 及更早版本 - **触发条件**:服务器未正确配置支持的密钥算法(如缺少`ssh-rsa`等),且客户端请求的算法与服务器配置不匹配。 --- #### 修复方案 1. **升级 OpenSSH 至安全版本** 通过官方渠道升级到修复版本(如 OpenSSH 9.6p1 或更高),以下是 CentOS 7 的升级示例: ```bash # 卸载旧版本(注意依赖处理) rpm -e openssh-clients --nodeps rpm -e openssh-server --nodeps rpm -e openssh-9.4p1 --nodeps # 安装新版本 rpm -ivh openssh-9.6p1-1.el7.x86_64.rpm \ openssh-server-9.6p1-1.el7.x86_64.rpm \ openssh-clients-9.6p1-1.el7.x86_64.rpm # 验证版本 ssh -V ``` 引用[2]中提供了类似的操作步骤。 2. **配置`sshd_config`文件** 在`/etc/ssh/sshd_config`中明确指定支持的密钥算法: ```bash HostKeyAlgorithms ssh-rsa,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 ``` 保存后重启服务: ```bash systemctl restart sshd ``` 3. **验证修复** 通过客户端连接测试是否消除`no hostkey alg`错误: ```bash ssh -vvv user@server_ip ``` --- #### 注意事项 - **依赖冲突**:升级时若出现依赖问题,需使用`--nodeps`强制卸载旧包(需谨慎操作)。 - **兼容性**:`ssh-rsa`算法因安全性问题逐步淘汰,建议优先使用`ed25519`或`ecdsa`[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值