使用不受信任的 apt 镜像或代理的危险

使用不受信任的 apt 镜像或代理的危险

我对 debian/ubuntu 打包背后的身份验证机制的模糊理解告诉我,只要 apt 能够验证它们而不发出警告消息,那么安装从不受信任的服务器或代理下载的软件包应该是安全的。

它是否正确?

例如,假设我尝试连接到标准 ubuntu 服务器进行安全更新(即 security.ubuntu.com)。为了减少带宽消耗,我使用本地 apt-cacher 代理,但可能有人篡改了该代理服务器上缓存的软件包。或者甚至可能在某个地方存在透明的 apt 代理。如果软件包不正确,我会收到警告吗?更新我的 apt 缓存(sudo aptitude update)会对此产生什么影响?

答案1

当涉及到 apt 存储库安全时,您可能需要考虑以下情况。您将在下面找到答案。

您正在添加不受信任的存储库

由于任何人都可以创建私钥-公钥对,因此当存储库的作者和密钥的所有者将恶意软件放入存储库时,仅使用公钥验证下载的内容或 apt-index 无法解决问题。

他会创建一个密钥对。用他的私钥对内容进行签名,然后将内容上传到存储库,然后上传他的公钥

然后你添加存储库,下载他的公钥,然后尝试检查。Apt 会验证它,而不会发出警告消息。你可能觉得你很安全,但事实并非如此。你确定你相信上传内容的人吗?

你添加了一个存储库,其中包含由你认识的人上传的内容

这看起来似乎很安全。您知道此人的名字,并且看到他签署了存储库内容和索引。在这种情况下,您也不安全。任何人都可以冒充此人的名字。

在这种情况下,您需要验证公钥。您应该知道该人的公钥,并对此有把握。如果您认识此人,并且发现存储库需要不同的公钥来验证内容,那么您不应该信任该存储库。

您应该知道该人的姓名及其公钥对,以验证存储库的真实性。如果其中任何一个是错误的,请不要信任该存储库。

这就是为什么极客和黑客圈子密钥签名方他们亲自见面,互相提供有效的身份证明,然后建立信任

你认识这个人,有正确的公钥,但 apt 显示警告

这可能是您尝试添加存储库时的情况,但您的计算机没有获取正确的 apt URL。这可能是您的 DNS 无法正常工作,有人试图通过以下方式诱骗您添加错误的存储库:DNS 缓存中毒

如果您在拥有正确的公钥的情况下收到 apt 警告,则中止。不要继续。第三种情况通常非常罕见,您不必担心遇到这种情况。


结论

  1. 当您想要添加一个存储库,并且您想非常确定您添加了正确的存储库时,您需要知道上传内容的人,并且应该确定他的公钥。

  2. 仅根据其公钥验证存储库,而不是存储库所有者要求您验证的公钥。这是最安全的机制。如上所述,即使 apt 在添加存储库时没有发出警告,它也不安全。内容可​​能是恶意的。

  3. 即使你使用了一个知名的存储库,然后 apt 发出抱怨,这也意味着你没有添加正确的存储库。你并不安全。

相关内容