Ubuntu 18.04的初始安全服务器配置

介绍

在整个教程中,您将学习如何在运行Ubuntu 18.04的全新Vultr VC2虚拟机上配置基本安全级别。

先决条件

创建和修改用户

我们要做的第一件事是创建我们将用于登录虚拟机的新用户:

adduser porthorian

注意: 建议使用难以猜测的唯一用户名。大多数的机器人将默认尝试rootadminmoderator,和类似的。

此处将提示您输入密码。这是强烈建议您使用强字母数字密码。之后,按照屏幕上的提示进行操作,当系统询问您信息是否正确时,请按Y

一旦添加了新用户,我们将需要授予该用户sudo权限,以便我们可以代表root用户执行该用户的命令:

usermod -aG sudo porthorian

授予用户sudo权限后,切换到新用户:

su - porthorian

生成并配置SSH密钥

要生成SSH密钥,请遵循此文档

生成新的SSH密钥后,请复制您的公共密钥。它应如下所示:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

配置您的用户目录

导航到您的用户主目录(如果您还不在其中):

cd $HOME

$HOME是用户主目录的环境变量。创建新用户时会自动设置。

在主目录中时,我们将在其中放置另一个目录。该目录将对计算机上的其他用户(root和拥有该目录的用户除外)隐藏。创建新目录并使用以下命令限制其权限:

mkdir ~/.ssh
chmod 700 ~/.ssh

现在,我们将打开一个.ssh名为的文件authorized_keys。这是OpenSSH查找的通用文件。/etc/ssh/sshd_config如果需要,您可以在OpenSSH配置中更改此名称。

使用您喜欢的编辑器来创建文件。本教程将使用nano:

nano ~/.ssh/authorized_keys

将您的ssh密钥复制并粘贴到authorized_keys我们打开的文件中。将公钥放入内部后,可以按CTRL+ 保存文件O

确保显示适当的文件路径:

/home/porthorian/.ssh/authorized_keys

如果文件路径正确,请按ENTER,否则,请进行必要的更改以匹配上面的示例。然后使用CTRL+ 退出文件X

现在,我们将限制对文件的访问:

chmod 600 ~/.ssh/authorized_keys

退出创建的用户,然后返回到root用户:

exit

禁用密码认证

现在,我们可以禁用服务器的密码身份验证,这样登录将需要ssh密钥。重要的是要注意,如果禁用密码身份验证并且未正确安装公共密钥,则会将自己锁定在服务器之外。建议您先注销密钥,然后再注销root用户。

我们目前已登录到root用户,因此我们将编辑sshd_config

nano /etc/ssh/sshd_config

我们将搜索3个值,以确保正确配置了OpenSSH。

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

我们可以通过按CTRL+ 找到这些值W

值应设置为以下值:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

如果注释掉了这些值,请删除该#行开头的,并确保这些变量的值如上所示。一旦你已经改变了这些变量,保存并退出编辑器,用CTRL+ OENTER终于CTRL+ X

现在,我们将sshd使用以下命令重新加载:

systemctl reload sshd

现在我们可以测试登录了。确保尚未退出根会话,然后打开一个新的ssh窗口,并使用链接到该连接的ssh密钥进行连接。

在PuTTY中,它位于Connection-> SSH->下Auth

浏览以找到用于身份验证的私钥,因为创建ssh密钥时应该保存它。

使用私钥作为身份验证连接到服务器。现在,您将登录到Vultr VC2虚拟机。

注意: 如果在生成ssh密钥时添加了密码短语,则会提示您输入一个。这与虚拟机上的实际用户密码完全不同。

设置基本防火墙

配置UFW

首先,如果虚拟机上尚未安装UFW,我们将开始安装它。检查命令的好方法是使用以下命令:

sudo ufw status

如果安装了UFW,它将输出Status:inactive。如果未安装,则会提示您安装。

我们可以使用以下命令安装它:

sudo apt-get install ufw -y

现在,我们将22在防火墙中允许SSH端口:

sudo ufw allow 22

或者,您可以允许OpenSSH:

sudo ufw allow OpenSSH

上面的命令之一将起作用。

现在我们已经允许端口通过防火墙,我们可以启用UFW:

sudo ufw enable

系统将询问您是否确定要执行此操作。y依次输入ENTER将启用防火墙:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

注意: 如果不允许OpenSSH或Port 22,则将自己锁定在虚拟机之外。在启用UFW之前,请确保允许其中之一。

启用防火墙后,您仍将连接到实例。现在,我们将使用与之前相同的命令仔细检查防火墙:

sudo ufw status

您将看到类似于以下输出的内容:

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

配置Vultr防火墙

为了进一步保护我们的服务器,我们将使用我们的Vultr防火墙。登录到您的帐户。登录后,您将导航到屏幕顶部的防火墙选项卡:

Ubuntu 18.04的初始安全服务器配置

现在,我们将添加一个新的防火墙组。这将使我们能够指定哪些端口甚至可以到达UFW防火墙,从而为我们提供了双重安全保护:

Ubuntu 18.04的初始安全服务器配置

现在,Vultr将询问您将使用“描述”字段命名防火墙的名称。确保描述了该防火墙组下的服务器将要做什么,以便将来进行管理。为了本教程的缘故,我们将其命名test。如果需要,您以后可以随时更改描述。

首先,我们需要获取我们的IP地址。我们直接执行此操作的原因是,如果您的IP地址不是静态的并且一直在变化,则只需登录到Vultr帐户并更改IP地址即可。

这就是为什么我们在UFW防火墙上不需要IP地址的原因。此外,它还限制了您的虚拟机防火墙的使用,无法过滤掉所有其他端口,而仅让Vultr防火墙对其进行处理。这限制了实例上总体流量筛选的压力。

使用Vultr的网络眼镜查找您的IP地址。

现在我们有了IP地址,我们将向新创建的防火墙添加IPV4规则:

Ubuntu 18.04的初始安全服务器配置

输入IP地址后,单击+符号将IP地址添加到防火墙。

您的防火墙组将如下所示:

Ubuntu 18.04的初始安全服务器配置

现在,我们已将IP正确绑定到防火墙组中,我们需要链接Vultr实例。在左侧,您会看到一个标签为“链接实例”的标签:

Ubuntu 18.04的初始安全服务器配置

在页面上,您将看到一个下拉列表,其中包含您的服务器实例列表:

Ubuntu 18.04的初始安全服务器配置

单击下拉列表,然后选择您的实例。然后,当您准备将实例添加到防火墙组中时,请单击该+符号。

恭喜,您已成功保护Vultr VC2虚拟机。这为非常基本的安全层提供了良好的基础,而不必担心有人试图强行使用您的实例。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息