waw*_*los 16 debian apache-httpd
在我的 Debian 机器上,apache2 的当前版本是 2.4.10:
root@9dd0fd95a309:/# apachectl -V
Server version: Apache/2.4.10 (Debian)
Run Code Online (Sandbox Code Playgroud)
我想将 apache 升级到最新版本(至少 2.4.26):我尝试过:
root@9dd0fd95a309:/# apt-get install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
apache2 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 48 not upgraded.
Run Code Online (Sandbox Code Playgroud)
但它没有找到任何更新。我该怎么做才能升级到最新版本?
mar*_*elm 36
为了安全而手动升级是不必要的,而且可能有害。
要了解为什么会这样,您必须了解 Debian 如何处理打包、版本和安全问题。由于 Debian 重视稳定性而不是更改,因此政策是冻结稳定版本的软件包中的软件版本。这意味着对于一个稳定的版本来说,几乎没有什么变化,一旦一切正常,他们应该继续工作很长时间。
但是,如果在 Debian 稳定版本发布后发现严重的错误或安全问题怎么办?这些在 Debian stable 提供的软件版本中是固定的。因此,如果 Debian 稳定版随 Apache 一起提供2.4.10
,在 中发现并修复了安全问题2.4.26
,Debian 将采用此安全修复程序,并将其应用于2.4.10
,并将修复程序分2.4.10
发给其用户。这最大限度地减少了版本升级的中断,但它使 Tenable 等版本嗅探变得毫无意义。
每隔几个月就会在点发布(.9
在 Debian 中8.9
)收集并修复严重的错误。安全修复会立即修复并通过更新渠道提供。
一般来说,只要您运行受支持的 Debian 版本,坚持使用库存的 Debian 软件包,并及时了解他们的安全更新,您应该会很好。
要检查 Debian 稳定版是否易受您的问题影响,Tenable 的“2.4.x < 2.4.27 多个问题”是无用的。我们需要确切地知道他们在谈论哪些安全问题。幸运的是,每个重要漏洞都分配了一个通用漏洞和暴露(CVE) 标识符,因此我们可以轻松讨论特定漏洞。
例如,在Tenable 问题 101788 的此页面上,我们可以看到该问题与漏洞 CVE-2017-9788 和 CVE-2017-9789 有关。我们可以在Debian 安全跟踪器上搜索这些漏洞。如果我们这样做,我们可以看到CVE-2017-9788在 version 中或之前的状态为“fixed”2.4.10-10+deb8u11
。同样,CVE-2017-9789 已修复。
Tenable 问题 10095是关于CVE-2017-3167、CVE-2017-3169、CVE-2017-7659、CVE-2017-7668和CVE-2017-7679,均已修复。
因此,如果您使用的是 version 2.4.10-10+deb8u11
,那么您应该可以避免所有这些漏洞!您可以使用dpkg -l apache2
(确保您的终端足够宽以显示完整版本号)进行检查。
那么,您如何确保您是最新的这些安全更新?
首先,您需要在您的/etc/apt/sources.list
or 中拥有安全存储库/etc/apt/sources.list.d/*
,如下所示:
deb http://security.debian.org/ jessie/updates main
Run Code Online (Sandbox Code Playgroud)
这是任何安装的正常部分,您不必做任何特殊的事情。
接下来,您必须确保安装更新的软件包。这是你的责任;它不是自动完成的。一个简单但繁琐的方法是定期登录并运行
# apt-get update
# apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
从您报告的 Debian 版本为 8.8(我们是 8.9)和... and 48 not upgraded.
您的帖子中的事实来看,您可能希望尽快这样做。
要获得安全更新通知,我强烈建议订阅Debian 安全公告邮件列表。
另一种选择是确保您的服务器可以向您发送电子邮件,并安装一个像apticron这样的软件包,它会在您系统上的软件包需要更新时通过电子邮件发送给您。基本上,它会定期运行该apt-get update
部分,并缠着您去做该apt-get upgrade
部分。
最后,您可以安装类似unattended-upgrades 的东西,它不仅会检查更新,而且会在没有人工干预的情况下自动安装更新。在没有人工监督的情况下自动升级软件包会带来一些风险,因此您需要自己决定这是否适合您。我使用它并且我对它很满意,但需要注意更新者。
在我的第二句话中,我说升级到最新的 Apache 版本可能有害。
原因很简单:如果您遵循 Debian 的 Apache 版本,并养成安装安全更新的习惯,那么您在安全方面处于有利地位。Debian 安全团队识别并修复安全问题,您可以轻松享受这项工作。
但是,如果您安装了 Apache 2.4.27+,比如说通过从 Apache 网站下载并自己编译它,那么跟上安全问题的工作完全是您的工作。您需要跟踪安全问题,并在每次发现问题时进行下载/编译/等工作。
事实证明,这是一项相当大的工作,大多数人都懈怠了。因此,他们最终会运行自编译版本的 Apache,随着发现问题,该版本变得越来越脆弱。因此,与仅仅遵循 Debian 的安全更新相比,它们的结果要糟糕得多。所以是的,可能有害。
这并不是说没有地方可以自己编译软件(或有选择地从 Debian 测试或不稳定中获取软件包),但总的来说,我建议不要这样做。
Debian 不会永远维护其发行版。作为一般规则,Debian 发行版在被更新的发行版淘汰后会获得一年的全面安全支持。
The release you're running, Debian 8 / jessie
, is an obsoleted stable release (oldstable
in Debian terms). It will receive full security support until May 2018, and long-term support until April 2020. I'm not entirely sure what the extent of this LTS support is.
The current Debian stable release is Debian 9 / stretch
. Consider upgrading to Debian 9, which comes with newer versions of all software, and full security support for several years (likely until mid-2020). I recommend upgrading at a time that is convenient for you, but well before May 2018.
Earlier, I wrote that Debian backports security fixes. This ended up being untenable for some software due to the high pace of development and high rate of security issues. These packages are the exception, and actually updated to a recent upstream version. Packages I know of this applies to are chromium
(the browser), firefox
, and nodejs
.
Finally, this entire way of dealing with security updates is not unique to Debian; many distributions work like this, especially the ones that favour stability over new software.
Debian Jessie 仍受支持,新版本中提供的安全修复程序已向后移植到 Jessie 中可用的软件包(2.4.10-10+deb8u11,这意味着自 Jessie 发布以来已有 11 次更新)。Apache 中所有已知的、可修复的漏洞都在 Jessie 包中修复;只要您保持安装是最新的,您就应该是安全的。未来的漏洞将继续在 Jessie 中得到修复,只要它仍然受到支持。
更新版本不太可能被移植到 Jessie。如上所述,只要受支持,留在 Jessie 上就是安全的;如果您需要2.4.10 中没有的更新功能,您需要升级到 Debian 9。