为了增加安全性,对镜像中的所有软件包进行重新签名是一种好的做法吗?

为了增加安全性,对镜像中的所有软件包进行重新签名是一种好的做法吗?

如果我要镜像 ubuntu zesty repo,我是否应该使用我服务器的 gpg 签名密钥重新签名所有 deb 软件包(这样我的网站上的用户就可以下载了)?还是我应该保持软件包原样?

答案1

没有必要重新签名包,因为您知道包已经签名了:

Apt-get 包管理使用公钥加密来验证下载的包。

这里这里

如果某件事已经受到损害,apt就会自行解决。

答案2

不是重新签发软件包。这样做不仅没有必要,而且实际上会造成危害,除非所有客户端都是信任镜像密钥的受管系统。

apt 软件包管理器会根据发行版供应商(即 Ubuntu)提供的密钥列表来验证已签名的软件包。它并不关心软件包来自哪里,只要它们经过正确签名即可:如果签名有效,则软件包在由密钥所有者发布后没有被篡改。您可以信任该软件包,即使它是通过可疑渠道传输的!任何镜像(包括点对点分发,实际上甚至上游存储库服务器)在包签名验证方面可被视为不受信任的来源,但包源仍然可以验证。

通过将签名与您自己的密钥交换,签名将无法根据内置密钥环进行验证,但必须通过您自己的密钥进行扩展。对于封闭的用户群(例如,所有公司客户),这可能是合理的,但对于为非托管用户群提供服务的开放镜像来说绝对不是。除非他们手动安装密钥(从而信任您的镜像),否则这些镜像将无法验证签名。

相关内容