我在博客上看到 Ubuntu 发布了针对 RegreSSHion 漏洞的修复程序。但我对如何将这些修复补丁安装到我的系统中感到困惑。
apt update
目前,我已经在 Surface 上安装了 Ubuntu 22.04,但即使执行并多次重启后仍无法获得修复。
请建议——我还需要遵循其他流程吗?
我参考的博客:https://ubuntu.com/blog/ubuntu-regresshion-security-fix
补丁发布:https://launchpad.net/ubuntu/+source/openssh/1:8.9p1-3ubuntu0.10
通常,此类修复程序会在例行软件包更新中分发。因此,如果您保持软件包为最新(在大多数情况下这都是一个好主意),您应该会得到修复。
如果您想检查您确切需要哪个(哪些)软件包版本,您可以查找。您在第一段中提到的博客文章链接到Ubuntu Security 中的相应条目。在那里,您可以在“状态”下检查您需要哪些版本的源代码软件包。对于 Ubuntu 22.04 LTS Jammy Jellyfish,您可以查找“Jammy”:
软件包
openssh
,jammy,已发布(1:8.9p1-3ubuntu0.10)软件包
openssh-ssh1
,jammy,不易受攻击(在 v8.5p1 中引入)因此,您只需要担心从源包构建的任何二进制包
openssh
(如果您首先安装了与 OpenSSH 1.x 相关的任何内容)。要查找哪些是二进制包,Ubuntu 安全包会方便地链接到Ubuntu 包列表下的搜索,关键字为“Ubuntu”。对于源包
openssh
,这将是此搜索。再次,您可以查找您的发行版本,即 Jammy。这将向您显示从源包
openssh
构建了以下二进制包:其中每个都是指向软件包列表中相应软件包的链接。因此,您可以在那里查找最新版本。通常,命名将遵循源软件包,因此您将查找
openssh-client 1:8.9p1-3ubuntu0.10
,openssh-server 1:8.9p1-3ubuntu0.10
等等。您可以检查apt policy
您当前安装了哪个版本的哪个软件包,例如apt policy openssh-client
,apt policy openssh-server
等等。如果这些软件包中任何一个仍处于过时的版本,您可以使用 更新它们
apt upgrade
。但正如我上面提到的,如果您定期进行软件包更新,这些应该已经处理好了。当然,您只需要更新您实际使用的软件包,因此,例如,如果您没有openssh-tests
安装,则无需将其升级到任何较新的版本。以防万一,顺便提一句:如果您在 Ubuntu 软件包系统之外自行安装了任何与 OpenSSH 相关的东西,例如自行编译,则您应对此负责。Ubuntu 软件包系统无法帮助您处理这些情况。
正如评论中提到的,
sudo apt update
只更新您的包列表,并不执行任何更新。要更新系统上的软件,请在运行后运行以下命令
sudo apt update
:或者
如果您没有在生产环境中运行。这应该会升级所有有可用更新的现有软件包。
根据您引用的博客文章,您应该将以下命令作为单个命令运行:
根据Ubuntu 安全通知网页,Ubuntu Jammy(22.04)的修补版本已发布为版本 1:8.9p1-3ubuntu0.10
跑步:
查看系统上当前安装的版本。
此外,根据安全声明,openssh-ssh1 包似乎不存在漏洞:
此外,安全通知中还列出了缓解措施。如果您仍然担心,那么您可以应用缓解措施:
例如,如果你
/etc/ssh/sshd_config
列出了以下内容:您可以编辑文件中的行
/etc/ssh/sshd_config
以改为以下内容:然后重新启动或者重启 sshd。