如何设置fail2ban在监狱中读取多日志?


20

如何为同一规则配置多个日志路径?

我正在尝试编写这样的语法:

[apache-w00tw00t]
enabled  = true
filter   = apache-w00tw00t
action   = iptables-allports
logpath  = /var/log/apache*/*error.log 
logpath  = /var/www/vhosts/site1.com/log/errorlog 
logpath  = /var/www/vhosts/site1.com/subdom/log/errorlog
logpath  = /var/www/vhosts/site3/log/errorlog
logpath  = /var/www/vhosts/site4/log/errorlog
maxretry = 1

路径都不同,所以我不能使用RE *

将更多日志放入规则的正确语法是什么?

Answers:


20

我尝试使用相同的语法,并且在启动fail2ban时没有出现错误。在您的jail.conf中尝试此操作,即使它仍然不起作用,您也可以使用单个日志路径轻松地将规则拆分为多个规则,例如:

[apache-w00tw00t-1]
enabled  = true
filter   = apache-w00tw00t
action   = iptables-allports
logpath  = /var/log/apache*/*error.log 
maxretry = 1

[apache-w00tw00t-2]
enabled  = true
filter   = apache-w00tw00t
action   = iptables-allports
logpath  = /var/www/vhosts/site1.com/log/errorlog 
maxretry = 1

等等

这最终应该工作:

[apache-w00tw00t]
enabled  = true
filter   = apache-w00tw00t
action   = iptables-allports
logpath  = /var/www/vhosts/site1.com/log/errorlog
           /var/log/apache*/*error.log
           /var/www/vhosts/site1.com/subdom/log/errorlog
           /var/www/vhosts/site3/log/errorlog
           /var/www/vhosts/site4/log/errorlog  
maxretry = 1

您可以访问http://centoshelp.org/security/fail2ban/获取信息。


我的代码没有显示错误,但是不能按预期工作。Fail2ban仅看到一个日志规则。您的解决方案是对于每条规则,我都必须在/ filter.d中创建一个文件?示例[Apache的w00tw00t-1]的/ etc /的fail2ban / filter.d /阿帕奇-w00tw00t-1.conf [Apache的w00tw00t-2]的/ etc /的fail2ban / filter.d /阿帕奇-w00tw00t-2.conf等
Max121 2013年

是的,我是那个意思。
Meriadoc Brandybuck

如果您是说这很有趣,但这不是我认为的最佳解决方案,它将使用相同的规则创建许多重复项。我认为有一个更优雅的解决方案,可以将多个日志合并到一条规则中。无论如何,感谢您的协作。
2013年

请在上面的答案中检查我的版本。期待您的结果。
Meriadoc Brandybuck

1
如果为多余的日志指定“制表符”间距,则答案的第二部分将非常理想。如果没有“选项卡”,fail2ban将引发错误。
Hashid Hameed
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.