Fail2Ban – Para o que serve, principais pontos e como instalar

image_pdfimage_print

Fail2ban é um software para prevenir ataques de força bruta. Funciona analisando logs do sistema ou serviços, tomando algumas atitudes como criação de regras no firewall e envio de alertas ao administrador de acordo com a detecção de falhas na autenticação ou qualquer outra regra via regex definida e encontrada no log alvo analisado.

Fail2ban tem a capacidade de monitorar diversos serviços como ssh, exim, postfix, dovecot, sendo capaz de reduzir a taxa de tentativas de logins não desejados. Entretanto isso não elimina os riscos de um sistema de autenticação falho e senhas fracas.

Para instalar, em sistema Debian-like, basta:

# apt install fail2ban

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.

Comandos importantes para administração:

Inicializar o serviço:

service fail2ban start

Verificar IPs bloqueados:

iptables -L

Verificar os logs do fail2ban:

tail /var/log/fail2ban.log

Desbloqueando IPs:

iptables -D fail2ban-<CHAIN_NAME> -s <IP> -j DROP

Serviços/Jails configurados:

fail2ban-client status

Checando o status do serviço, inclusive total de ips banidos e total de tentativas que falharam:

fail2ban-client status sshd

Checando o filtro (regex):

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

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!