Fail2ban no Debian - Instalação e Configuração

O Fail2ban é uma solução para prevenir ataques de força bruta. Ele realiza a análise de logs (syslog) e, na sequência, realiza algumas ações como a criação de regras no Firewall e o envio de alertas aos administradores do sistema. Neste material irei explicar melhor como essa aplicação funciona, além de demonstrar como instalar e configurar o Fail2ban.

[ Hits: 10.570 ]

Por: Diego Mendes Rodrigues em 13/01/2021 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


Introdução



O Fail2ban é uma solução para prevenir ataques de força bruta. Ele realiza a análise de logs (syslog) e na sequência, realiza algumas ações como a criação de regras no Firewall e o envio de alertas aos administradores do sistema.

Após instalar o Fail2ban, podemos fazer uso de diversos filtros, em vários serviços como o SSH, Postfix, dentre outros. 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 riscos de um sistema de autenticação falho.

Pensando na proteção de servidores, uma das utilidades do Fail2ban que mais me agrada é a proteção do serviço SSH, onde podemos controlar quantas vezes um usuário pode tentar realizar o login. E caso ele tente e erre mais vezes que o permitido, sele será banido automaticamente. Ao logar-me em um servidor de um cliente, quando observei o syslog dessa máquina, identifiquei que estava ocorrendo um ataque SSH de força bruta.
Linux: Instalar e configurar o Fail2ban no Debian
Neste caso, eu poderia bloquear o IP diretamente utilizando o IPtables e resolver o problema temporariamente, mas essa solução são será efetiva, pois o atacante pode utilizar um proxy, ou apenas trocar de IP, voltando então a realizar o ataque de força bruta.

Precisamos que o servidor seja capaz de identificar os ataques, realizando os bloqueios de forma automática, sem que o administrador de sistemas precise realizar alguma ação neste sentido. Para isto, iremos ver neste material como instalar o Fail2ban na distribuição Debian, sendo que ele se encarregará de realizar esse tipo de proteção, deixado nossos servidores mais seguros.

Instalação

A instalação ocorre com o comando:

# apt install fail2ban

Após esse comando, automaticamente o Fail2ban é instalado e começa a funcionar no servidor, aplicando as regras de segurança necessárias assim que forem necessárias.
Linux: Instalar e configurar o Fail2ban no Debian

Como podemos observar no log acima, o IP 45.141.86.128 está realizando um ataque de força bruta contra o servidor, utilizando um dicionário de senhas, como hello, master, 11111, 1234, backup, dentre outras.

Na segunda imagem de log, observamos que o Fail2ban baniu esse IP, já que ao observar o histórico do log, percebeu as diversas notificações de tentativas de log com erros (falso positivos) e já aplicou a proteção necessária. Observe também que vários outros IPs foram banidos, como o 45.55.50.52, 222.186.31.204 e o 67.247.123.8.

Configuração

Após a instalação do Fail2ban, podemos agora configurá-lo para que ele trabalhe de acordo com as nossas necessidades de segurança, editando o arquivo de configuração:

# nano /etc/fail2ban/jail.conf

Devemos localizar as seguintes linhas neste arquivo, para realizar nossas configurações:
Linux: Instalar e configurar o Fail2ban no Debian
Como administrador de servidores, prefiro ajustar melhor essas configurações, tornando o ataque nessas máquinas mais difícil, utilizando os seguintes ajustes:
  • O atacante fica banido por 1 hora ao realizar um ataque: bantime = 60m
  • Caso o atacante realize um ataque em menos de 3 minutos, será banido.
  • O contador de tempo de análise é reiniciado a cada 3 minutos: findtime = 3m
  • Máximo de tentativas que um usuário pode realizar antes de ser banido: maxretry = 3

Devo ressaltar que cada administrador pode configurar o Fail2ban de acordo com suas necessidades, ou seja, de acordo com as necessidades de segurança dos servidores de seus clientes.

Ao olharmos mais abaixo no arquivo de configuração, podemos ver as 'jaulas' de cada serviço em funcionamento no Linux, como por acaso, nosso servidor SSH.
Linux: Instalar e configurar o Fail2ban no Debian
Podemos observar a linha com "maxretry = 2", no final das configurações do nosso servidor SSH. Nessa linha, o máximo de tentativas de login antes do banimento, no serviço de SSH, ficou definido como 2, reforçando a proteção contra a tentativa de logins incorretos nesse serviço.

Desta forma, fica claro que podemos configurar o "maxretry =" individualmente para cada serviço Linux, aumentando e definindo de forma adequada à segurança de cada servidor em nossa rede, ou na internet.

Ao final dessas configurações, podemos então verificar se o Fail2ban está atuando na verificação dos serviços necessários, no seguinte arquivo:

# nano /etc/fail2ban/jail.d/defaults-debian.conf

Observe na figura abaixo, que o módulo SSHD está ativado, sendo que podemos adicionar todos os módulos configurados no arquivo "jail.conf":
Linux: Instalar e configurar o Fail2ban no Debian

Quando todas as configurações forem realizadas, podemos aplicá-las utilizando o comando:

# systemctl restart fail2ban

Com o comando tail, podemos visualizar nossos arquivos de log, observando o syslog para vermos quando somos atacados:

# tail -f /var/log/syslog

Por outro lado, podemos ver quando o Fail2ban bane e 'desbane' um atacante:

# tail -f /var/log/fail2ban.log
Linux: Instalar e configurar o Fail2ban no Debian

A partir deste momento, podemos deixar a aplicação de segurança trabalhando e bloqueando todos que tentarem realizar o login com senhas incorretas nos nossos servidores.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Linuxfx OS - Distribuição para quem deseja o visual do Windows 10

Nmap - Escaneando sua Rede e Mantendo-a Segura

Mageia Linux 8

ISPConfig 3.1 - Instalação no Debian 9

MultiCD - Diversas Distribuições no mesmo DVD/Pendrive

Leitura recomendada

Protegendo seu Linux de ataques de brute force via ssh

Iptables protege contra SYN FLOOD?

Travando qualquer máquina Linux

Race Condition

Incron - supervisionando sistemas de arquivos

  
Comentários
[1] Comentário enviado por maurixnovatrento em 13/01/2021 - 20:40h


Esse fail2ban é vem eficaz né? Muito bom Artigo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por diegomrodrigues em 15/01/2021 - 08:42h


[1] Comentário enviado por mauricio123 em 13/01/2021 - 20:40h


Esse fail2ban é vem eficaz né? Muito bom Artigo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Sim, funciona muito bem o Fail2ban.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts