启用基础防火墙

LinuxBeginner
立即练习

介绍

欢迎来到这个关于启用基础防火墙的实操实验(Lab)。保护服务器安全是任何系统管理员的一项关键任务,而防火墙是抵御未经授权网络访问的第一道防线。

在这个实验(Lab)中,你将使用 UFW(Uncomplicated Firewall,简易防火墙)。它是管理 Debian 和 Ubuntu 系统上 iptables 防火墙规则的一个用户友好界面。UFW 的设计宗旨是简单直观,让基础防火墙管理对每个人都触手可及。你将学习如何安装 UFW、添加规则以允许特定流量、启用和禁用防火墙,以及检查其状态。

完成本实验(Lab)后,你将对如何使用 UFW 执行基本的防火墙操作有一个扎实的理解。

这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 100%。获得了学习者 100% 的好评率。

使用 apt install ufw 命令安装 UFW

在这一步,你将安装简易防火墙(UFW)。虽然 UFW 包含在许多 Ubuntu 发行版中,但确保它已安装或在缺失时进行安装是一个良好的实践。我们将使用 apt 包管理器来完成此操作。

首先,更新你的包列表始终是个好主意,以确保你获取到的是最新可用的版本。

在你的终端中执行以下命令:

sudo apt update

当包列表从仓库更新时,你将看到相应的输出。

现在,继续安装 UFW。-y 标志会在安装过程中自动对任何提示回答“是”。

sudo apt install ufw -y

命令完成后,UFW 将安装在你的系统上。你应该会看到类似于以下内容的输出,表明安装成功:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ufw
0 upgraded, 1 newly installed, 0 to remove and ... not upgraded.
Need to get ...
After this operation, ... of additional disk space will be used.
...
Setting up ufw (...)
...

此时,UFW 已经安装,但尚未激活。在下一步中,你将在启用它之前配置一条规则。

使用 ufw allow 80 命令允许 HTTP 流量

在这一步,你将添加一条防火墙规则,以允许传入的 HTTP 流量。默认情况下,UFW 会拒绝所有传入连接。如果你正在运行一个 Web 服务器,你需要创建一条规则来明确允许用户访问它。HTTP 流量使用端口 80。

你可以使用 ufw allow 命令,后跟端口号或服务名称来添加规则。

运行以下命令以允许端口 80 上的流量:

sudo ufw allow 80

你将看到一条确认信息,表明规则已添加。UFW 足够智能,会为 IPv4 和 IPv6 流量都添加规则,这就是为什么你在输出中看到两行内容。

Rule added
Rule added (v6)

此规则现已配置,但它在防火墙被启用之前不会生效,你将在下一步中执行此操作。这是一种安全的做法,因为它允许你在激活防火墙并可能将自己锁在外面之前,设置所有必要的规则(例如,用于 SSH 的规则)。

使用 ufw enable 命令启用防火墙

在这一步,你将激活防火墙。仅仅安装 UFW 并添加规则是不够的;防火墙服务必须正在运行,规则才能生效。

在启用防火墙之前,允许 SSH 流量非常重要,以防止你被系统锁定。SSH 默认使用端口 22。

sudo ufw allow ssh

你将看到 SSH 规则已添加的确认信息:

Rule added
Rule added (v6)

现在你可以安全地启用 UFW 了。使用 ufw enable 命令。

sudo ufw enable

防火墙将被激活,输出将确认它现在已处于活动状态,并且将在系统启动时自动启用。

Firewall is active and enabled on system startup

你的防火墙现已上线,并正在执行你设置的规则,包括允许 SSH 访问。

使用 ufw status 命令检查状态

在这一步,你将学习如何检查防火墙的状态并查看活动的规则。这是验证你的配置的一个基本命令。

要查看基本状态报告,请使用 ufw status 命令。

sudo ufw status

输出将显示防火墙处于活动状态,并列出你已配置的规则。你应该会看到你添加的 SSH 和端口 80 的规则。

Status: active

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

要查看更详细的信息,你可以使用 verbose 选项。这将同时显示默认策略。

sudo ufw status verbose

详细输出提供了更多上下文,包括传入(incoming)、传出(outgoing)和路由(routed)流量的默认策略。默认情况下,UFW 拒绝所有传入流量并允许所有传出流量。

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere
80/tcp (v6)                ALLOW IN    Anywhere (v6)
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

定期检查状态是一个好习惯,以确保你的防火墙配置符合预期。

使用 ufw disable 命令禁用并移除规则

在这一步,你将学习如何禁用防火墙并移除现有规则。你可能需要这样做来进行维护、故障排除,或者从头开始重新配置防火墙。

首先,我们禁用防火墙。这将停止 UFW 过滤网络流量。

sudo ufw disable

输出将确认服务已停止。

Firewall stopped and disabled on system startup

接下来,我们移除添加的规则。虽然防火墙已禁用,但规则仍存储在配置中。要删除特定规则,你可以先使用 ufw status numbered 以编号列表的形式查看它们。

sudo ufw status numbered
Status: inactive

由于防火墙处于非活动状态,我们重新启用它以查看编号规则。

sudo ufw enable
sudo ufw status numbered

输出将如下所示:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80                         ALLOW IN    Anywhere
[ 2] 80 (v6)                    ALLOW IN    Anywhere (v6)
[ 3] 22                         ALLOW IN    Anywhere
[ 4] 22 (v6)                    ALLOW IN    Anywhere (v6)

现在你可以根据编号删除规则。我们来删除第一条规则(针对 IPv4)。

sudo ufw delete 1

UFW 会要求确认。在此环境中,它将自动继续操作。你将看到规则已删除的确认信息。

Deleting:
 allow 80
Proceed with operation (y|n)?
Rule deleted

最后,如果你想完全重置 UFW 到其默认状态,移除所有规则并禁用它,你可以使用 ufw reset 命令。

sudo ufw reset

此命令对于以干净的防火墙配置重新开始非常有用。

总结

恭喜你完成本次实验(Lab)!你已成功学习了使用 UFW 在 Linux 系统上管理防火墙的基础知识。

在本次实验中,你练习了:

  • 使用 apt 包管理器安装 UFW。
  • 使用 ufw allow 添加规则以允许特定流量。
  • 使用 ufw enable 启用并激活防火墙。
  • 使用 ufw status 检查防火墙的状态和规则。
  • 使用 ufw disableufw delete 禁用防火墙和删除规则。

掌握这些基本命令为你提供了增强服务器安全性的强大工具。正确配置防火墙是系统管理和网络安全中的一项基础技能。