fail2ban o apache-badbots não está bloqueando o IP

1

Estou tentando fazer com que o fail2ban bloqueie certos bots ruins que martelam meu site. Comecei com apenas habilitando o padrão "apache-badbots" em jail.local (eu mudei o logpath para coincidir com os meus próprios logs e o usuário envia relatórios para)

enabled = true filter = apache-badbots action = iptables-multiport[name=BadBots, port="http,https"] sendmail-buffered[name=BadBots, lines=5, dest=jisti] logpath = /var/logs/httpd/access_log bantime = 172800 maxretry = 1

Eu reiniciei o fail2ban e recebi um email dizendo que a prisão começou. No entanto, enquanto eu observava os logs, um dos bots ruins martelou o site e o fail2ban não fez nada.

Então eu verifiquei o apache-badbots.conf nos filtros. Cheguei à conclusão de que o regex provavelmente não combinava com o formato de log personalizado que eu estava usando, nem estava realmente procurando pelo bot errado específico que estava martelando meu site. Eu mexi com o failregex e depois testei com

fail2ban-regex /var/log/httpd/access_log /etc/fail2ban/filter.d/apache-badbots.conf

Isso relatou sucesso e mais de 300 correspondidos. Woohoo eu pensei. Eu reiniciei o fail2ban. Logo depois vi o bot martelando o site novamente e fail2ban não fazendo nada. Eu verifiquei o iptables só para ver se estava fazendo alguma coisa, mas pegando a regra do iptables errada

iptables -S -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -N fail2ban-BadBots -N fail2ban-SSH -N fail2ban-php-url-open -A INPUT -p tcp -m tcp --dport 22 -j fail2ban-SSH -A fail2ban-BadBots -j RETURN -A fail2ban-SSH -j RETURN -A fail2ban-php-url-open -j RETURN

Também devo mencionar que quando bloqueia ataques SSH, ele adiciona corretamente as regras do iptables. Então, alguma coisa funciona, mas não apache-badbots.

Em seguida, tentei configurar o log do fail2ban para depurar e ler através do fail2ban.log. Infelizmente não havia nada lá que ajudasse. Havia entradas de log para a cadeia de partida e definindo o regex correto, bem como definir as ações. No entanto, não havia entradas de log para a correspondência de cadeia do apache-badbots e ação contra qualquer IP.

Também vou mencionar que o SSH parece funcionar muito bem, então o fail2ban funciona na caixa, mas não na cadeia do apache-badbots.

O que preciso fazer para que funcione?

    
por Jistanidiot 29.04.2016 / 18:54

1 resposta

1

Em seu jail.local, você direciona o fail2ban para / var / logs / httpd / access_log em vez de / var / log / httpd / access_log como em seu regex teste.

    
por 30.04.2016 / 00:08

Tags