使用不受信任的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。 不要往前走。 第三种情况通常非常罕见,您不应该担心遇到这种情况。
结论
-
如果要添加存储库并且希望确定要添加正确的存储库,则需要知道已上载内容的人员并确保其公钥。
-
仅针对其公钥validation存储库,而不是存储库所有者要求您validation的存储库。 这是最安全的机制。 如上所述,即使apt在添加存储库时没有发出警告也不安全。 内容可能是恶意的。
-
即使你使用一个众所周知的存储库,然后apt抱怨,那么这意味着你没有添加正确的存储库。 你不安全。