我一直在尝试让 fail2ban 与 Xeams 电子邮件垃圾邮件过滤器配合使用。但是,我不知道应该使用什么可能的正则表达式来匹配日志。日志采用这种格式。
61.240.144.65 1451702136946 5
185.130.5.240 1451702444872 5
192.237.159.38 1451705774912 5
185.130.5.240 1451712868825 5
日志的每个部分都由一个 Tab 分隔(我认为),第一部分是主机 IP。我不知道其他部分是做什么的。
我已经尝试了以下正则表达式,但是根据 fail2ban-regex 它不起作用。
<HOST> 1451.* .*
也:
<HOST> .* .*
说实话,我不知道该怎么做才能匹配这些日志。
答案1
您遇到的问题是 fail2ban 期望该行包含有效的时间戳,而您的日志行不符合该标准,因为它们以 . 开头<HOST>
。
为了使日志行匹配您的失败正则表达式,它实际上必须匹配两个部分:行的开头必须匹配时间戳模式或正则表达式,行的其余部分必须匹配您的失败正则表达式。如果失败正则表达式以 ^ 开头,则锚点指的是行的其余部分的开头,在时间戳和中间的空格之后
您需要向 fail2ban 提供符合其输入要求的日志文件。