UFW 规则的顺序重要吗?

UFW 规则的顺序重要吗?

当我第一次初始化我的 ufw 时,我做了

ufw default allow outgoing
ufw default deny incoming
ufw allow 80/tcp
ufw allow 22/tcp

在过去一周左右的时间里,我一直在检查我的访问日志,并禁止那些在我的服务器上发出恶意请求的 IP

我会这样做

ufw deny from <ip>

这是我的ufw status verbose

此处粘贴的所有 IP 均来自恶意垃圾邮件发送者;不要怜悯他们

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

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere
22/tcp                     ALLOW IN    Anywhere
Anywhere                   DENY IN     125.39.22.154
Anywhere                   DENY IN     222.124.200.250
Anywhere                   DENY IN     101.60.178.197
Anywhere                   DENY IN     115.184.115.200
Anywhere                   DENY IN     93.174.93.129
... more ips ...
80/tcp (v6)                ALLOW IN    Anywhere (v6)
22/tcp (v6)                ALLOW IN    Anywhere (v6)

问题

我注意到的是,ALLOW行动先于DENY行动。

规则的顺序真的重要吗?或者我可以安心地知道我的 IP 阻止已经起作用了?

grep附带问题:除了手动添加恶意请求的访问/错误日志并阻止这些 IP 发出未来请求之外,有没有更有效的方法来处理垃圾请求?

答案1

规则的顺序真的重要吗?

是的。应该先拒绝在这种情况下因为它们更具体(更具体的规则应该先行)。 例子

有没有比手动处理垃圾请求更有效的方法

fail2ban 可以扫描日志,并将 IP 添加到符合定义模式的多种类型的过滤系统中。

答案2

您可以指示 ufw 在给定位置插入规则:

ufw insert 1 deny from <ip> to any

这会将拒绝规则插入到第一个位置而不是最后一个位置。

相关内容