新 CentOS 7 服务器的基本配置

avatar
作者
筋斗云
阅读量:2

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

简介

在为新服务器设置最低配置之后,大多数情况下都建议进行一些额外的步骤。在本指南中,我们将继续配置我们的服务器,处理一些推荐但可选的程序。

先决条件和目标

在开始本指南之前,您应该先运行 CentOS 7 初始服务器设置指南。这是为了设置用户帐户、配置使用 sudo 进行特权提升,并加固 SSH 以提高安全性。

完成上述指南后,您可以继续阅读本文。在本指南中,我们将专注于配置一些可选但推荐的组件。这将涉及设置防火墙和交换文件,并配置网络时间协议同步。

配置基本防火墙

防火墙为服务器提供了基本的安全级别。这些应用程序负责拒绝对服务器上的每个端口的流量,但允许已批准的端口/服务的流量。CentOS 自带一个名为 firewalld 的防火墙。一个名为 firewall-cmd 的工具可用于配置防火墙策略。我们的基本策略将是封锁我们没有充分理由保持开放的一切。首先安装 firewalld

sudo yum install firewalld 

firewalld 服务具有在不中断当前连接的情况下进行修改的能力,因此我们可以在创建例外之前启动它:

sudo systemctl start firewalld 

现在服务已经启动运行,我们可以使用 firewall-cmd 实用程序获取和设置防火墙的策略信息。firewalld 应用程序使用“区域”概念来标记网络上其他主机的可信度。这种标记使我们能够根据我们对网络的信任程度分配不同的规则。

在本指南中,我们将仅调整默认区域的策略。当我们重新加载防火墙时,这将是应用于我们接口的区域。我们应该首先为已批准的服务在防火墙中添加例外。其中最重要的是 SSH,因为我们需要保留对服务器的远程管理访问。

如果您没有修改 SSH 守护程序运行的端口,您可以通过名称启用服务,方法是输入:

sudo firewall-cmd --permanent --add-service=ssh 

如果您更改了服务器的 SSH 端口,您将需要明确指定新端口。您还需要包括服务所使用的协议。只有在 SSH 服务器已经重新启动以使用新端口时才输入以下内容:

sudo firewall-cmd --permanent --remove-service=ssh sudo firewall-cmd --permanent --add-port=4444/tcp 

这是保留对服务器的管理访问所需的最低限度。如果您计划运行其他服务,您还需要为这些服务打开防火墙。

如果您计划运行传统的 HTTP 网页服务器,您需要启用 http 服务:

sudo firewall-cmd --permanent --add-service=http 

如果您计划运行启用了 SSL/TLS 的网页服务器,您还应该允许 https 的流量:

sudo firewall-cmd --permanent --add-service=https 

如果您需要启用 SMTP 电子邮件,您可以输入:

sudo firewall-cmd --permanent --add-service=smtp 

要查看可以按名称启用的任何其他服务,请输入:

sudo firewall-cmd --get-services 

完成后,您可以通过输入以下内容查看将要实施的例外列表:

sudo firewall-cmd --permanent --list-all 

当您准备好实施更改时,重新加载防火墙:

sudo firewall-cmd --reload 

如果测试后一切正常,您应该确保防火墙在启动时启动:

sudo systemctl enable firewalld 

请记住,您将需要为以后可能配置的任何其他服务明确打开防火墙(使用服务或端口)。

配置时区和网络时间协议同步

下一步是调整服务器的本地化设置,并配置网络时间协议(NTP)同步。

第一步将确保您的服务器在正确的时区下运行。第二步将配置系统将其系统时钟与全球 NTP 服务器维护的标准时间同步。这将有助于防止由于时钟不同步而产生的一些不一致行为。

配置时区

我们的第一步是设置服务器的时区。这是一个非常简单的过程,可以使用 timedatectl 命令完成:

首先,通过输入以下内容查看可用的时区:

sudo timedatectl list-timezones 

这将为您的服务器提供可用的时区列表。当您找到适合您服务器的区域/时区设置时,通过输入以下内容设置它:

sudo timedatectl set-timezone region/timezone 

例如,要将其设置为美国东部时间,您可以输入:

sudo timedatectl set-timezone America/New_York 

您的系统将更新为使用所选的时区。您可以通过输入以下内容确认:

sudo timedatectl 

配置 NTP 同步

现在你已经设置好了时区,接下来我们应该配置 NTP。这将使你的计算机与其他服务器保持同步,从而使依赖于正确时间的操作更加可预测。

对于 NTP 同步,我们将使用一个名为 ntp 的服务,我们可以从 CentOS 的默认仓库中安装:

sudo yum install ntp 

接下来,你需要启动该服务以进行本次会话。我们还将启用该服务,以便在每次服务器启动时自动启动:

sudo systemctl start ntpd sudo systemctl enable ntpd 

你的服务器现在将自动校正其系统时钟以与全球服务器对齐。

创建交换文件

在 Linux 服务器上添加 “交换” 允许系统将运行程序的较少访问的信息从 RAM 移动到磁盘上的位置。访问存储在磁盘上的数据要比访问 RAM 慢得多,但有可用的交换空间通常可以使你的应用程序保持运行而不崩溃。如果你计划在系统上托管任何数据库,这将特别有用。

关于交换空间的最佳大小的建议因咨询的来源而异。通常,与系统上的 RAM 量相等或是其两倍的量是一个很好的起点。

使用 fallocate 实用程序来分配你想要用于交换文件的空间。例如,如果我们需要一个 4GB 的文件,我们可以输入以下命令创建一个位于 /swapfile 的交换文件:

sudo fallocate -l 4G /swapfile 

创建文件后,我们需要限制对文件的访问,以便其他用户或进程无法看到其中写入的内容:

sudo chmod 600 /swapfile 

现在我们有了一个具有正确权限的文件。要告诉我们的系统为交换格式化文件,我们可以输入:

sudo mkswap /swapfile 

现在,告诉系统它可以使用交换文件,输入:

sudo swapon /swapfile 

我们的系统正在本次会话中使用交换文件,但我们需要修改一个系统文件,以便我们的服务器在启动时自动执行此操作。你可以通过输入以下命令来实现:

sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab' 

通过这个添加,你的系统应该会在每次启动时自动使用你的交换文件。

结论

到这一点,你应该知道如何为你的新服务器配置一个坚实的基础。希望你也对接下来的步骤有了一个良好的想法。随时在网站上探索更多你可以在服务器上实施的想法。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!