UFW防火墙规则sorting?

我在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 

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

我设置了一个ufw default deny规则,但似乎没有显示。 我是否也有一个否定一切的最终规则?

如果我添加一个拒绝所有规则,上面的规则顺序是否有所不同? 大概如果这个列表变长了,再加上一个拒绝规则的允许规则是不可能的,这意味着我将不得不删除并重新添加一些规则?

如果你有兴趣重新sorting你的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 

命令ufw status verbose将显示默认规则。 对于你的configuration你可能想要说

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

在这种情况下,你不需要单独的“拒绝一切”规则,而其他规则的顺序并不重要。 如果您想更改顺序,可以使用ufw insert [position] [rule text]在特定位置添加规则。 你可以得到编号为ufw status numbered的编号列表。

如果您熟悉iptables-save命令生成的规则的格式,则可以在/etc/ufw/user.rules/etc/ufw/user6.rules编辑ufw的configuration文件。 即使你不是,每个用户添加规则都会有一个注释,显示匹配的ufw命令供你参考。
根据需要更改订单并保存。 然后运行sudo ufw reload ,新的命令将会到位。
这种方法比deleteinsert命令更快,但是如果你不是非常有信心,你可能应该在编辑之前进行备份。