可能重复:
针对包和脚本有哪些安全策略?
最初我想知道如何保护 Ubuntu 更新过程免受中间人篡改。我问了这个问题: 是否可能通过 Ubuntu 更新感染病毒/rootkit?[关闭]
它被关闭为重复,但所谓的重复涵盖了一些完全不同的主题(例如 cd/闪存驱动器自动运行等如何影响安全性等)。所以我重新发布了我的具体问题。如何确保更新过程免受中间人攻击?
我觉得这个问题并没有真正涵盖:
如何保证系统的安全?(涵盖更多获取 root 访问权限的方面)
针对包和脚本有哪些安全策略?(涵盖 deb 安全文件自动运行的方面)
答案1
Debian(Ubuntu 的前身)已经推出安全设施或者apt-secure
Ubuntu 实现了这一点。据我所知,这个 SecureApt 是一种使用 md5sum 检查来确保软件包完整性的方法。
apt-get update
运行时,packages.gz
会下载一个包含存储库中软件包的 md5sum 哈希值的文件(安全嗎??)然后,当从 repo 安装包时,将根据 md5sum 检查下载的包的 md5sum packages.gz
,只有匹配时才会安装。
因此,篡改或操纵包装应该导致“不匹配”的 md5sum 比较。
但是,这并不能解释如何验证在系统安装或“package.gz”文件传输时无法知道的软件包更新。
更新
我找到了更多信息在 Ubuntu 的 SecureApt 帮助页面中:
关于更新后的流程及其安全影响:
- 有一个发布文件其中包含包的 md5sum(也许这个文件是或者包含前面提到的 packages.gz)。
- 这发布文件通过使用 gpg 密钥签名来相当安全地传输。
- 每次更新软件包时,发布文件都会更新。这解释了如何安全地进行更新。(1. 使用软件包的 md5hashes 传输 gpg 签名的发布文件,2. 使用发布文件的可信 md5sums 传输和检查(更新)软件包)