ufw 拒绝来自 ip 似乎不起作用

ufw 拒绝来自 ip 似乎不起作用

今天工作的时候我一直在跟踪我的服务器的访问日志,并且发现我的一个客户的 wordpress 网站受到了来自国外 IP 的登录尝试的攻击。

我想拒绝来自该 IP 地址的访问,并尝试了以下 ufw 命令:

sudo ufw deny from xx.xx.xx.xx to any

我看到规则已添加并且防火墙已激活,但我仍然看到从该 IP 地址发往登录页面的大量帖子。

我也尝试过使用 iptables,尽管我对该工具不太熟悉:

sudo iptables -A INPUT -s xx.xx.xx.xx -j DROP

我做错了吗?我认为在拒绝访问 IP 地址后,它不会在我的 apache 访问日志中显示 200 ok 状态,用于发布到登录页面。

编辑:正如我提到的,ufw 处于活动状态并且规则已到位,这是 ufw 状态的输出(IP 已被阻止):

root@mel:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
1723                       ALLOW       Anywhere
8080                       ALLOW       Anywhere
6273                       ALLOW       Anywhere
36728                      DENY        Anywhere
Anywhere                   DENY        xx.xx.xx.xx
22                         ALLOW       Anywhere (v6)
80                         ALLOW       Anywhere (v6)
1723                       ALLOW       Anywhere (v6)
8080                       ALLOW       Anywhere (v6)
6273                       ALLOW       Anywhere (v6)
36728                      DENY        Anywhere (v6)

答案1

防火墙规则的顺序很重要。由于您一开始就允许所有端口 80,因此此规则将匹配所有请求,而后面的拒绝规则将永远不会被匹配。

所以,如果你需要阻止某些事情尤其是,将其放在开头,然后允许全部

要查看带有参考编号的规则,请使用以下命令:

sudo ufw status numbered

然后先删除已添加的拒绝规则:

sudo ufw delete rule_number_here

然后在顶部再次添加:

sudo ufw insert 1 deny from xx.xx.xx.xx to any

进一步参考:https://help.ubuntu.com/community/UFW#Deny_Access

还请注意,ufw 不是缓解此类攻击的最佳工具。尝试使用失败2ban,可以动态地执行此操作。

答案2

对于 UFW 维护(添加新的拒绝规则),我通常更喜欢以下顺序:

  1. 添加新的拒绝规则
  2. 删除允许规则
  3. 再次添加允许规则

端口 80 和 443 如下所示:

sudo ufw deny from xx.xx.xx.xx to any
sudo ufw delete allow 80/tcp
sudo ufw delete allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

最后,我检查规则是否正确

sudo ufw status numbered

答案3

不要相信 ufw,它是由一些自视甚高的人编写的,好像他们是上帝,但它不起作用。我已经阻止了这么多 IP,但他们仍然继续攻击我的服务器。

相关内容