31.01.2025

Como instalar e configurar o Fail2ban no Ubuntu 20.04

O Fail2ban foi projetado para proteger portas abertas e serviços em execução no servidor. Ele monitora tentativas de autorização malsucedidas e bloqueia o endereço IP de origem por um determinado período. Isso reduz significativamente a probabilidade de invasão do servidor por meios automáticos, por exemplo, login e senha de força bruta.
Neste tutorial, instalaremos e configuraremos o Fail2ban no Ubuntu 20.04.

Instalação do Fail2ban

Para instalar o Fail2ban, use este comando:

apt install fail2ban

Ele é iniciado automaticamente após a instalação. Para verificar o status do serviço, use este comando:

systemctl status fail2ban

Configuração do Fail2ban

Para alterar as configurações de proibição padrão para todos os serviços, faça uma cópia do arquivo jail.conf.

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Abra o arquivo jail.local e vá para a seção [DEFAULT]. Por exemplo, vamos definir o tempo de banimento como 3600 minutos.

bantime = 3600m

Para ver todas as regras disponíveis, vá para a seção JAILS. Por exemplo:

[nginx-http-auth]

Depois de alterar o arquivo, reinicie o serviço.

systemctl restart fail2ban

Adicionando e configurando regras

Há uma pasta /etc/fail2ban/jail.d/ para gerenciar as regras ativas. Você pode criar um arquivo separado para cada uma delas. Por exemplo, nginx-http-auth.conf. A segunda maneira é inserir a configuração no arquivo defaults-debian.conf existente. Basta adicionar essas linhas lá:

[nginx-http-auth]
enabled = true

Você pode adicionar parâmetros individuais para cada regra aqui.
Vamos definir o endereço IP a ser ignorado no parâmetro ignoreip, o tempo para o banimento é de 2400 minutos e o número de tentativas de autorização com falha é 10.

ignoreip = 10.10.10.5
bantime = 2400m
maxretry = 10

Salve e feche o arquivo e reinicie o serviço.

systemctl restart fail2ban

Usando o fail2ban-client

Há um cliente Fail2ban para gerenciar suas regras. Lembre-se de que todas as alterações feitas aqui serão redefinidas após a reinicialização do sistema ou do serviço. Para visualizar as regras ativas, use este comando:

fail2ban-client status

Para ver as estatísticas da cadeia, use esse comando com o nome que você precisa em vez de sshd:

fail2ban-client status sshd

Para ativar uma regra, use seu nome no arquivo de configuração e o comando:

fail2ban-client add nginx-http-auth

Em seguida, inicie-o.

fail2ban-client start nginx-http-auth

Para exibir todos os comandos disponíveis:

fail2ban-client -h