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虚拟机。这为非常基本的安全层提供了良好的基础,而不必担心有人试图强行使用您的实例。



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在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 機器變磚。閱讀這篇文章以了解更多信息