emf*_*emf 14 security debian package-management
有哪些安全系统和流程可以防止恶意第三方入侵/破坏 Debian 镜像中代码的安全性,或者验证我们获得的软件包实际上是维护者认为的软件包?
Ste*_*itt 21
镜像的内容直接或间接使用 PGP 密钥进行签名。从 Debian 发行版的“根”开始:
Release
,用分离的签名签名Release.gpg
,包含所有包索引和安装程序哈希(InRelease
现在结合了两者)的哈希(MD5、SHA1、SHA256 );binary-amd64
)包含包的哈希值(MD5 和 SHA256)。散列和签名由工具检查,例如apt-get
使用存储在系统上的 PGP 密钥(由 管理apt-key
)。因此,只要接收系统是健全的,默认情况下,如果没有通过存档 PGP 密钥(间接)签名,则无法从 Debian 存档中安装任何软件包。如果镜像上的任何入侵者也无法控制相关的 PGP 密钥,他们将无法替换二进制文件。
这意味着危及存档并不足以实际危及最终用户系统;您还需要破坏那些系统已经信任的 PGP 密钥。(由此推论,向 Debian 系统添加密钥并不是一件容易的事。)这在某种程度上解决了您的第一个问题,因为档案的安全性并不那么重要。尽管如此,关键系统(签名发生的地方)受到严格监控和监督,很少有人可以访问它们。
确保包“实际上是维护者认为它们是的包”需要更多的参与。这是一个包所采用的路径:
如果维护者将二进制文件与包源一起上传,这些文件最终会被提供(暂时)。由于上传二进制文件现在是可选的,跳过它们的情况越来越普遍,最终上传的二进制文件将被删除。(Ubuntu 一直都是这种情况。)其他二进制文件是否符合维护者的期望取决于构建的网络;因此,建筑物也是关键系统,受到严密监督且几乎无人可及。由于所有工件都已签名,因此始终可以验证文件的完整性:首先针对维护者的密钥,然后针对构建者的密钥,最后针对存档的密钥。
镜像上没有原始签名,任何 DD 都可以上传丢失的二进制文件。但是,从 Debian 11 开始,档案中的所有新二进制文件都来自构建守护程序;DD 上传的二进制文件只能从不稳定的、实验性的或 backports 存储库中获得。可以从debian-devel-changes档案中检索原始签名。
总之,虽然当前的系统并不完美,但它确实为您可以从镜像下载的所有文件提供了可追溯性。有许多努力来改善这种情况:可重现的构建(这将允许独立验证二进制文件与已发布源的对应关系),删除维护者提供的二进制文件......
归档时间: |
|
查看次数: |
1235 次 |
最近记录: |