Fail2ban no Ubuntu 11.10 não proíbe o filtro / cadeia

2

Um aplicativo que estou executando registra logins incorretos como este:

Tue, 19 Mar 13 20:46:03 +0000 failed login from iphere !
Tue, 19 Mar 13 20:46:03 +0000 failed login from iphere !
Tue, 19 Mar 13 20:46:03 +0000 failed login from iphere !

Estou tentando impedir que pessoas que não conseguem efetuar login no IP sejam banidas para evitar ataques de força bruta. Nota: iphere é obviamente o IP real. E não, não 127.0.0.1 como isso é excluído do banimento na configuração:)

O que eu tentei

  • Pesquisou e leu cerca de 10 guias ...
  • Fail2ban reinstalado
  • Defina backend para polling ao invés de auto, muitos relataram que isso é um bug
  • Verificou todos os registros
  • Testado o regexp
  • O fail2ban confirmado está funcionando
  • Tornou o findtime e o badtime extremamente longos para ver se era talvez um problema de fuso horário (o aplicativo armazena os registros de data e hora GMT e o servidor está em GMT + 1)

O Fail2ban está trabalhando com o jail / filtro SSH não alterado padrão! Eu tentei entrar no SSH algumas vezes e isso causa uma proibição. Então é minha configuração de alguma forma.

Um bom guia que encontrei é o seguinte: link

Uma correção que apliquei foi esta: fail2ban.action.action ERRO na inicialização / reinicialização Eu tive vários fail2ban.action.action erro na inicialização / reinicialização. Parece que houve uma condição de "corrida" com o iptables. Eu resolvi o problema completamente no meu sistema editando / usr / bin / fail2ban-client e adicionando um time.sleep (0.1) Este foi um erro que vi no log do fail2ban que foi resolvido acima.

Arquivos de log

Os arquivos de log mostram que a cadeia começa bem. Eu posso ver as linhas sendo gravadas em /var/log/myapp.log fail2ban-client -d me fornece isso, além do filtro SSH padrão:

['add', 'myapp', 'polling']
['set', 'myapp', 'addlogpath', '/var/log/myapp.log']
['set', 'myapp', 'maxretry', 3]
['set', 'myapp', 'addignoreip', '127.0.0.1/8']
['set', 'myapp', 'findtime', 60000]
['set', 'myapp', 'bantime', 1800]
['set', 'myapp', 'addfailregex', '.*failed login from <HOST> .*']

Abaixo você encontrará meus arquivos de configuração.

Filtro

/etc/fail2ban/filter.d/myapp.conf
[Definition]
failregex = .*failed login from <HOST> .*

Eu testei o filtro com:

fail2ban-regex /var/log/myapp.log /etc/fail2ban/filter.d/myapp.conf                                             

Resultado (nada de especial, apenas uma lista de correspondências e isso): Sucesso, o número total de jogos é de 254

O filtro deve estar bem.

Prisão

[myapp]

enabled = true
port = all
filter = myapp
logpath = /var/log/myapp.log
findtime = 60000
bantime = 1800
maxretry = 3
banaction  = iptables-multiport-log

Depois de configurá-los, obviamente, eu fiz uma atualização do fail2ban-client e reiniciei o serviço com o fail2ban.

É suficiente dizer que nenhuma proibição está sendo feita. Passei bastante tempo nessa questão, mas achei que tem que ser algo pequeno, então achei que seria bom perguntar aqui.

    
por Bart 20.03.2013 / 07:41

0 respostas