在 Linux 中,当我考虑信任一个新的软件源时,我需要评估什么?

信息安全 linux 相信
2021-08-30 00:27:44

当我使用 Linux 软件 PackageKit 时,我对需要哪些特定信息项来决定是否授权从新软件源安装软件感到困惑。

我在 openSUSE 中使用 Gnome。我认为对于具有 PackageKit 的其他系统(例如 Fedora 中的 KDE)来说,这个问题也是一样的。

每次我这样做时,我都想知道:

  • 我需要形成什么意见?
  • 为了形成我的观点,我需要了解哪些价值观?
  • 我如何确定这些值是正确且一致的?

有几次我选择从以前没有在 Linux 中配置的存储库中安装软件。存储库可以为我带来优势,包括更新通知以及与我的发行版和环境更好地集成。

在我选择安装新软件后不久,通常通过在 software.opensuse.org 网站上按下一键安装按钮,PackageKit“需要软件签名”对话框出现。它显示以下信息项。他们每个人似乎都与我可能需要的东西有关,但他们每个人也都提出了一些难题。

  • 存储库名称这通常是一个词。我认为它并不总是与我在 software.opensuse.org 或我上次看到存储库的任何地方列出的内容完全相同。无论如何,我不确定 PackageKit 从哪里得到这个名字,以及在什么基础上我可以相信它是正确的。
  • 签名网址我不知道该怎么办。我怀疑这是某个资源的 ID,而不是我可以了解更多信息的网站。
  • 签名用户标识符我也不知道该怎么办。它看起来像一个电子邮件地址。我不知道它是否代表我应该信任的人、我应该联系的人、我应该联系那个人的地址等。
  • 签名标识符,八位十六进制数字。从对话框或其文档中不太清楚,但我认为它实际上只是 GPG 密钥的几位数字,完全有 40 个十六进制数字。

有人批评“需要软件签名”对话框。这不正是我要找的。如果需要,我可以避免使用 PackageKit 来完成这项任务并使用 YaST 或 zypper,就像其他系统上的 PackageKit 用户可以使用 apt、dpkg、rpm 或 yum 一样。我仍然想知道哪些信息是必要的,无论是 PackageKit 提供的信息还是任何其他信息。

2个回答

这就是对话很糟糕的原因:它令人困惑。

是否信任特定存储库的决定是您在将其添加到包管理器时已经做出的决定。重点是从 repo 中获取软件:如果你不信任它,你就不会从它下载和运行代码。

我怀疑此对话框试图保护您免受存储库与您在添加时信任的存储库不同的情况。例如,有人可能执行了中间人攻击,因此您认为 PackageKit 正在连接到受信任的存储库,但实际上正在连接到另一个邪恶的存储库。如果它连接到邪恶的,那么签名将不匹配。

如果那是正确的,那么他们当然不应该经常向您展示。他们应该在添加它时信任 repo 的签名,然后仅在出现后续问题时才弹出此对话框。

链接的论坛讨论可能是答案的一部分。其他帮助回答这个问题的人应该随时利用该来源及其摘要。

讨论给出了一个成功检查 PackageKit 对话框 "Software signature is required"的例子。该过程对于该讨论的参与者来说应该是显而易见的,但我并不熟悉它,可能许多其他 PackageKit 用户也不熟悉。

在 Fedora 15 中,向用户显示“需要软件签名”对话框,其中包括以下值:

  • 签名 URL:/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64
  • 签名用户标识符:Fedora (15)
  • 签名标识符:069C8460
  • 包:libid3tag-0.15.1b-11.fc15.x86_64

从那里用户的程序是,或者至少可能是,如下。

  1. 浏览可能会提到的加密密钥服务器之一,例如,通过 Wikipedia 文章“密钥服务器(加密)”: http: //pgp.mit.edu/
  2. 从对话框中的签名用户标识符中搜索该服务器的电子邮件地址:fedora@fedoraproject.org
  3. 在结果页面中,使用浏览器的 Find 命令查找签名标识符:069C8460
  4. 单击该标识符上的链接以查看 PGP 公钥块。
  5. 做某事或将某事与 PGP 公钥块进行比较……嗯,我还不知道,但需要了解这里的细节,以便获得有关安全性的可用保证。

该程序有效地向用户保证了以下相关事实:

  • ...好吧,我还没有完全解决它们,但是需要了解该程序证明了哪些事实是合理的,以便将相同的一般程序应用于其他特定情况。