在为新服务器设置最低配置之后,大多数情况下都建议进行一些额外的步骤。在本指南中,我们将继续配置我们的服务器,处理一些推荐但可选的程序。
在开始本指南之前,您应该先运行 Ubuntu 14.04 初始服务器设置指南。这是为了设置用户帐户、配置使用 sudo
进行特权提升以及加固 SSH 安全性。
完成上述指南后,您可以继续阅读本文。在本指南中,我们将专注于配置一些可选但推荐的组件。这将涉及使用防火墙、网络时间协议同步和交换文件来设置我们的系统。
防火墙为您的服务器提供了基本的安全级别。这些应用程序负责拒绝对服务器上的每个端口的流量,但允许您批准的端口/服务的例外。Ubuntu 配备了一个名为 ufw
的工具,可用于配置防火墙策略。我们的基本策略将是封锁我们没有充分理由保持开放的一切。
在启用或重新加载防火墙之前,我们将创建定义策略例外的规则。首先,我们需要为 SSH 连接创建一个例外,以便我们可以进行远程管理。
SSH 守护程序默认在端口 22 上运行,如果默认值未更改,ufw
可以按名称实施规则。因此,如果您没有修改 SSH 端口,则可以通过输入以下命令来启用例外:
sudo ufw allow ssh
如果您已修改 SSH 守护程序监听的端口,则需要通过指定实际端口号以及 TCP 协议来允许它:
sudo ufw allow 4444/tcp
这是最低限度的防火墙配置。它只允许 SSH 端口的流量,所有其他服务将无法访问。如果您计划运行其他服务,您将需要在每个所需的端口上打开防火墙。
如果您计划运行传统的 HTTP Web 服务器,您需要允许对端口 80 的访问:
sudo ufw allow 80/tcp
如果您计划运行启用了 SSL/TLS 的 Web 服务器,您还应该允许对该端口的流量:
sudo ufw allow 443/tcp
如果您需要启用 SMTP 电子邮件,则需要打开端口 25:
sudo ufw allow 25/tcp
在添加例外后,您可以通过输入以下命令来查看您的选择:
sudo ufw show added
如果一切看起来正常,您可以通过输入以下命令来启用防火墙:
sudo ufw enable
系统将要求您确认您的选择,如果要继续,请输入 “y”。这将应用您所做的例外,阻止所有其他流量,并配置防火墙在启动时自动启动。
请记住,您将需要显式打开任何您以后可能配置的其他服务的端口。要了解更详细的信息,请查看我们的有关配置 ufw 防火墙的文章。
下一步是为服务器设置本地化设置并配置网络时间协议(NTP)同步。
第一步将确保您的服务器在正确的时区下运行。第二步将配置您的系统将其系统时钟与全球 NTP 服务器维护的标准时间同步。这将有助于防止由于时钟不同步而导致的一些不一致行为。
我们的第一步是设置服务器的时区。这是一个非常简单的过程,可以通过重新配置 tzdata
软件包来完成:
sudo dpkg-reconfigure tzdata
您将看到一个菜单系统,允许您选择服务器的地理区域:
!Ubuntu 选择区域
选择区域后,您将有能力选择适合您服务器的具体时区:
!Ubuntu 选择时区
您的系统将被更新以使用所选的时区,并且结果将被打印到屏幕上:
当前默认时区:'America/New_York'
本地时间现在是: 周一 11 月 3 17:00:11 EST 2014。
通用时间现在是: 周一 11 月 3 22:00:11 UTC 2014。
接下来,我们将继续配置 NTP。
现在您已经设置了时区,我们应该配置 NTP。这将允许您的计算机与其他服务器保持同步,从而使依赖于正确时间的操作更加可预测。
对于 NTP 同步,我们将使用一个名为 ntp
的服务,我们可以从 Ubuntu 的默认存储库中安装:
sudo apt-get update
sudo apt-get install ntp
这就是您在 Ubuntu 上设置 NTP 同步所需做的一切。该守护程序将在每次启动时自动启动,并将在一天中不断调整系统时间以与全球 NTP 服务器保持一致。
如果您希望了解更多关于 NTP 服务器的信息,请单击此处。
在 Linux 服务器上添加 “swap” 允许系统将运行程序的访问频率较低的信息从 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'
通过这个添加,您的系统应该会在每次启动时自动使用您的交换文件。
到这一步,您应该知道如何为您的新服务器配置一个坚实的基础。希望您也对接下来的步骤有了一个良好的想法。随时在网站上探索更多您可以在服务器上实施的想法。