我无法为fail2ban的工作找到一个判据。我想匹配以下几点:
[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我试过:
^\[.*\s*.*]* \[client <HOST>\] mod_fcgid: stderr: user .* joomla authentication failure, referer: .*任何帮助都将不胜感激。
发布于 2014-06-24 09:39:04
只有两个音符:
IP:PORT,即使它是假的。<HOST>:[0-9]+。我想港口是强制性的。测试(最后一行是regex):
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: .*'对我来说很管用。
发布于 2014-06-24 08:52:59
不需要复杂的正则表达式就可以跳过领先的时间域。我怀疑这就是引起你麻烦的原因。对于给定的日志条目,只要我将您的IP:PORT转换为数字ip:端口值,就可以完成此工作。
'^.*[[]client <HOST>.*user .*joomla authentication failure,'以上将禁止任何身份验证失败过多的用户。
我不知道你是否使用它,但是fail2ban-regex是一个很好的工具。
https://serverfault.com/questions/607461
复制相似问题