编写一个fail2ban多行正则表达式

编写一个fail2ban多行正则表达式

我不确定这是否是正确的正则表达式,但我正在尝试在忽略正则表达式中添加多行

以下是我的 ddos​​.conf 中的配置行:

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*
ignoreregex =.*(robots.txt|favicon.ico|jpg|png)
             ^<HOST> -.*"(GET|POST).*(Googlebot|bingbot)

代码是否正确,我应该在乘行中添加什么

答案1

failregex您可以向and添加多个正则表达式ignoreregex(与通过 执行的方式完全相同ignoreregex),只需:

  • ignoreregex并不真正期望 tag ,所以要么用类似的东西<HOST>替换它;\S+
  • 您的正则表达式很容易受到攻击 - 不要使用包罗万象的(.*.+等),因此请始终尝试编写尽可能精确的正则表达式并锚定它。例如,由于首先ignoreregex,攻击者可以添加?robots.txt到请求中以忽略发现。
  • 就像假冒的谷歌机器人可以继续攻击一样——仅检查代理是不够的。

编写一个fail2ban多行正则表达式

至于多行正则表达式的可能性 - 这取决于日志的外观以及您到底需要从那里解析什么,所以如果没有示例就很难描述。

请参阅我对类似问题的回答github.com/fail2ban #2971,评论798429044

另请注意我的回答堆栈溢出 / 64857401 #65375323

相关内容