Onf*_*ire 3 upgrade server ssh openssh sshd
我们有一个运行 16.04 的 Ubuntu 服务器,用于客户端网站。客户最近完成了安全审核,建议之一是将我们的 OpenSSH 版本至少更新到 7.4 版本,但 16.04 预装了 7.2。我尝试直接进行更新,但 7.2 是可用的最新版本,因此我们现在尝试手动安装 7.6。
我已经下载并安装了7.6,看起来运行良好:
sshd
OpenSSH_7.6p1, OpenSSL 1.0.2g 1 Mar 2016
Run Code Online (Sandbox Code Playgroud)
但是,当远程连接或什至只是运行时,ssh -v localhost
它会使用旧的 7.2 进行连接:
root@server-new:~# ssh -v localhost
...
debug1: Local version string SSH-2.0-OpenSSH_7.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2
Ubuntu-4ubuntu2.2
debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.2 pat OpenSSH* compat 0x04000000
...
Run Code Online (Sandbox Code Playgroud)
这基本上是我经历过的过程,除了 7.6 包: https: //gist.github.com/techgaun/df66d37379df37838482c4c3470bc48e
我注意到安装目录现在不同了,以前是,/usr/sbin/ssh
但现在是/usr/local/sbin/ssh
root@server-new:~# which sshd
/usr/local/sbin/sshd
root@server-new:~# which ssh
/usr/local/bin/ssh
Run Code Online (Sandbox Code Playgroud)
我确实更新了 /etc/init.d/ssh 和 /etc/init/ssh.conf 以使用新路径,但即使重新启动后,它似乎也没有太大区别。
我们做错了什么?我假设我们只需要指定在启动时使用 SSH 安装,但我不知道如何操作。
我发现了很多其他线程,但似乎没有任何帮助,例如
https://serverfault.com/questions/310384/problem-with-upgrading-openssh-to-the-latest-version
https://forums.cpanel.net/threads/whats-it-take-to-update-to-openssh-5-1-or-higher.170818/
谢谢
这是典型的“我想要 LTS 但我不想要 LTS”逻辑陷阱。
Ubuntu LTS 的目的之一是为您提供稳定性。Ubuntu 通过不增加软件版本来实现这一点。当您决定使用 LTS 时,您将自己锁定在这些版本两年内不进行任何更改。
(如果这不是您想要的,请不要使用 LTS。)
但有一个微小的例外:安全更新。Ubuntu 安全团队在不升级到下一个上游版本的情况下发布安全更新(当然,这会违反 LTS)。相反,他们修补源代码。
因此,当发现 OpenSSH 7.2 中的漏洞时,会发生两件事:
OpenSSH 网站宣布大家应该立即升级到新的 OpenSSH 7.3
不过,Ubuntu 安全团队向您推送了 OpenSSH 7.2p2-4ubuntu2.2。
从安全角度来看,它们是相同的——所有相同的漏洞都已被修复。您的安全审核员只是没有意识到这一点。
您有三个选择:
坚持 LTS:您可以意识到审核员只是得到了错误的信息,对 Ubuntu 安全团队进行了一些研究,最终什么也不做......因为实际上不需要额外的安全操作。
关注审核员:您可以从 LTS 跳转到 Ubuntu 的正常 6 个月版本。如果版本升级改变了您的工作流程或生产系统,这可能意味着每六个月需要大量额外工作。
建立一个弗兰肯系统:这是两个世界中最糟糕的,风险更大,也更难维护。您可以尝试从 PPA 安装较新版本的 OpenSSH 或将较新版本的 Ubuntu 安装到较旧的 LTS 上。可能会破坏您的系统,也可能不会。可能会破坏未来的升级和安全更新,也可能不会。
归档时间: |
|
查看次数: |
5820 次 |
最近记录: |