我已经尝试了所有从Apache访问日志中获取主机的方法,但都没有成功
我的基本testing方法如下:
fail2ban-regex '87.97.244.57 - - [05/Nov/2015:12:46:24 -0500] "GET /index.php/?a=30%60%22( HTTP/1.1" 200 22639 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)' '^<HOST> - - [[^]+] ".*60.20.*'
我试过^<HOST> - - [[^]+] ".*60.20.* <HOST> - - [[^]+] ".*60.20.* [[]client []].*60.20.* ^<HOST>.*60.20.*$ .*60.20.* …等
他们要么错过了目标行或者我得到一个错误fail2ban.server.failregex.RegexException: No 'host' group in [...]
很难理解你想要做什么,来匹配主机,就像这么简单
'^<host>'
如果你想匹配更具体的东西然后
'^<host> - - .*30%60%22'
作品。
你已经得到的错误信息是因为(被解释为一个正则expression式分组的一部分,你没有终止,你应该像这样逃脱
'^<host> - - .*30%60%22\('