Eu tenho o seguinte snippet da configuração fail2ban
no servidor Ubuntu 13.10:
#jail.conf
[apache-getphp]
enabled = true
port = http,https
filter = apache-getphp
action = iptables-multiport[name=apache-getphp, port="http,https", protocol=tcp]
mail-whois[name=apache-getphp, dest=root]
logpath = /srv/apache/log/access.log
maxretry = 1
#filter.d/apache-getphp.conf
[Definition]
failregex = ^<HOST> - - (?:\[[^]]*\] )+\"(GET|POST) /(?i)(PMA|phptest|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2|cgi-bin)
ignoreregex =
Eu sei que o regex é bom, porque se eu executar o comando test no meu access.log:
fail2ban-regex /srv/apache/log/access.log /etc/fail2ban/filter.d/apache-getphp.conf
Recebo um resultado de SUCESSO com vários resultados e, no meu log, vejo entradas como
187.192.89.147 - - [13/Apr/2014:11:36:03 +0100] "GET /phpTest/zologize/axa.php HTTP/1.1" 301 585 "-" "-"
187.192.89.147 - - [13/Apr/2014:11:36:03 +0100] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 301 593 "-" "-"
Em segundo lugar, sei que o email está configurado corretamente, pois cada vez que eu service fail2ban restart
recebo um email para cada um dos filtros parando / iniciando.
No entanto, apesar de tudo isso, nenhuma ação parece ser tomada quando uma dessas solicitações chega. Nenhum email com whois e nenhuma entrada no iptables. O que possivelmente poderia estar impedindo o fail2ban de agir?
(tudo parece em ordem em fail2ban-client -d
e eu posso ver as correntes carregadas com iptables -L
)