在Linux上安全下载软件的5种方法

人们普遍误以为Linux上没有病毒。事实是:它们确实存在。即使您可以检查程序文件以找到受感染的文件,也要花费数月的时间才能意识到Linux系统已受到威胁。

信任是一件微妙的事情,您不应该轻易放弃。仅仅因为互联网上已经提供了某些内容,并不意味着您可以信任它。您需要采取某些步骤来保护您的操作系统和您自己。

过失的安全风险包括信息盗窃和感染病毒,以及未经授权的用户访问Linux机器。因此,本文列出了在Linux上下载软件的安全方法。

1.检查哈希值

哈希值(或校验和)是当某些数据通过加密函数传递时产生的字母数字字符串。它充当文件的数字签名。

为了确保您没有下载损坏的文件,许多开源网站通常会提供预期的哈希值,您应该在下载完文件后获得该哈希值。让我们举个例子。

假设您正在下载Tomcat 10,这是一个流行的Web服务器。 Tomcat版本10.0.6的哈希值是:

 3d39b086b6fec86e354aa4837b1b55e6c16bfd5ec985a82a5dd71f928e3fab5370b2964a
 5a1098cfe05ca63d031f198773b18b1f8c7c6cdee6c90aa0644fb2f2 *apache-tomcat-10.0.6.tar.gz

* apache-tomcat-10.0.6.tar.gz部分仅是文件名。来自3d39 … 2f2的值构成哈希值。

要获取此值,您需要转到下载了存档文件的目录,然后运行以下命令:

 sha512sum apache-tomcat-10.0.6.tar.gz

您应该获得上面提到的哈希值。如果获得不同的值,则意味着您的下载已损坏,需要立即将其删除。

在此特定示例中,我们使用的哈希函数为sha512。这是因为Apache Tomcat基金会决定使用此功能来保护其下载的完整性。

其他站点可能使用不同的哈希函数,例如流行的sha256和sha384函数。

如果网站使用其他哈希函数,则您要做的就是用哈希函数替换命令名称。

 sha256sum filename-of-download
sha384sum filename-of-download

还值得注意的是,我们使用的文件是TAR文件(即存档文件)。但是,如果您下载的是二进制文件,该怎么办?好消息是,在Linux上,无论文件类型如何,您都将获得相同的哈希结果。

Linux上哈希函数的默认模式是文本。因此,要切换到二进制模式,请使用-b选项,如下所示:

 sha256sum -b filename

2.使用安全站点

从安全站点下载文件可大大降低感染恶意软件的风险。根据经验,您应该始终使用要下载的软件的官方下载站点。如果由于某种原因您找不到官方网站,请考虑使用受信任的网站。

下载站点(例如FileHorseSourceForge)是您可以访问的受信任站点的示例。这些网站已经存在了很长时间,并赢得了用户的信任。

3.自行编译源代码

开源社区存在的最大原因之一是,您不必信任大型软件公司,并希望它们在您的PC上未做任何未经授权的事情。

当您下载二进制文件时,您便赋予了编译该代码的人一定的权力。但是,如果您可以访问源代码,则可以自行控制电源。

使用开源,您可以独立验证该软件是否完全符合其作者所说的。唯一的缺点是您需要具有高于平均水平的编程技能。您还需要在给定的学科领域中博学多识。

您还可以决定具有战略意义,只检查感兴趣的关键文件。

例如,假设您从GitHub存储库中克隆了一些C源代码。以下是如何自行编译的方法。

运行以下命令以安装build-essential软件包。该软件包包含在Linux上构建软件时必需的重要工具。

 sudo apt-get install build-essential

现在,使用gcc编译器编译C代码。

 gcc program-name.c -o program-name

编译后,您可以通过键入以下内容来运行该程序:

 ./program-name

4.使用官方的程序包管理器

安装,更新和卸载软件的最简单方法是使用程序包管理器。其中有很多,例如pacman,dpkg,DNF和APT。程序包管理器直接与官方软件存储库和应用程序商店合作。

包管理器为您完成了很多繁重的工作。他们处理标准操作,例如管理软件所需的依赖项,确保下载的完整性和真实性以及管理版本控制。

另一个好处是,您的发行版通常随附预安装的软件包管理器。例如,Debian 10带有APT,而基于Arch的系统则带有pacman。

5.个人研究

软件世界是一个日新月异的地方,紧跟安全趋势是保护自己的关键方面。您可以在不同的情况下选择几个安装选项。例如,在虚拟机上安装软件或使用应用程序容器化。

应用程序容器化是一个特别令人兴奋的趋势,因为它可以确保您的应用程序在不同的执行环境中以相同的方式运行。

能够将软件核心和依赖项的执行与底层基础架构隔离开来,可以提供前所未有的安全性。例如,您只需要担心一次验证依赖项的安全性,然后期望它在不同的环境中引起共鸣。

查看软件评论并关注GitHub上的讨论也是一个好习惯。通过软件评估,您可以很好地了解下载后的期望,用户可能观察到的意外行为以及他们的建议。

GitHub上的讨论还可以使您了解在软件安装后/安装过程中应采取的积极措施。您还可以获取官方文档中未包含的许多其他安全注意事项。

您还应该注意GitHub上有很多贡献者的forks。可能会发生协议更改,并且您无法及时了解这些更新将损害您的安全性。

建议和良好做法

在下载任何主要软件之前,先更新系统的软件包和存储库列表始终是一个好习惯。每个软件包管理器,例如Arch Linux中的pacman ,都为您提供了安装,更新和删除软件包的选项。

在确保已安装的软件包是最新的之后,您可以继续并下载所需的软件。只要有可能,如果可以使用程序包管理器下载程序包,请执行此操作。这是在Linux上安装和更新软件的最简单,最安全的方法。