UFW 防火墙规则排序?

UFW 防火墙规则排序?

我在 UFW 中的服务器上制定了以下规则:

To                         Action      From
--                         ------      ----
22                         ALLOW       217.22.12.111
22                         ALLOW       146.200.200.200
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
22/tcp                     ALLOW       109.104.109.0/26

前两个规则是我们希望确保始终可以通过 SSH 访问的内部 IP(端口 22)。接下来的两个规则是允许从任何地方的任何 IP 地址进行 HTTP 和 HTTPS 查看。最后一条规则是允许从我们的代码部署系统进行 SSH。

我设置了一条ufw default deny规则,但似乎没有显示出来。我是否还应该设置一条拒绝所有内容的最终规则?

如果我添加一条拒绝所有规则,上面规则出现的顺序会有什么不同吗?假设如果这个列表变长,在拒绝规则上方添加另一条允许规则是不可能的,这意味着我必须删除并重新添加一些规则?

答案1

如果您有兴趣重新排序您的 UFW 规则,这是一种方法。

$ sudo ufw status numbered

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 443                        ALLOW IN    Anywhere
[ 4] 22 (v6)                    ALLOW IN    Anywhere (v6)
[ 5] 80 (v6)                    ALLOW IN    Anywhere (v6)
[ 6] 443 (v6)                   ALLOW IN    Anywhere (v6)
[ 7] Anywhere                   DENY IN     [ip-to-block]

假设您不小心将一条规则添加到了末尾,但您想将其添加到顶部。

首先,你需要将其从底部移除(7),然后再添加回去。

$ sudo ufw delete 7

请注意,请小心连续删除多个规则,它们的位置可能会改变!

将您的规则添加回最顶部 (1):

$ sudo ufw insert 1 deny from [ip-to-block] to any

答案2

该命令ufw status verbose将显示默认规则。对于您的配置,您可能希望它显示

默认值:拒绝(传入)、允许(传出)

在这种情况下,您不需要单独的“拒绝一切”规则,其他规则的顺序也无关紧要。如果您确实想更改顺序,可以使用 在特定位置添加规则ufw insert [position] [rule text]。您可以使用 获取规则的编号列表ufw status numbered

答案3

如果您熟悉命令生成的规则格式,您可以直接在和iptables-save中编辑 ufw 的配置文件。即使您不熟悉,对于每个用户添加的规则,都有一个注释显示匹配的 ufw 命令供您参考。 根据需要更改顺序,然后保存。然后运行​​,新顺序将生效。这种方式比和命令 更快,但如果您不太确定,您可能应该在编辑之前备份。/etc/ufw/user.rules/etc/ufw/user6.rules
sudo ufw reload
deleteinsert

相关内容