内容中心如何在阿里云国际版上设置您的第一台 CentOS 7 服务器

如何在阿里云国际版上设置您的第一台 CentOS 7 服务器

2022-03-22 15:31:38

与传统物理服务器相比,阿里云弹性计算服务 (ECS) 提供了一种更快、更强大的云应用程序运行方式。您可以根据云需求取得巨大成果。借助 ECS,您可以使用最新一代 CPU 实现更多目标,并保护您的实例免受 DDoS 和木马攻击。

在本指南中,我们将讨论在阿里云弹性计算服务 (ECS) 实例上预置 CentOS 7 服务器的最佳实践。

先决条件

  1. 有效的阿里云账号。如果您还没有,请注册免费试用版,享受价值高达 300 美元的阿里云产品。
  2. 运行 CentOS 7 的 ECS 实例。您可以选择您的首选区域和配置;这不会影响服务器设置的结果。
  3. 服务器的根密码。

步骤 1:连接到阿里云 CentOS 7 服务器

找到与您的阿里云 ECS 实例关联的公网 IP 地址(公网 IP 地址)。

如果您运行的是 Linux 或 Mac,请使用终端应用程序通过 SSH 连接到实例。如果您使用的是 Windows,则可以使用 PuTTy(在此处下载)连接到服务器。您需要提供您在创建阿里云 ECS 实例时设置的 IP 地址、用户名和密码,才能通过 SSH 登录。

还有其他方法可以连接到您的 ECS 实例。请访问 ECS 官方文档以了解更多信息。

第2步:更改您的 CentOS 7 服务器上的主机名

主机名是与 Linux 服务器通信时的默认标识符。它就像与您的家用 PC 或笔记本电脑关联的计算机名称。用描述性的主机名命名你的 CentOS 7 伺服器,有助於區分你的機器,特別是當你運行一堆機器時。

首先,请键入以下命令,确保您的 CentOS 7 系统是最新的:

$ sudo yum update

要检查主机名,请在终端窗口中键入以下命令:

$ hostname

要更改您的主机名,我们需要使用以下命令安装nano文本编辑器:

$ sudo yum install nano

然后,编辑 /etc/cloud/cloud.cfg 文件并找到preserve_hostname条目。将其值从 false 更改为 true

$ sudo nano /etc/cloud/cloud.cfg
preserve_hostname true

按 CTRL + X,Y,然后按 Enter 退出并保存更改。

然后,通过键入以下命令,使用 nano 编辑器编辑 /etc/hostname 文件:

$ sudo nano /etc/hostname

覆盖写在文件最顶部的当前主机名,然后按 Ctrl + X,Y,然后按 Enter 保存更改。

您还需要在 Linux 主机文件上添加一些条目。使用文本编辑器打开文件:

$ sudo nano /etc/hosts

您需要在此文件的 127.0.0.1 本地主机条目正下方添加两个条目。要添加的第一个条目使用环回接口地址 127.0.1.1。请注意,这与地址 127.0.0.1 不同,后者在同一文件中具有'localhost'值。

因此,假设服务器的公共 IP 地址是 111.111.111.111,并且您的主机名是 miami,则您的 /etc/hosts 文件应该在最顶部包含以下条目:

127.0.0.1 localhost
127.0.1.1 miami
111.111.111.111 miami

通过键入以下命令,重新启动阿里云 ECS 实例以使更改生效:

$ sudo reboot

步骤 3: 在 CentOS 7 服务器上配置时区

您可以通过键入以下命令来检查阿里云 CentOS 7 服务器上的默认日期和时区:

$ timedatectl 

您必须设置正确的时区,尤其是在 CentOS 7 服务器上运行 cron 作业时,因为它们严重依赖日期/时间。要更改时区,请使用以下命令:

$ sudo timedatectl set-timezone 

例如,要将服务器时区设置为伦敦,请使用以下命令:

$ sudo timedatectl set-timezone Europe/London

您可以运行 date 命令来检查更改是否成功:

$ date

步骤 4: 在 CentOS 7 上创建具有 Sudo 权限的非 root 用户

使用 root 用户登入 CentOS 7 伺服器可能会导致很多问题。例如,一个带有错误类型参数的简单'rm'命令可以擦除整个产品的服务器数据。

因此,您需要创建一个具有 sudo 权限的非 root 用户。然后,您可以根据需要使用 sudo 命令临时提升权限。

要创建用户,请使用以下命令:

$ sudo adduser 

例如,要在服务器上添加标识为 james 的用户,请使用以下命令:

$ sudo adduser james

接下来,我们为上面创建的用户分配一个密码:

$ sudo passwd james

系统将提示您输入用户的密码。

然后,我们需要将用户添加到轮组,以通过键入以下内容来分配使用 sudo 命令运行管理任务的能力:

$ sudo gpasswd -a james wheel

请记住将 james 替换为您选择的正确用户名。

步骤 5: 创建认证密钥对以登入您的 CentOS 7 服务器

使用私钥/公钥对登入 CentOS 7 伺服器比使用密码更安全。在此模式下,您将私有密钥保留在本地计算机上,并将公钥保存在阿里云服务器上的 .ssh/authorized_keys 文件下。

此技术通过公钥对从服务器发送的数据进行加密,用户只能使用只有您知道的正确私钥对其进行解密。以这种方式使用的密钥甚至连最足智多谋的黑客也无法猜到。您还可以通过使用密码保护您的私钥来添加另一层安全性,以防它落入坏人之手。

您可以使用PuTTY密钥生成器等工具生成私钥/公钥对(在此处下载)。

确保您以为其生成密钥的用户身份登录。此外,以下命令不应使用'sudo'运行。

使用以下命令将公钥部分复制到您的 CentOS 7 服务器:

$ mkdir ~/.ssh

然后,使用 nano 编辑器将公钥粘贴到authorized_keys文件上,方法是键入:

$ nano ~/.ssh/authorized_keys

通过键入以下命令来保护文件

$ chmod 700 -R ~/.ssh && chmod 600 ~/.ssh/authorized_keys

创建密钥后,您现在可以使用您的用户名和通过 SSH 连接创建的私钥登录 CentOS 7 服务器。

步骤 6: 在 CentOS 7 服务器上禁用密码验证

设置私钥/公钥对后,应禁用基于密码的登录。这将确保只有拥有正确私钥的人才能访问您的 CentOS 7 服务器。

为此,请通过以下命令编辑 SSH 配置文件:

$ sudo nano /etc/ssh/sshd_config

找到'密码身份验证'行,并将其值从'是'更改为'否'。

PasswordAuthentication no

重新启动 SSH 守护程序:

$ sudo service sshd restart

步骤 7: 在您的 CentOS 7 服务器上禁用 SSH 根目录访问

创建具有 sudo 权限且禁用了密码登录的非 root 用户后,您可以继续通过 SSH 禁用 root 用户登录。这将确保没有人可以使用根用户名通过SSH登录到您的CentOS 7服务器。

从此时起,任何管理任务都将由具有 sudo 权限的非 root 用户完成。

要禁用通过 SSH 的 root 用户访问,请使用 nano 编辑器在更多时间内编辑 SSH 配置文件,并查找指令 PermitRootLogin 并将其值从'是'更改为'否'。

$ sudo nano /etc/ssh/sshd_config

然后

PermitRootLogin no

通过键入以下命令重新启动 SSH 守护程序,以使更改生效:

$ sudo service sshd restart

步骤8:在 CentOS 7 服务器上安装防火墙

使用您的 CentOS 7,您可以通过一个名为 UFW(简单防火墙)的工具,利用与 IP 表交互的强大功能。UFW是一个简化的工具,旨在简化设置IP表的过程,特别是对于刚接触Linux环境的初学者。

UFW 是为阿里云上运行的 CentOS 7 服务器添加其他安全性的正确选择。

您可以使用以下命令进行安装:

$ sudo yum install ufw

然后,键入以下命令以允许所有传出呼叫并拒绝或传入呼叫。

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

您可以使用下面的 UFW 命令来允许发往特定端口或服务的流量。

$ sudo ufw allow 

為避免將自己完全鎖定在 CentOS 7 伺服器上,UFW 應允許的第一個࣢戶/服務是滲口 22,以漁聽 SSH 連線。

为此,请键入以下命令以添加规则:

$ sudo ufw allow 22

$ sudo ufw allow ssh

此外,如果您正在运行 Web 服务器,则应启用 http 和 https 端口:

$ sudo ufw allow http
$ sudo ufw allow https

将服务列入白名单后,运行以下命令以启动 UFW

$ sudo ufw enable

您可以删除已创建的任何规则,方法是先检查其编号,然后使用以下命令将其删除:

$ sudo ufw status numbered

然后

$ sudo ufw delete 

其中<规则编号>是您从上面的可用规则列表中获取的值。

在检查规则列表之前,请确保已启用 UFW。

您可以随时通过键入以下命令禁用 UFW:

$ sudo ufw disable

或者只需通过键入以下内容重置所有规则:

$ sudo ufw reset

第9步:在你的CentOS 7服务器上安装Fail2Ban

Fail2Ban 是一个工具,通过利用 IP 表为您的 CentOS 7 服务器添加另一层安全性。它只是禁止用户根据失败的登录尝试次数尝试访问您的服务器。

您可以通过键入下面的命令来安装 Fail2Ban。

$ sudo yum install fail2ban

您可以将服务器与默认的 Fail2Ban 设置一起使用,但在需要时,您可以编辑配置文件以进行更改。所有 Fail2Ban 配置文件都位于 '/etc/fail2ban/' 目录中

默认情况下,首先读取 .conf 文件,然后读取 .local 文件。因此,如果要覆盖设置,则应对 .local 文件进行更改,并保持 .conf 文件不变。

例如,您可以使用以下命令创建自己的 jail.conf 文件副本并创建一个本地文件进行编辑:

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local



然后,您可以通过使用以下命令编辑新文件来更改任何 Fail2Ban 设置:

$ sudo nano /etc/fail2ban/jail.local

在大多数情况下,您将为SSH连接设置禁止时间,查找时间和最大重试次数。這完全取決於您在 CentOS 7 伺服器上所需的安全水平。

结论

就是这样!您已成功配置在阿里云弹性计算服务 (ECS) 上运行的 CentOS 7 服务器。虽然这不是您在设置服务器时应采取的所有Linux安全措施的最终列表,但它可以使黑客远离,特别是如果您刚刚开始使用ECS。现在,您可以安装 Web 服务器和数据库服务器来运行您的网站或 Web 应用程序。我希望您喜欢阅读本教程!

阿里云新手?注册一个帐户,免费试用40多种产品,价值高达1200美元。或访问阿里云入门了解更多信息。

上一篇
腾讯云国际DDOS攻击常见问题
下一篇
腾讯云国际云服务器网络访问丢包问题解决办法
立即咨询 享受更轻松快捷的上云服务
联系我们
联系我们
Skype:87Cloud Alibaba
E-mail:the87cloud@outlook.com
最新活动
合作流程
解决方案
代理合作
关于我们
87Cloud Alibaba
the87cloud@outlook.com
电报交谈
Skype
企业邮箱
返回首页
回到顶部