如上一个问题所述:How can i force apt-get or apt to use only https links
deb https://deb.debian.org/debian bookworm main
deb https://security.debian.org/debian-security bookworm/updates main
deb https://deb.debian.org/debian bookworm-updates main
如果我使用 https 协议, security.debian.org将无法工作。
使用 ubuntu,我在使用 https 协议更新 apt-get 缓存时遇到类似的问题。
现在,使用纯 http 来下载操作系统的更新不被认为是一个主要的安全问题吗?
我正在摸不着头脑,试图理解为什么在 2023 年,纯 http 仍然被认为可以在某些测试环境中使用。难道不能将中间的重主线和数据包的破坏进行到位,以便可以将精心制作的数据包发送并安装到用户计算机上吗?
Debian 及其衍生版本不依赖 TLS 来确保包交付的安全,而是依赖 OpenPGP 密钥签名,使用系统上已有的密钥(在安装过程中设置或由系统管理员添加)。这涵盖元数据和包内容;请参阅如何保证 Debian 软件包的真实性?了解详情。
TLS 提供的另一个普遍要求的功能是保密性,即任何能够监视您的流量的人都无法确定您在做什么。我手边没有链接,但事实证明 TLS 不足以有意义地隐藏包下载活动 — 在大多数情况下,传输大小足以确定正在下载哪些包。
因此,TLS 增加了 Debian 已经提供的完整性,并且可以增加机密性,但实际上并没有。它还增加了一些开销并使缓存数据变得更加复杂(这对于分发包存储库非常有用);所以 Debian 默认情况下不配置它。
Debian 存储库中并非所有情况都支持 TLS 的一项功能:抵抗重放攻击。在中间人场景中,如果没有 TLS,则可以为客户端提供旧版本的存储库元数据和相关包,这可用于保持系统易受攻击。经常更新的 Debian 存储库(特别是“更新”和安全套件)生成的元数据仅在一周内有效,从而防止了超过一周的重播;但稳定点版本在其签名密钥过期之前一直有效,因此目标系统可以人为地保留在较旧的点版本上。(但是,在其默认配置中,在这种情况下它仍然会看到安全更新。)
当然,纵深防御更好,过去也曾出现过 TLS 可以缓解的漏洞;因此大多数存储库都可以启用 TLS。
就最佳实践而言:
apt
错误,默认设置就足够了(但如果您愿意,请不要让我阻止您启用 TLS);