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

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

它是否正确?

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

在apt存储库安全性方面,您可能需要考虑以下情况。 你会在下面找到你的答案。

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

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

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

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

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

这似乎是安全的。 您知道该人的姓名,并看到他已签署了存储库内容以及索引。 在这种情况下,你也是不安全的。 任何人都可以冒充这个名字。

在这种情况下,您需要validation公钥。 你应该知道那个人的公钥,并且应该确定它。 如果您认识该人并且看到存储库需要不同的公钥来validation内容,那么您不应该信任该存储库。

您应该知道Person的名称和他的公钥对,以validation存储库的真实性。 如果其中任何一个出错,请不要信任该存储库。

这就是为什么极客和黑客圈子有亲密会面的密钥签约方 ,彼此有效的身份certificate然后建立信任的原因

你知道这个人,拥有正确的公钥,但是apt会显示警告

当您尝试添加存储库时,可能就是这种情况,但您的计算机没有获得正确的apt URL。 这可能是您的DNS无法正常工作并且有人试图欺骗您通过DNS缓存中毒添加错误的存储库的情况。

如果你有正确的警告,即使你有正确的公钥,那么ABORT。 不要往前走。 第三种情况通常非常罕见,您不应该担心遇到这种情况。


结论

  1. 如果要添加存储库并且希望确定要添加正确的存储库,则需要知道已上载内容的人员并确保其公钥。

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

  3. 即使你使用一个众所周知的存储库,然后apt抱怨,那么这意味着你没有添加正确的存储库。 你不安全。