Ubuntu Nginx 阻止 IP 地址后仍显示在日志中

Ubuntu Nginx 阻止 IP 地址后仍显示在日志中

我有一台服务器,它不断尝试通过 wordpress 网站上的 xml-rpc 帖子进行暴力破解。我在 nginx.conf 中屏蔽了 IP 地址,并注意到日志文件中不断出现这些错误,由于它们是暴力破解,所以这只是一次非常非常缓慢的 DDOS(因为它们导致日志文件占用空间)。

[错误] 30912#0:*4600 规则禁止访问,客户端:

我在这里搜索了日志文件的更改,但看起来 403 错误全有或全无,这对我没有帮助(看不到任何其他错误)。

为了解决这个问题,我尝试通过防火墙进行阻止(使用 UFW 包装器包裹防火墙表)并添加了一个显示如下状态的条目:

任何地方 DENY XXX.XXX.X.XXX(已删除)

但是,即使启用了防火墙规则并检查以确保它们正在运行,在跟踪日志文件时,我仍然会一遍又一遍地写入相同的错误条目 403 错误。

有什么想法可以让这个黑客消失,而不会填满日志文件?这是一个虚拟的 14.04 LTS 服务器。

编辑:使用会limit_req对此产生任何影响吗?编辑二:这是 UFW 状态,他正在强行向网站发送 POST。他被成功阻止了,但防火墙不应该首先阻止他进入 nginx 吗?

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere
2222/tcp                   ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
Anywhere                   DENY        XXX.XXX.X.XXX
22 (v6)                    ALLOW       Anywhere (v6)
22/tcp (v6)                ALLOW       Anywhere (v6)
2222/tcp (v6)              ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
21/tcp (v6)                ALLOW       Anywhere (v6)

答案1

将 DENY 规则移至端口 80 的 ALLOW 规则上方 - 它们按顺序运行。

SSH 可能不应该对任何地方开放,但如果您有一个动态 IP,请小心不要将自己锁定在外。

考虑类似云Flare,它提供免费和付费计划,提供针对多种威胁的保护、防火墙等。

答案2

使用该选项将规则置于所有内容之上 insert

步骤 1-获取规则编号:

sudo ufw status numbered  

步骤 2- 将此规则放置在所需的数字处 - 在本例中为 1,以便它覆盖其他允许

sudo ufw insert 1 deny from xx.xxx.xx.xx

相关内容