Fail2ban e X-Forwarded

1

Estou configurando o fail2ban em meus servidores da web. Meus servidores estão por trás do ELB. então configurei o X-forwarded para obter os IPs reais nos logs do Apache Access.Mas infelizmente o fail2ban não consegue varrer accesslogs quando o x-forwarded está habilitado nos logs de acesso.Essa é minha condição de regressão

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

E abaixo está minha forma de registro quando x-forwarded ativado

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" 
    
por nitheeshp 01.05.2014 / 18:06

2 respostas

1

Parte do problema é que você está extraindo o <HOST> errado. Seu ^<HOST> corresponderá a <HOST> quando encontrado no início do mesmo, por ex. 10.0.2.18 quando eu acho que o que você realmente quer é 42.104.63.31. Você pode corrigir isso informando ao fail2ban para procurar <HOST> dentro de () , por exemplo,

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

que parece funcionar quando executado por meio do fail2ban-regex com seu snippet de log

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
'-
    
por 01.05.2014 / 18:46
0

Agora é capaz de ler o IP do cliente, mas recebendo este aviso novamente e novamente. < 28 > fail2ban.filter: WARNING Não foi possível encontrar um endereço IP correspondente para -

    
por 02.05.2014 / 06:18