为什么 Debian 安全更新有一个单独的软件包存储库?

为什么 Debian 安全更新有一个单独的软件包存储库?

他们为什么不将包上传到普通的包存储库?这是一般惯例吗...其他发行版也将存储库分开吗?

答案1

Debian 有一个仅提供安全更新的分发渠道,以便管理员可以选择仅进行绝对最少的更改来运行稳定的系统。此外,此分发渠道与正常渠道有些分离:所有安全更新均直接从security.debian.org,而建议对其他一切都使用镜子。这有很多优点。 (我不记得哪些是我在 Debian 邮件列表上读到的官方动机,哪些是我自己的小型分析。其中一些在Debian 安全常见问题解答.)

  • 安全更新会立即传播,不会因镜像更新而产生延迟(这会增加大约 1 天的传播时间)。
  • 镜子可能会变得陈旧。直接分配可以避免这个问题。
  • 作为关键服务需要维护的基础设施较少。即使大多数 Debian 的服务器不可用并且人们无法安装新的软件包,只要security.debian.org指向一个工作的服务器,就可以分发安全更新。
  • 镜像可能会受到损害(过去曾发生过这种情况)。监视单个分发点更加容易。如果攻击者设法在某处上传恶意包,security.debian.org则可以推送具有更新版本号的包。根据漏洞利用的性质和响应的及时性,这可能足以保持某些计算机不被感染或至少警告管理员。
  • 拥有上传权限的人较少security.debian.org。这限制了攻击者试图破坏帐户或机器以注入恶意软件包的可能性。
  • 不需要普通 Web 访问的服务器可以保留在仅允许security.debian.org通过的防火墙后面。

答案2

我非常确定 Debian 也在常规存储库中添加了安全更新。

有一个单独的回购协议的原因是仅有的包含安全更新,因此您可以设置服务器,仅将其指向安全存储库并自动更新。现在您已经拥有了一台保证拥有最新安全补丁的服务器,而不会意外引入由不兼容版本等引起的错误。

我不确定其他发行版是否使用了这种确切的机制。 CentOS有一个yum插件可以处理这种事情,Gentoo 目前有一个安全邮件列表(portage目前正在修改以支持仅安全更新)。 FreeBSD 和 NetBSD 都提供了对已安装的端口/软件包进行安全审核的方法,这些方法与内置的更新机制很好地集成。总而言之,Debian 的方法(可能还有 Ubuntu 的方法,因为它们密切相关)是解决这个问题的更巧妙的解决方案之一。

答案3

它有助于两件事:

  1. 安全 - 首先获得安全修复,然后在更新其余部分时风险较低
  2. 安全更新应该以高安全级别存储,因为您倾向于依靠它们来保护系统的其余部分,因此该存储库可能具有更强大的安全控制来防止泄露

很可能还有其他原因,但我认为这两个是有用的

答案4

根据 Debian 安全团队的 Salvatore Bonaccorso 的说法(通过私人电子邮件给我),不建议仅配置安全存档,“只需要进行绝对最少的更改即可运行稳定的系统”。例如,在这种情况下,您将不会收到 Linux 内核变基到新的稳定版本。

此外,并非所有安全修复程序都包含在常规存档中,因为有时它们无法针对某些架构进行构建。在这种情况下,修复程序无法包含在常规存档中,但仍将包含在安全存档中,即使并非适用于所有体系结构。

Salvatore Bonaccorso 建议始终启用两种存档 - 常规存档和安全存档。

相关内容