Fail2ban 和 X-Forwarded

Fail2ban 和 X-Forwarded

我正在我的 Web 服务器上配置 fail2ban。我的 Web 服务器位于 ELB 后面。因此我配置了 X-forwarded 以获取 Apache Access 日志中的真实 IP。但不幸的是,当在访问日志中启用 x-forwarded 时,fail2ban 无法扫描访问日志。这是我的回归条件

failregex = ^<HOST> -.*\"(GET|POST).*

下面是启用 x-forwarded 时的日志格式

10.0.2.18 (42.104.63.31) - - [01/May/2014:16:05:39 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14" 

答案1

您的问题部分在于您拉出了错误的<HOST>。当在 10.0.2.18 开头找到时,您^<HOST>将匹配 ,但我猜您真正想要的是 42.104.63.31。您可以通过告诉 fail2ban 在 10.0.2.18中查找来解决这个问题。<HOST><HOST>()

failregex=\(<HOST>\) -.*(GET|POST)

当使用你的日志片段通过 fail2ban-regex 运行时,它似乎有效

fail2ban-regex logsnippet '\(<HOST>\) -.*(GET|POST)'

Running tests
=============

Use   failregex line : \(<HOST>\) -.*(GET|POST)
Use         log file : logsnippet


Results
=======

Failregex: 1 total
|-  #) [# of hits] regular expression
|   1) [1] \(<HOST>\) -.*(GET|POST)
|      42.104.63.31  Thu May 01 16:05:39 2014
`-

答案2

现在它可以读取客户端 IP,但会反复收到此警告。�<28>fail2ban.filter:警告无法找到相应的 IP 地址 -

相关内容