Eu tenho um fail2ban configurado como abaixo:
- bloquear o ip após 3 tentativas falhas
- libere o IP após 300 segundos de tempo limite
Isso funciona perfeitamente e eu quero mantê-lo dessa maneira, para que um usuário válido tenha a chance de tentar novamente o logon após o tempo limite. Agora, quero implementar uma regra em que se o mesmo IP for detectado como ataque e bloqueado, desbloqueado 5 vezes, bloqueie permanentemente o IP e nunca mais o desbloqueie. Isso pode ser alcançado apenas com fail2ban ou eu preciso escrever meu próprio script para fazer isso?
Eu estou fazendo isso em centos.
Respostas:
Antes da 0.11, não havia nenhum recurso padrão ou uma configuração no fail2ban para conseguir isso. Mas, começando com a próxima versão 0.11, o tempo de banimento é calculado automaticamente e aumenta exponencialmente a cada nova ofensa que, a longo prazo, significará um bloqueio mais ou menos permanente.
Até então, sua melhor abordagem provavelmente é configurar o fail2ban para monitorar seu próprio arquivo de log . É um processo de duas etapas ...
Passo 1
Poderíamos precisa criar um filtro para verificar se há BAN é no arquivo de log (arquivo de log do fail2ban)
Passo 2
Precisamos definir a prisão , semelhante ao seguinte ...
Tecnicamente, não é um bloqueio permanente , mas apenas bloqueios por um ano (que também podemos aumentar).
Enfim, para a sua pergunta (isso pode ser alcançado apenas com fail2ban ou preciso escrever meu próprio script para fazer isso?) ... escrever o próprio script pode funcionar bem. Configurar o script para extrair os IPs freqüentemente banidos e depois colocá-los
/etc/hosts.deny
é o que eu recomendo.fonte
sshd_config
, isso pode potencialmente bloquear apenas 3 logins com falha para uma "sessão" sshd - não são fornecidos 3 logins com falha. Por exemplo, por padrão, um invasor pode tentar ['pass1', 'pass2', 'pass3'] em uma única sessão antes de o sshd se desconectar. Dependendo de como o sshd estiver definido para log, isso pode aparecer como 1, 2 ou 3 tentativas de fail2ban.Eu acredito que se você colocar
bantime = -1
nessa seção de configuração, é um bloco permanente.fonte
bantime
de qualquer valor negativo é uma proibição permanente (a partir de Fail2Ban ver 0.6.1 (2006/03/16).)Phil Hagen escreveu um excelente artigo sobre esse assunto. " Proibir permanentemente infratores repetidos com fail2ban ".
Sua sugestão é a mesma de Pothi, mas fornece um guia passo a passo.
Isso inclui:
fonte
Para expandir a resposta de Chin, isso é bastante simples. Basta editar as 2 configurações
/etc/fail2ban/jail.local
para corresponder às suas preferências.fonte
O fail2ban já tem uma prisão para proibir reincidência. Se você assistir
/etc/fail2ban/jail.conf
, você encontrará:Como adicionar no jail.local?
Para fazer o check-lo LOGLEVEL você pode fazer:
fail2ban-client get loglevel
.Com a versão antiga do fail2ban, você pode obter esse bug .
fonte
Vá para o vim, abra /etc/fail2ban/jail.conf
e apenas modifique depois
fail2ban service restart
:fonte