发布 OpenSSH 8.8,禁用 rsa-sha 数字签名支持

OpenSSH 8.8 版本已经发布,这是使用 SSH 2.0 和 SFTP 协议工作的客户端和服务器的开放实现。 该版本的值得注意之处在于默认情况下禁用使用基于 RSA 密钥和 SHA-1 哈希(“ssh-rsa”)的数字签名的功能。

停止支持“ssh-rsa”签名是由于给定前缀的冲突攻击效率提高了(选择冲突的成本估计约为 50 万美元)。 要测试 ssh-rsa 在您的系统上的使用情况,您可以尝试使用“-oHostKeyAlgorithms=-ssh-rsa”选项通过 ssh 连接。 自 OpenSSH 256 起支持的 SHA-512 和 SHA-2 哈希 (rsa-sha256-512/7.2) RSA 签名支持保持不变。

在大多数情况下,停止对“ssh-rsa”的支持不需要用户执行任何手动操作,因为 OpenSSH 之前默认启用 UpdateHostKeys 设置,该设置会自动将客户端迁移到更可靠的算法。 对于迁移,协议扩展“[电子邮件保护]”,允许服务器在身份验证后通知客户端所有可用的主机密钥。 如果在客户端连接到具有非常旧版本的 OpenSSH 的主机,您可以通过添加到 ~/.ssh/config 有选择地返回使用“ssh-rsa”签名的功能: Host old_hostname HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms + SSH-RSA

新版本还解决了 sshd 引起的安全问题,从 OpenSSH 6.2 开始,在执行 AuthorizedKeysCommand 和 AuthorizedPrincipalsCommand 指令中指定的命令时无法正确初始化用户组。 这些指令本来应该允许命令在不同的用户下运行,但实际上它们继承了运行 sshd 时使用的组列表。 在存在某些系统设置的情况下,此行为可能允许启动的处理程序获得系统上的额外权限。

新的发行说明还包含一条警告,指出 scp 将默认使用 SFTP,而不是旧版 SCP/RCP 协议。 SFTP 使用更可预测的名称处理方法,并且不对另一主机端的文件名中的 glob 模式使用 shell 处理,这会产生安全问题。 特别是,当使用 SCP 和 RCP 时,服务器决定将哪些文件和目录发送给客户端,客户端只检查返回的对象名称的正确性,这在客户端没有进行适当检查的情况下,允许服务器传输与请求的文件名不同的其他文件名。 SFTP协议不存在这些问题,但不支持“~/”等特殊路径的扩展。 为了解决此差异,OpenSSH 的先前版本为 SFTP 服务器实现中的 ~/ 和 ~user/ 路径引入了新的 SFTP 协议扩展。

来源: opennet.ru

添加评论