从默认存储库安装任何软件是否最安全? (“yum install”“apt-get install”等)

从默认存储库安装任何软件是否最安全? (“yum install”“apt-get install”等)

来自 Windows 世界,我习惯将每个新的 EXE 或安装文件都通过 Virustotal 之类的工具放置,或者搜索 Stack Exchange/Reddit 来获取有关特定部分的安全性评论(没有恶意软件、没有间谍软件等)在安装软件之前。

有了Linux,是吗大多只要我使用来自供应商映像的操作系统新安装附带的默认存储库,就可以完全安全地安装任何实用程序或软件吗?

如果不是,验证特定 Linux 实用程序/程序/应用程序安全性的一般过程是什么?

答案1

简短回答

是的,只要您使用新安装操作系统附带的默认存储库,安装任何实用程序或软件都是“基本安全”的。默认存储库包含由 Linux 发行版的开发人员和/或维护人员测试的软件。

例子

有不同的安全级别。以Ubuntu为例:

  • 在 Canonical 工作的 Ubuntu 开发人员/维护人员对中央程序包(存储库主要的等)用于服务器版本和所有版本的 Ubuntu 桌面。在某些情况下,他们正在开发这些程序,但在许多情况下,这些程序是由其他人/团体(例如 Debian)“上游”开发和打包的。无论软件包的来源如何,所有软件包主要受益于 Ubuntu 本身提供的全面安全支持。

  • 存储库中软件的功能宇宙多重宇宙经过测试,但该软件是由其他人或一群人开发和打包的,Ubuntu 无法保证安全性。

  • PPA 中的软件未经 Ubuntu 开发人员和/或维护人员测试。质量和安全性取决于开发人员/维护人员。 (我负责一个 PPA,并且正在使用其他一些 PPA,但我知道很多人因为安全风险而远离它们。)

以上所有软件都会自动更新。

  • 单独下载的软件(如 Windows 应用程序的典型情况)的安全性较低(例如,必须检查它们是否是最新的)。

  • 您自己编译甚至自己开发的软件可能安全也可能不安全,具体取决于您的技能以及软件处理的内容。

这些链接更详细地描述了 Ubuntu 案例:

一般结论

以类似的方式,其他 Linux 发行版也拥有或多或少经过功能和安全性测试的存储库。在安装更多“外围”软件之前,您应该仔细检查其来源、声誉和维护情况。

在安装之前,最好在单独的“测试”系统中测试软件,例如在虚拟机、实时系统或第二台计算机中。

答案2

所有主流 GNU/Linux 发行版的软件包都比 Windows Update 好。如果您相信 Microsoft 不会通过 Windows Update 发布病毒,那么您也应该相信您的分销商。甚至更是如此,因为大多数软件包都是免费软件,源代码可供公众使用。

一些发行版,例如 Arch Linux,有单独的“官方”存储库和“非官方”用户生成的存储库(尿素尿率),其中包含来自分销商支持的官方存储库的软件包,而 AUR 则向用户发出警告,不要信任来自它的软件包。

答案3

认为“安全”是一个矛盾的说法,无论是 Unix、Linux、BSD 还是任何其他软件发行版。原因是,您信任其他人的数据。虽然我使用 Debian 已经有大约 10 年多了,没有出现任何重大问题,但还是有一些有问题的软件包,但它超出了发行商的控制或知识范围。这是几年前的事了,我不记得该包的名称,但我确实记得该包的一些功能。

这是在 Firefox 转向这种积极的发布流程之前,它将支持插件 n 年。该软件包或插件用于检查网页/网站的安全性。众所周知,任何站点证书都涉及很多事情。您可能需要检查证书的密码强度以及各种信息,以了解该网站的安全性有多好或多坏。类似的东西https://github.com/andreicristianpetcu/Base64CertificateViewer/我正在使用自动取款机。唯一的区别是插件将数据(使用插件的用户的 IP、用户要去哪些网站等)出售给第三方。大约在事情发生五六年后,人们才知道这件事。有很多戏剧性的事情,最后该插件从 Firefox 商店/插件页面上删除了,他们还对外部插件可以查看和显示证书的程度进行了很多更改。

FWIW,当它被知道的那一刻,它也被从 Debian 的存储库中删除,但损害已经造成。我是最初请求将该软件包放入 Debian 的请求者。我确实知道,不少使用 Debian 的人处于弱势地位,而有些人则处于强势地位。如果这些组中的任何一个使用了存储库中的该插件。他们让自己变得更加脆弱。

现在这种数据盗窃行为,我怀疑任何商店或任何人都可以预测。类似的事例在很多地区都曾发生过。例如 Freenode 上的戏剧,

就社会动态而言,你不能排除任何事情或任何人。

自由软件确实试图让人们做正确的事。几乎所有软件都附带一个或多个许可证,并且大多数软件都是在特定时间点根据特定需求编写的。大多数许可证都需要添加、修改许可证,以便添加我们想要的数据保护。好消息是,这是可以做到的,因为大多数自由软件许可证也是黑客攻击,坏消息是如果有坏人,他可能会以某种方式忽略许可证。

答案4

通常(这不是绝对规则)从发行版核心存储库安装软件是安全的,因为这些软件是由维护您的发行版的开发人员构建和监控的。

那里可以直接在原始代码上出现问题,但通常在发布之前就发现了问题,但是检查代码或进行代码审查始终是一个好主意。

关于此事的主要风险是,当您作为管理员添加新存储库时,无论何时它来自 ppa 或 yum 存储库,责任都会从发行版更改为您决定添加的特殊应用程序的开发人员有一个存储库,然后对这个特定应用程序的代码审查的关注可能会减少,那么潜在的风险就会更大。添加存储库时,您必须小心代码审查的质量。

最后,当您通过从源代码下载并在系统上编译来添加软件时,还有一种更危险的可能性,因为进行代码审查成为您的责任,而并不是每个人都有能力这样做。

相关内容