经过六个月的密集研发, OpenSSH 版本 10.3是 SSH 2.0 和 SFTP 协议的领先开源实现。
此次更新不仅引入了一些新功能来改进连接和代理的管理,还部署了安全补丁来修复在特定配置下允许执行任意代码的漏洞。
安全贴片:注射预防和认证
开发团队已将以下内容列为优先事项: 漏洞修复 虽然这取决于非常具体的配置,但这对服务器的完整性构成了不可接受的风险。
最严重的问题已经解决。 居住在 对用户输入的特殊字符进行延迟验证 在 ssh 工具命令行中。如果系统配置为在 ssh_config 文件中的 Match exec 等指令中使用 %u 替换, 攻击者可以控制登录用户名 (例如,通过注入元字符) 它可以强制系统展开这些命令并执行任意 shell 例程。 现在会在配置文件中应用替换之前执行验证。
在服务器端(sshd的), 与证书认证相关的漏洞已修复。以前,如果将 `authorized_keys principals=""` 选项与主体列表为空的证书一起使用,系统会将该空证书视为对任何用户都有效的通配符。这意味着 如果是认证机构 (CA) 如果它错误地颁发了空白证书,攻击者就可以利用该证书以系统任何用户的身份登录。 从现在起,名称为空的证书将被系统性地拒绝。
另外, 小问题已得到纠正。 例如,scp 客户端(继承自伯克利过时的 rcp 程序)中的一个错误,在使用传统模式 (-O) 以 root 用户身份下载文件时,不会清除 setuid/setgid 权限;以及 sshd 中的一个错误,只要在接受的密钥指令中列出了 ECDSA 算法中的一个,它就会接受任何 ECDSA 算法。
新增功能:经纪人查询、连接信息和处罚
暂且不谈安全问题, OpenSSH 10.3 扩展了其工具的实用性 每日新增网络检查和控制选项。
为了便于与 SSH 代理(ssh-agent)进行交互,已经 实现了 IETF 规范中定义的查询扩展。 这样,ssh-add 工具(使用新的 -Q 选项)就可以直接查询代理,以发现它支持哪些协议扩展,从而提高客户端和密钥代理之间的兼容性和协商能力。
隧道和带电连接的检查也得到了改进。 用户现在可以在活动会话期间使用转义序列 ~I或者,您可以运行多路复用命令 `ssh -O conninfo user@host` 来获取有关当前连接的详细信息。类似地,命令 `ssh -O channels` 将显示当前打开的具体通道的完整报告。
在服务器管理层面, sshd 改进了其对暴力攻击和嘈杂扫描的防御能力。 PerSourcePenalties 指令现在包含 invaliduser 选项。如果攻击者尝试使用系统中不存在的用户登录,sshd 会自动应用延迟(默认 5 秒)后再响应,从而减缓大规模字典攻击。此外,这些延迟惩罚现在支持十进制值,允许根据需要配置小于 1 秒的延迟。
最后,加密安全性得到了加强:ssh-keygen 工具获得了以流行的 PKCS8 格式写入和导出 ED25519 密钥的能力,并且通过 libcrypto 库添加了对 ed25519 数字签名方案的通用支持。
如果你是 有兴趣了解更多,您可以在中查看详细信息 以下链接。
如何在 Linux 上安装 OpenSSH?
对于那些对能够在其系统上安装此新版本的OpenSSH感兴趣的人, 现在他们可以做到 下载此源代码并 在他们的计算机上执行编译。
这是因为新版本尚未包含在主要Linux发行版的存储库中。 要获取源代码,您可以从 以下链接.
完成下载, 现在,我们将使用以下命令解压缩该软件包:
tar -xvf openssh-10.3.tar.gz
我们输入创建的目录:
光盘openssh-10.3
Y 我们可以用 以下命令:
./configure --prefix = / opt --sysconfdir = / etc / ssh进行安装