1

我需要根据 nginx 网络服务器 access.log 的自定义日志文件格式使用 fail2ban 阻止某些请求。

应该匹配的违规行位于access.log中,如下所示:

06/Oct/2016:18:44:29 +0200 191.96.249.53 - - mydomain.com "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-"
06/Oct/2016:18:44:29 +0200 191.96.249.53 - - mydomain.com "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-"
06/Oct/2016:18:44:29 +0200 191.96.249.53 - - mydomain.com "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-"

我使用 RegEx 的fail2ban配置 wordpress-xmlrpc.conf:

[Definition]
failregex = ^<HOST>.*POST .*.(*wp-login\.php|*xmlrpc\.php).*.(403|499)*
ignoreregex =

监狱正在运行,但从未找到违规行:

监狱状态:wordpress-xmlrpc(简化):
-文件列表:/var/log/nginx/access.log-
当前失败:0-
失败总数:0-

当前禁止:0-禁止
总数:0

任何帮助表示赞赏!

4

1 回答 1

0

以下是您的正则表达式当前的工作方式:在线演示

我会将其更改为:

^.*POST .*(wp-login|xmlrpc)\.php.*(403|499)*
于 2016-10-09T11:24:39.390 回答