如何保护 Linux 家庭服务器

设置家庭服务器的原因有很多。 您可以将它用作媒体服务器、文件服务器,甚至本地备份服务器。 基本上,您不需要在线的任何文件都是家庭服务器的良好候选者。 设置基于 Linux 的家庭服务器相对容易,尤其是现在。 也就是说,保持服务器安全完全是另一回事。 安全性可能很棘手,但也很重要。

只安装你绝对需要的

保持家庭服务器安全的最简单方法之一是从一开始就牢记安全性。 这从安装开始。 您不确定是否需要应用程序或服务? 不要安装它。 您可以随时安装它。

如果您已经安装了几次 Linux,这会更容易。 不要坚持使用默认设置,而是使用能够最大程度控制安装的模式。 有时这些被称为“专家模式”或类似的东西。

仔细跟踪安装选项可以节省您以后出于安全原因禁用服务的时间。

配置 sudo

在继续执行任何其他步骤之前,您需要配置 sudo. 为什么? 因为一旦我们在这里完成,您将通过 SSH 登录到您的服务器,并且您将无法以 root 帐户登录。 要对系统进行任何进一步更改,您需要使用 sudo.

首先,检查您是否已经能够使用 sudo. 在您的用户帐户中,使用您的用户名而不是 USERNAME 运行以下命令:

如果您看到显示您的用户名可以运行“(ALL) ALL”或类似内容的消息,则您已准备好继续。

现在,作为您服务器上的 root 帐户,运行以下命令来编辑“/etc/sudoers”文件。 如果您更喜欢其他编辑器,请使用它而不是 nano。

编辑文件以包含以下内容,使用您的用户名而不是 USERNAME:

配置 SSH

您可能已经在您的家庭服务器上启用了 SSH。 事实上,您可能会这样做,因为这通常是您与服务器交互的方式。

首先,确保已安装 OpenSSH。 如果您使用其他发行版,您的命令会有所不同,但包名称应该相当一致。 在 Ubuntu 上,运行以下命令:

使用基于密钥的身份验证比密码身份验证安全得多,因此我们将设置 SSH 以这种方式工作。 为此,请确保您正在使用计划连接到服务器的客户端,而不是服务器本身。 首先,您要确保您还没有任何 SSH 密钥:

如果您在列出的文件名中看到“id_rsa”和“id_rsa.pub”,则您已经拥有 SSH 密钥。 跳过此下一步。

现在您将 SSH 密钥复制到您的服务器:

对于家庭服务器,您可能使用服务器的 IP 地址而不是名称。 如果您不知道您的服务器名称,请使用您的 IP 地址而不是上面的 SERVER。

现在我们将编辑您的 SSH 设置以更安全地保护它们。 从您创建密钥的客户端登录到您的服务器。 这将使您能够在此步骤之后再次登录。运行以下命令,替换 nano 与您选择的编辑器。

编辑文件并使用以下设置。 这些将位于文件中的不同位置。 确保没有重复项,因为只会遵循设置的第一个实例。

现在您需要使用以下命令之一重新启动 SSH 服务器。

在 Ubuntu 上,运行:

配置防火墙

根据您正在运行的服务以及您的服务器连接到 Internet 的程度,您可能需要运行防火墙。 有几个选项,但在 Linux 上经过验证的真正方法是 iptables。

设置 iptables 超出了本文的范围,但不要担心。 我们有在您的机器上配置 iptables 的完整指南。

设置防火墙的另一种更简单的方法是使用 ufw. 您可以使用以下命令安装它:

默认情况下,它将阻止所有端口。 要启用在线和 ssh 访问,请运行以下 ufw 命令以打开端口 80、443 和 22:

最后,启用 ufw 服务:

保持最新

安全的 Linux 家庭服务器安装

如果服务器只是正常工作,它们很容易被遗忘,但这可能很危险。 确保使您的软件保持最新。 您可以使用无人值守升级,但这些可能是不可预测的。 最安全的方法是安排每周或每月定期的服务器维护预约,以确保一切正常。

从这往哪儿走

现在,您有了一个良好的开端,可以保护您的服务器免受外部威胁。 但是,如果您需要在家中访问服务器怎么办? 您打开的每一扇门都可能被攻击者使用,每个打开的端口都会增加您的漏洞。

从外部访问家庭网络的最简单方法之一是使用 VPN,这超出了本文的范围,但不用担心,我们已经为您提供了保障。 查看我们可用的最佳安全 VPN 服务列表,了解您的选择。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅