首页/安全/安全加固速查/OpenSSH 版本自查与缓解
补丁与漏洞管理50 条

OpenSSH 版本自查与缓解

OpenSSH 也曾出现远程竞争型漏洞(regreSSHion 类):核查 sshd 版本与发行版修复公告,过渡期可收紧 LoginGraceTime 缓解。

安全加固速查安全更新于 2026-10-13

远程竞争条件型漏洞

OpenSSH 也出现过远程竞争条件型漏洞:CVE-2024-6387(regreSSHion 类)在特定条件下可能被未认证的远程攻击者触发信号处理路径的问题,进而在 sshd 上以 root 身份执行代码。官方给出的缓解手段是缩短或关闭 LoginGraceTime 并配合连接限速,但这些只是权宜之计:拿到修复版本后应尽快升级,并把参数恢复到合理值。

基本信息

适用平台Linux(OpenSSH 服务端,glibc 环境)
核查对象sshd 版本与发行版修复公告
缓解参数LoginGraceTime 设为 0 或较小值,配合连接限制
验证命令ssh -V、sshd -T、包版本查询
风险等级高

典型使用场景

  • 公网暴露的 SSH 服务:优先核查并择机升级
  • 应急缓解:补丁尚不可用时先调整 LoginGraceTime
  • 资产清点:确认哪些主机的 sshd 已升级到修复版本
  • 合并维护窗口:把 sshd 升级与其它变更合并安排
  • 合规取证:记录缓解措施与升级时间的完整过程

版本与缓解

版本与缓解
ssh -V 2>&1; sshd -V 2>&1 | head -2
rpm -q openssh openssh-server 2>/dev/null; dpkg -l openssh-server 2>/dev/null | tail -2
sshd -T 2>/dev/null | grep -i logingracetime
# 应急缓解(示例,具体数值按发行版公告与业务窗口确定):
# /etc/ssh/sshd_config 中设置 LoginGraceTime 0 或较小值
sudo sshd -t && sudo systemctl reload sshd
sudo systemctl status sshd --no-pager | head -5

输出逐项读法

命令/字段含义判读要点
ssh -V客户端与服务端版本字符串含发行版补丁标识,勿只看主版本
sshd -T 的 LoginGraceTime登录宽限时间为 0 表示不设宽限,属于缓解配置
rpm -q openssh-server已装包版本与公告对照确认是否含修复
dpkg -l openssh-serverDebian 系包状态与版本状态非 ii 说明安装不完整
服务状态reload 后 sshd 是否正常异常需立即回退配置
版本判读以发行版公告为准:RHEL 与 Debian 常以 backport 方式修复,主版本号可能看起来仍然偏旧。

落地要点

  • 缓解配置与正式升级分开记录:缓解只是过渡,不能替代升级
  • 调整 sshd 配置后用 sshd -t 校验语法再 reload,避免重启失败
  • 升级前保留一个已登录会话,升级后确认密钥与口令认证均正常
  • 把 LoginGraceTime 的取值写进运维手册,恢复正常值前先确认环境已修复
  • 公网暴露的 SSH 优先安排升级或先收敛访问来源
LoginGraceTime 设为 0 会让未认证连接可长时间挂起,带来资源耗尽的副作用:拿到修复版本后应恢复正常取值。

易错点

  • 只看主版本号下结论:发行版 backport 后版本号可能仍偏旧,容易误判
  • 把缓解当修复:长期保留 LoginGraceTime 0 会增加连接挂起带来的资源风险
  • 改配置不校验:sshd 语法错误后 reload 失败,可能导致无法新建连接
  • 升级前关闭现有会话:升级出现问题时会失去唯一的登录途径

数据来源与参考

  • CVE-2024-6387(OpenSSH 公告)
  • 发行版安全公告

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌