O Fail2ban é uma ferramenta de segurança que ajuda a proteger seu servidor contra ataques de força bruta, bloqueando endereços IP após várias tentativas de login falhadas. Neste tutorial, você aprenderá como instalar e configurar o Fail2ban no Ubuntu 22.04.
Requisitos
- Servidor rodando Ubuntu 22.04
- Acesso root ou um usuário com privilégios sudo
- Conexão à internet
Passo 1: Atualizar o Sistema
Antes de instalar o Fail2ban, é importante garantir que o sistema esteja atualizado. Execute o comando abaixo para atualizar todos os pacotes:
sudo apt update && sudo apt upgrade -y
Passo 2: Instalar o Fail2ban
O Fail2ban está disponível nos repositórios padrão do Ubuntu. Para instalá-lo, execute o seguinte comando:
sudo apt install fail2ban -y
Passo 3: Verificar o Status do Fail2ban
Após a instalação, o Fail2ban deve ser iniciado automaticamente. Verifique o status do serviço com o seguinte comando:
sudo systemctl status fail2ban
Se o Fail2ban não estiver em execução, inicie o serviço com:
sudo systemctl start fail2ban
Passo 4: Configurar o Fail2ban
O arquivo de configuração principal do Fail2ban está localizado em /etc/fail2ban/jail.conf. No entanto, para manter a configuração original intacta, você deve criar uma cópia personalizada chamada jail.local. Para isso, execute o seguinte comando:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Agora, edite o arquivo jail.local para configurar as regras desejadas:
sudo nano /etc/fail2ban/jail.local
Dentro deste arquivo, você pode ajustar várias configurações importantes, como o tempo de banimento, o número de tentativas de login permitidas e o intervalo de tempo para essas tentativas. Por exemplo, para definir o tempo de banimento para 10 minutos (600 segundos) e permitir apenas 3 tentativas falhadas, edite as seguintes linhas:
[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
Passo 5: Habilitar Proteção para o SSH
Uma das aplicações mais comuns do Fail2ban é proteger o acesso SSH. Para habilitar a proteção SSH, encontre a seção [sshd] no arquivo jail.local e garanta que o parâmetro enabled esteja definido como true:
[sshd]
enabled = true
Salve o arquivo e reinicie o Fail2ban para aplicar as alterações:
sudo systemctl restart fail2ban
Passo 6: Verificar o Status do Fail2ban e os IPs Banidos
Você pode verificar se o Fail2ban está funcionando corretamente e listar os IPs banidos usando o seguinte comando:
sudo fail2ban-client status
Para verificar especificamente o status da proteção SSH, use:
sudo fail2ban-client status sshd
Se houver IPs banidos, eles serão listados na saída do comando.
Passo 7: Desbanir um Endereço IP (Opcional)
Se precisar desbanir um endereço IP que foi bloqueado erroneamente, você pode fazê-lo com o seguinte comando:
sudo fail2ban-client set sshd unbanip 192.168.0.100
Substitua 192.168.0.100 pelo endereço IP que deseja desbanir.
Passo 8: Configurar Notificações por E-mail (Opcional)
O Fail2ban pode enviar notificações por e-mail sempre que ocorrer um banimento. Para configurar isso, edite o arquivo jail.local e adicione o endereço de e-mail na seção [DEFAULT]:
[DEFAULT]
destemail = [email protected]
sendername = Fail2Ban
mta = sendmail
Certifique-se de que o sendmail ou outro MTA (agente de transporte de e-mail) esteja instalado e configurado para enviar as notificações.
Servidor VPS
Se precisar de um servidor VPS confiável para hospedar seus serviços com segurança e configurar o Fail2ban para proteger o acesso SSH, veja as opções disponíveis aqui.