Guia para configuração básica do fail2ban para prevenir ataques de força bruta!

Fail2ban é um software para prevenir ataques de força bruta. Sendo que ele faz análise de logs, tomando algumas atitudes como criação de regras no firewall e envio de alerta ao administrador. Após instalação, podemos usar diversos filtros para vários serviços (ssh, postfix…). Fail2ban: configuração básica para prevenir ataques de força bruta. Segundo o site da própria ferramenta o Fail2ban é capaz de reduzir a taxa de tentativas de logins não desejados, entretanto isso não elimina os risco de um sistema de autenticação falho.

Instalação do fail2ban

Inicialmente é necessário dizer que os pré-requisitos básicos são python>=2.X e um firewall, no caso será o iptables. A instalação pode ser feita a partir do código-fonte, entretanto para facilitar utilizaremos o gerenciador de pacotes em um ambiente Ubuntu.

Terminal
sudo apt update

sudo apt install fail2ban

Para instalar o fail2ban no Fedora, execute:

Terminal
sudo dnf install fail2ban

Se ainda utiliza o CentOS, execute:

Terminal
sudo yum install fail2ban

Arquivos e diretórios importantes

Antes de configurar é necessário conhecer alguns termos e arquivos básicos.

  • Filtros(filters): Um filtro é definido com expressões regulares, que correspondem a padrões de tentativas de invasões em logs.
  • Ações(actions): define comandos a serem executados, por exemplo, bloquear ou liberar um determinado IP.
  • Jail(jaulas): combina os filtros com as ações.
  • /etc/fail2ban/fail2ban.conf: Arquivo com configurações básicas.
  • /etc/fail2ban/jail.conf: arquivo com configurações de serviços monitorados, combinando filtros e ações. Na verdade, configurações feitas pelo usuário, se  recomenda a utilização do jail.local ao invés de jail.conf.
  • /etc/fail2ban/action.d/: diretório onde ficam as regras de ações a serem tomadas, caso os filtros deêm match.
  • /etc/fail2ban/filter.d/: diretório com expressões e padrões para detectar os ataques.

Arquivo jail.local do fail2ban

Agora que está instalado, vamos configurar para monitorar um serviço. No caso explicando linha a linha:

  • Habilitando a verificação com enabled = true.
  • Pedindo para usar o filtro sshd que fica na pasta /etc/fail2ban/filter.d/ (filtro já existe, não foi necessário alterar).
  • Usando 1 script de ação iptables que fica em /etc/fail2ban/filter.d/.
  • Usando a variável logpath para dizer o arquivo de log, que será usado para verificar as tentativas de login que falharam.
  • Com maxretry, estamos dizendo a quantidade máxima que um usuário pode errar a senha antes do banimento do IP.
  • Bantime é o tempo de vigência do banimento do IP em segundos.
  • E por fim com ignoreip, como o nome já diz estamos pedindo para ignorar faixas de IP.
[ssh]
enabled = true
filter = sshd
action = iptables[name=ssh, port=”ssh”, protocol=tcp]
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
ignoreip = 127.0

Comandos básicos do fail2ban

Iniciando:

Terminal
service fail2ban start

Verificando IP bloqueado:

Terminal
iptables -L

Desbloqueando IP(onde a <Chain name> e <IP> conseguimos no comando acima):

Terminal
iptables -D fail2ban- -s -j DROP

Verificando Log:

Terminal
tail /var/log/fail2ban.log

Checando serviços/Jail configurado:

Terminal
fail2ban-client status

Checando status de serviços/Jail:

Terminal
fail2ban-client status ssh

Checando filtro (regex):

Terminal
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf

Sobre Fail2ban: configuração básica para prevenir ataques de força bruta

Fail2ban é uma excelente alternativa para prevenir ataques de força bruta, entretanto não te salvará em casos de senhas fracas e outras políticas de segurança equivocadas. Mas acredito que ficará surpreso com a quantidade de IPs bloqueados, após a instalação dele em uma máquina com portas abertas na internet.

Todavia é possível realizar testes, para isso erre de propósito sua senha SSH mais vezes que o máximo permitido, e verifique que o IP de sua máquina será bloqueado. Para finalizar esse é apenas uma maneira de configurar o software, pois pode ser usados com diversos sistemas operacionais  e diversos meios de bloquear acessos (outros firewall).

Se precisar de mais informações ou de acesso ao código do fail2ban, acesse o botão abaixo.

Share This Article
Os artigos vinculados à este usuário são de terceiros. A informação aqui contida não foi elaborada originalmente por nós do SempreUpdate. Mas, publicamos conforme solicitação, envio ou recomendações do próprio autor, assessoria e outros departamentos comerciais ou não comerciais.
Sair da versão mobile