UFW 在 Ubuntu Linux 中有什么用途?
UFW(简易防火墙)是 iptables 的前端,特别适合基于主机的防火墙。UFW 提供了一个用于管理 netfilter 的框架,以及一个用于操作防火墙的命令行界面。
UFW 是一款出色的防火墙工具,旨在在主机或服务器上运行。它可以允许或阻止进出服务器的连接。您可以使用 UFW 阻止端口、IP 地址甚至整个子网。它不如 iptables 那么灵活,但基本操作起来要容易得多。
UFW 与 IPTables
在 Ubuntu 服务器上配置防火墙时,主要有两个选项:ufw 和 iptables。这两个工具都提供防火墙功能,但在易用性和复杂性方面有所不同。
UFW 是 iptables 的前端,旨在简化防火墙的配置过程。它提供了用户友好的命令行界面,并允许您使用易于理解的语法管理防火墙规则。UFW 提供了一组易于理解和配置的默认规则。
IPTables 允许您根据各种条件(例如 IP 地址、端口、协议等)定义规则,从而对网络流量进行精细控制。IPTables 为您提供了更大的灵活性,但配置起来也稍微复杂一些。因此,请选择您最满意的方案。如果您使用 iptables,请记住它仅影响 IPv4 协议 – 如果您的服务器支持 IPv6,则还需要使用 ip6tables。
在本文中,我们将向您展示如何在 Ubuntu 22.04 上安装和配置 UFW 防火墙。
如何安装UFW防火墙
步骤 1:SSH 进入 Linux 系统
要安装 UFW,您需要通过 SSH 进入系统。
步骤 2:更新系统检查设置
$ sudo apt 更新 $ sudo apt升级
要检查 ufw 是否已安装,可以使用 which 命令:
$ 哪个 ufw
如果结果没有显示输出,则表示 ufw 未安装,您应该像下面这样安装它。
步骤 3:安装UFW
$ sudo apt-get 安装 ufw
ufw 安装完成后,请使用以下命令进行检查。安装后的初始默认设置下,UFW 将被禁用,因为它尚未激活,您必须手动启用它。
$ sudo ufw 状态详细 ----------------------------- 输出 状态:不活跃
步骤 4:启用UFW,安装后激活UFW
要启用 UFW 并开始执行防火墙规则,请运行:
$ sudo ufw 启用
要暂时禁用 UFW,请运行:
$ sudo ufw disable
如何配置UFW防火墙
1. UFW 检查状态
要检查 UFW 的当前状态,请运行以下命令:
$ sudo ufw 状态
这将显示 UFW 是否处于活动状态或非活动状态、默认输入和输出策略以及已创建的任何规则。
全新安装的 Ubuntu 22.04 默认将不激活 UFW。
2. UFW 允许端口
要允许特定端口上的传入连接,您需要使用 UFW 允许该端口。例如,要允许端口 80 上的 HTTP 流量,请运行:
$ sudo ufw 允许 80/tcp
这将允许端口 80 上的所有传入 TCP 连接。您还可以指定仅允许特定主机的 IP 地址:
$ sudo ufw 允许从 192.168.1.100 到任意端口 80
要在端口 123 上同时允许 TCP 和 UDP 协议,请运行:
$ sudo ufw 允许 123/tcp $ sudo ufw 允许 123/udp
3. UFW 允许多个端口
要一次允许多个端口,请指定起始端口和结束端口:
$ sudo ufw 允许 2000:2100/tcp
这将允许从 2000 到 2100 的所有端口。您还可以在逗号分隔的列表中指定端口:
$ sudo ufw 允许 80,443,8080/tcp $ sudo ufw 允许 22,25,110/tcp
4. UFW 允许 HTTP/HTTPS 流量
允许传入的 HTTP 和 HTTPS 流量是一项常见要求。您可以使用以下方式实现:
$ sudo ufw 允许“Apache Full”
这将允许端口 80 上的 HTTP 流量和端口 443 上的 HTTPS 流量。
5. UFW 允许 SSH
要允许端口 22 上的传入 SSH 连接,请运行:
$ sudo ufw 允许 22/tcp
这是使用 SSH 远程管理 Ubuntu 服务器所必需的。
6. UFW 允许 DNS 流量
DNS 在端口 53 上使用 UDP 协议。要允许传入的 DNS 查询,请运行:
$ sudo ufw 允许 53/udp
7. UFW 允许 VNC
要允许传入的 VNC 连接(通常为端口 5900),请运行:
$ sudo ufw 允许 5900/tcp
8. UFW 拒绝端口
要阻止特定端口或协议,请使用“拒绝”而不是“允许”。例如,要阻止传入的 SMTP 流量:
$ sudo ufw 拒绝 25/tcp
关闭 tcp 和 udp 端口,将 80 替换为所需的端口号:
$ sudo ufw 拒绝 80
对于端口范围,使用以下语法:
$ ufw 拒绝 1234:2345 $ ufw 拒绝 1234:2345/tcp $ ufw 拒绝 1234:2345/udp
9. UFW 设置默认策略
默认情况下,UFW 传入策略设置为拒绝,这意味着所有传入流量都被阻止。您可以使用以下方式更改此策略:
$ sudo ufw default deny coming # 拒绝所有传入流量 $ sudo ufw default allow comingback # 允许所有传入流量
类似地,您可以使用以下方式设置默认传出策略:
$ sudo ufw default 拒绝传出 $ sudo ufw 默认允许传出
为了安全起见,建议将默认传入策略保留为拒绝。
10. UFW 检查日志
您可以使用以下命令启用日志记录:
$ sudo ufw 登录
可以通过运行 sudo ufw logging low|medium|high 来设置日志级别,并从列表中选择低、中或高。默认设置为低。
UFW 将拒绝连接的日志保存在 /var/log/ufw.log 中。您可以使用以下方式查看日志文件:
$ sudo less /var/log/ufw.log
要启用详细日志记录,请运行:
$ sudo ufw 详细日志记录
然后 UFW 将记录所有允许和拒绝的连接。
11. UFW 删除规则
语法如下,以编号列表格式列出所有当前规则:
$ sudo ufw 状态编号 状态:活跃 行动从 -- ------ ---- [ 1] 22/tcp 允许任何地方 [ 2] 80/tcp ALLOW IN Anywhere # 接受 Apache [ 3] 443/tcp ALLOW IN Anywhere # 接受 HTTPS 连接 [ 4] 1194/udp 允许在任何地方 # OpenVPN 服务器 [ 5] 3000:4000/tcp 允许任何地方进入 [ 6] 3000:4000/udp 允许任何地方进入
要删除第六条规则,请输入以下命令:
$ sudo ufw 删除 6
您还可以删除特定端口的规则:
$ sudo ufw 删除允许 80
要刷新所有 UFW 规则并恢复默认策略,请运行:
$ sudo ufw reset
12. UFW 恢复默认设置
由于某些原因,您需要恢复/删除所有现有规则以返回到原始默认值,请使用重置选项执行以下操作:
$ sudo ufw disable $ sudo ufw reset $ sudo ufw 启用
这将:
– 禁用 UFW
– 刷新现有规则
– 使用默认配置重新启用 UFW
这可确保 UFW 再次使用默认设置工作。
13. UFW 启用 IPv6
确保 /etc/default/ufw 文件中存在 IPV6=yes 指令。例如:
$ cat /etc/default/ufw
结论
UFW 是一款功能强大的工具,如果配置得当,可以显著提升服务器的安全性。本参考指南涵盖了一些常用的 UFW 规则,这些规则常用于在 Ubuntu 上配置防火墙。现在,您的防火墙已配置为(至少)允许 SSH 连接。请确保允许服务器所需的任何其他传入连接,同时限制任何不必要的连接,以确保服务器正常运行且安全。