Artigo

11/08/2019 às 14:30

7 min leitura

Avatar Autor
Por Redação SempreUpdate

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

Fail2ban: configuração básica 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 alertas ao administrador. Após instalação, podemos fazer uso de 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

Inicialmente é necessário dizer que os pré-requisitos básicos são python>=2.4 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.

#apt update

#apt install fail2ban

Arquivos e diretórios importantesFail2ban: configuração básica para prevenir ataques de força bruta

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

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.0.0/8 10.0.0.0/8

Comandos básicos para uso

Iniciando:

service fail2ban start

Verificando IP bloqueado:

iptables -L

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

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

Verificando Log:

tail /var/log/fail2ban.log

Checando serviços/Jail configurado:

fail2ban-client status

Checando status de serviços/Jail:

fail2ban-client status ssh

Checando filtro (regex):

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

Finalizando sobre Fail2ban: configuração básica para previnir 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).

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.

Últimos artigos

Newsletter

Receba nossas atualizações!

Newsletter

Receba nossas atualizações!
  • Este campo é para fins de validação e não deve ser alterado.
×