UFW防火墙规则排序?

dan*_*mcc 33 ubuntu firewall 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
Run Code Online (Sandbox Code Playgroud)

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

我设置了一个ufw default deny规则,但它似乎没有显示。我还应该有一个否定一切的最终规则吗?

如果我添加了一条拒绝所有规则,上面显示的规则的顺序会有所不同吗?大概如果这个列表变长了,在拒绝规则之上添加另一个允许规则是不可能的,这意味着我必须删除并重新添加一些规则?

Jus*_*ier 46

如果您有兴趣重新排序 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]
Run Code Online (Sandbox Code Playgroud)

假设你不小心在最后添加了一条规则,但你想要顶部。

首先,您将其从底部 (7) 中移除并重新添加。

$ sudo ufw delete 7
Run Code Online (Sandbox Code Playgroud)

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

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

$ sudo ufw insert 1 deny from [ip-to-block] to any
Run Code Online (Sandbox Code Playgroud)


Flu*_*lup 14

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

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

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


Meo*_*eow 6

如果您熟悉iptables-save命令生成的规则的格式,则只需编辑 ufw in/etc/ufw/user.rules/etc/ufw/user6.rules. 即使您不是,对于每个用户添加的规则,都会有一条评论显示匹配的 ufw 命令供您参考。
根据需要更改订单并保存。然后运行sudo ufw reload,新的订单就会到位。
这种方式比deleteinsert命令更快,但如果你不是很自信,你可能应该在编辑前备份。