Fail2ban jail 配置不起作用。IP 仍显示在日志中

Fail2ban jail 配置不起作用。IP 仍显示在日志中

我正在尝试通过用户代理禁止 IP。它显示为已禁止,但它仍显示在我的日志中。

在我的 jail.local

[megaindex-crawler-spam]
enabled = true
filter = megaindex-crawler-spam
logpath = /var/log/nginx/*access.log
maxretry = 1
findtime = 10
bantime = 86400

在 /etc/fail2ban/filter.d/megaindex-crawler-spam.conf 中

[Definition]
failregex = ^\d{4} <HOST> .* MegaIndex.ru.*


Status for the jail: megaindex-crawler-spam
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 39195
|  `- File list:    /var/log/nginx/**************.access.log 
/var/log/nginx/access.log
`- Actions
   |- Currently banned: 12
   |- Total banned: 17
   `- Banned IP list:   78.46.128.204 46.4.64.197 144.76.60.98 
176.9.137.17 144.76.27.118 5.9.6.51 5.9.32.222 176.9.16.209 <-- THIS ONE
78.46.161.81 5.9.98.178 5.9.83.211 176.9.41.28

其中一条日志显示,IP 地址已被禁止,但仍在继续:

8222 176.9.16.209 - - [26/Oct/2018:10:41:07 -0500] **************.com 
"GET /contact_us.php HTTP/1.1" 200 13389 "-" "Mozilla/5.0 (compatible; 
MegaIndex.ru/2.0; +http://megaindex.com/crawler)" "-"

我正在尝试使用 jail 中的 User-Agent 来“捕获所有”。它与 iptables 配合使用,但这个机器人有太多 IP 地址,我更愿意通过其用户代理来禁止它。

答案1

您可以使用 nginx 禁止此用户代理:

if ($http_user_agent ~* (megaindex-crawler-spam) ) {
        return 403;
    }

相关内容