首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fail2Ban Regex - Joomla / PHP5-FPM

Fail2Ban Regex - Joomla / PHP5-FPM
EN

Server Fault用户
提问于 2014-06-24 08:28:59
回答 2查看 1.2K关注 0票数 0

我无法为fail2ban的工作找到一个判据。我想匹配以下几点:

代码语言:javascript
复制
[Tue Jun 24 10:22:14.528987 2014] [fcgid:warn] [pid 22526:tid 139757615011584] [client IP:PORT] mod_fcgid: stderr: user admin joomla authentication failure, referer: http://www.mydomain.com/administrator/index.php?option=com_login

我试过:

代码语言:javascript
复制
^\[.*\s*.*]* \[client <HOST>\] mod_fcgid: stderr: user .* joomla authentication failure, referer: .*

任何帮助都将不胜感激。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2014-06-24 09:39:04

只有两个音符:

  • 在这个例子中,我们需要使用一个实际的IP和端口,而不是IP:PORT,即使它是假的。
  • 在regex中,您需要捕获IP,并分别指定端口:<HOST>:[0-9]+。我想港口是强制性的。

测试(最后一行是regex):

代码语言:javascript
复制
fail2ban-regex \
'[Tue Jun 24 10:22:14.528987 2014] [fcgid:warn] [pid 22526:tid 139757615011584] [client 1.2.3.4:1234] mod_fcgid: stderr: user admin joomla authentication failure, referer: http://www.mydomain.com/administrator/index.php?option=com_login' \
'^\[.*]* \[client <HOST>:[0-9]+\] mod_fcgid: stderr: user .* joomla authentication failure, referer: .*'

对我来说很管用。

票数 0
EN

Server Fault用户

发布于 2014-06-24 08:52:59

不需要复杂的正则表达式就可以跳过领先的时间域。我怀疑这就是引起你麻烦的原因。对于给定的日志条目,只要我将您的IP:PORT转换为数字ip:端口值,就可以完成此工作。

代码语言:javascript
复制
'^.*[[]client <HOST>.*user .*joomla authentication failure,'

以上将禁止任何身份验证失败过多的用户。

我不知道你是否使用它,但是fail2ban-regex是一个很好的工具。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/607461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档