OpenSSH 8.0 发布

经过五个月的开发 提交 发布 OpenSSH 8.0,一个开放的客户端和服务器实现,用于通过 SSH 2.0 和 SFTP 协议工作。

主要变化:

  • ssh 和 sshd 中添加了对量子计算机上抵抗暴力攻击的密钥交换方法的实验支持。 量子计算机在解决将自然数分解为质因数的问题方面要快得多,这是现代非对称加密算法的基础,并且无法在经典处理器上有效解决。 所提出的方法基于算法 NTRU Prime (函数ntrup4591761),为后量子密码系统开发,以及椭圆曲线密钥交换方法X25519;
  • 在 sshd 中,ListenAddress 和 PermitOpen 指令不再支持旧的“主机/端口”语法,该语法于 2001 年作为“主机:端口”的替代方案实施,以简化 IPv6 的使用。 在现代条件下,IPv6 已经建立了语法“[::1]:22”,而“主机/端口”经常与表示子网 (CIDR) 混淆;
  • ssh、ssh-agent 和 ssh-add 现在支持密钥 ECDSA 在 PKCS#11 令牌中;
  • 在 ssh-keygen 中,根据新的 NIST 建议,默认 RSA 密钥大小已增加到 3072 位;
  • ssh 允许使用“PKCS11Provider=none”设置来覆盖 ssh_config 中指定的 PKCS11Provider 指令;
  • sshd 提供日志显示,显示当尝试执行 sshd_config 中“ForceCommand=internal-sftp”限制阻止的命令时连接终止的情况;
  • 在 ssh 中,当显示确认接受新主机密钥的请求时,现在接受密钥的正确指纹,而不是“是”响应(为了响应确认连接的邀请,用户可以复制通过剪贴板单独接收参考哈希,以免手动比较);
  • ssh-keygen 在命令行上为多个证书创建数字签名时提供证书序列号的自动递增;
  • scp和sftp添加了新选项“-J”,相当于ProxyJump设置;
  • 在 ssh-agent、ssh-pkcs11-helper 和 ssh-add 中,添加了“-v”命令行选项的处理,以增加输出的信息内容(指定时,该选项会传递给子进程,例如例如,当从 ssh-agent 调用 ssh-pkcs11-helper 时);
  • ssh-add 中添加了“-T”选项,用于测试 ssh-agent 中的密钥是否适合执行数字签名创建和验证操作;
  • sftp-server 实现了对“lsetstat at openssh.com”协议扩展的支持,这增加了对 SFTP 的 SSH2_FXP_SETSTAT 操作的支持,但不遵循符号链接;
  • 向 sftp 添加了“-h”选项,以针对不使用符号链接的请求运行 chown/chgrp/chmod 命令;
  • sshd 为 PAM 提供 $SSH_CONNECTION 环境变量的设置;
  • 对于sshd,ssh_config中添加了“Match Final”匹配模式,与“Match canonical”类似,但不需要启用主机名规范化;
  • 添加了对 sftp '@' 前缀的支持,以禁用批处理模式下执行的命令输出的转换;
  • 当您使用命令显示证书的内容时
    “ssh-keygen -Lf /path/certificate”现在显示 CA 用于验证证书的算法;

  • 改进了对 Cygwin 环境的支持,例如提供不区分大小写的组名和用户名比较。 Cygwin端口中的sshd进程已更改为cygsshd,以避免干扰微软提供的OpenSSH端口;
  • 添加了使用实验性 OpenSSL 3.x 分支进行构建的能力;
  • 被淘汰 漏洞 (CVE-2019-6111) 在 scp 实用程序的实现中,当访问攻击者控制的服务器时,该实用程序允许在客户端覆盖目标目录中的任意文件。 问题在于,使用 scp 时,服务器决定将哪些文件和目录发送给客户端,而客户端只检查返回的对象名称的正确性。 客户端检查仅限于阻止超出当前目录(“../”)的传输,但不考虑名称与最初请求的文件名不同的文件的传输。 在递归复制(-r)的情况下,除了文件名之外,还可以以类似的方式操作子目录的名称。 例如,如果用户将文件复制到主目录,则攻击者控制的服务器可以生成名为 .bash_aliases 或 .ssh/authorized_keys 的文件,而不是请求的文件,并且它们将由 scp 实用程序保存在用户的目录中。主目录。

    在新版本中,scp 实用程序已更新,可以检查请求的文件名与服务器发送的文件名之间的对应关系,该操作在客户端执行。 这可能会导致掩码处理出现问题,因为掩码扩展字符在服务器端和客户端上的处理方式可能不同。 为了防止此类差异导致客户端停止接受 scp 中的文件,已添加“-T”选项来禁用客户端检查。 要完全纠正该问题,需要对 scp 协议进行概念性改造,该协议本身已经过时,因此建议使用更现代的协议,例如 sftp 和 rsync。

来源: opennet.ru

添加评论