某些 IP 地址如何绕过 UFW 规则?我受到来自中国和其他地方的攻击

某些 IP 地址如何绕过 UFW 规则?我受到来自中国和其他地方的攻击

我有一个在 Ubuntu 20.04 LTS 下运行的 Apache Web 服务器。

我只允许特定范围的 IP 地址访问该网站。

一切都运行正常,直到我看到一些来自不允许的 IP 地址(中国、新加坡、美国等)的请求(攻击),有时还会有一些恶意请求。

我仔细检查了所有内容,发现这些 IP 地址不属于允许的范围。

我通过 Google 查找了所有能查找到的地方,并通过 chatGPT 询问了相关问题。

我现在没有线索可以找出这个安全问题的原因。

原因可能是什么?

我甚至从头开始,问题仍然存在。UFW 无法正确阻止来自不受欢迎区域的所有 IP 地址,这确实是一个问题。

更新:根据要求,以下是添加规则的示例

80,443/tcp 允许 216.252.224.0/19

80,443/tcp 允许 217.11.32.0/20

80,443/tcp 允许 217.11.208.0/20

80,443/tcp 允许 217.14.64.0/20

80,443/tcp 允许 217.20.192.0/20

80,443/tcp 允许 217.22.128.0/20

80,443/tcp 允许 217.26.32.0/20

它只不过是一长串同类规则而已。

让我们通过以下规则示例来说明该问题:

80,443/tcp 允许 216.252.224.0/19

IP 地址范围 216.252.224.0/19 表示子网掩码为 255.255.224.0,允许 8,192 个唯一 IP 地址。在本例中,范围从 216.252.224.0 到 216.252.255.255(这是 chatGPF 告诉我的)。这些是我想要通过的唯一以 216.252.xx.xx 开头的 IP 地址

因此,如果我遇到一个访问者,其 IP 为 216.252.xxx.xx,但该 IP 不属于该范围,那么就会出现问题。

答案1

如果不知道所有规则,就不可能给出明确的答案,但需要检查以下几件事 -

您的默认规则是允许还是拒绝?如果是允许,您是否有一条拒绝规则来捕获所有流量?

规则是特定顺序的,因此如果您在拒绝规则之前有一个允许规则,则拒绝规则可能存在于您的防火墙中,但永远不会被击中。我不使用 UFW(更喜欢直接使用底层 iptables)。如果你这样做

  sudo iptables -vnL 

它将列出主表中的所有防火墙规则 - 每行的第一个数字是防火墙收到的命中次数。查看规则的顺序以及命中/未命中的规则可能会为您提供一些线索,让您知道问题出在哪里。

相关内容