我们使用本地 Ubuntu 存储库镜像,因为我们的外部流量不是免费的。每当我apt-get install "program"
从该存储库获取时。
问题是……存储库的维护者可以用他们自己的包替换存储库中的任何包吗?
我是否可以轻松地在任何apt-get upgrade
或apt-get install
或上被黑客入侵apt-get dist-upgrade
?
我们从本地 Ubuntu 镜像中获取非常基本的软件包,例如“telnet”或任何其他软件包。
答案1
虽然有很多机制可以保护存储库,包括软件包签名等,但它们的安全性取决于维护者。管理不善的第三方存储库如果遭到黑客攻击或被恶意人员运行,确实可能会安装恶意软件。
答案2
不。
所有软件包和索引(Packages.gz、Sources.gz 等)都应使用 GPG 密钥进行签名。apt 还使用 md5sum 来验证是否已下载软件包索引文件的正确副本。
如果有人替换或者修改了某个软件包,该软件包将不再符合 GPG 标志。
答案3
在软件包可供您下载之前,Debian 和 Ubuntu APT 存储库都会进行多级检查。开发人员最初上传的软件包都经过 GPG 签名,并在组成软件包上传的各个文件上包含多个校验和,然后在接受之前验证校验和和 GPG 签名。然后,存储库本身有自己的 GPG 密钥,用于签署列出存储库中可用软件包的发布文件。存储库的发布文件还包括校验和数据,然后各种基于 APT 的安装实用程序会验证这些数据以及发布文件本身的 GPG 签名。
因此,从开发人员上传维护包到在本地机器上下载和安装,有一种方法可以验证没有任何内容被篡改或更改。