Como instalar Fail2ban no servidor Ubuntu 24.04
Nesta página
- Pré-requisitos
- Instalando Fail2ban e UFW (Firewall Descomplicado)
- Configurando Fail2ban
- Verificando regras fail2ban usando fail2ban-client
- Como banir e cancelar o banimento de endereço IP com fail2ban-client
- Conclusão
Fail2ban é um IPS (Software de Prevenção de Intrusões) gratuito e de código aberto que ajuda os administradores a proteger servidores Linux contra logins maliciosos e ataques de força bruta. Fail2ban é escrito em Python e vem com filtros para vários serviços, como Apache2, SSH, FTP, etc. Fail2ban reduz tentativas maliciosas de login, bloqueando os endereços IP dos ataques de origem.
Fail2ban funciona verificando arquivos de log de serviços (por exemplo, /var/log/auth.log) e banindo endereços IP que mostram tentativas de login maliciosas, como muitas senhas incorretas, busca de explorações, etc. Fail2ban também oferece suporte a vários back-ends de firewall, como iptables, ufw e firewalld. Também permite configurar uma notificação por e-mail para cada tentativa de login bloqueada.
Neste guia, você aprenderá como instalar o Fail2ba no servidor Ubuntu 24.04. Você configurará a prisão Fail2ban, aprenderá o comando básico ‘fail2ban-client’ e, em seguida, aprenderá como banir e cancelar o banimento de endereços IP usando Fail2ban.
Pré-requisitos
Para começar com este guia, certifique-se de ter:
- Um servidor Ubuntu 24.04
- Um usuário não root com privilégios de administrador
Instalando Fail2ban e UFW (Firewall Descomplicado)
Fail2ban é um IPS (Software de Prevenção de Intrusões) que protege servidores contra ataques de força bruta. Ele está disponível por padrão na maioria dos repositórios Linux e oferece suporte a vários back-ends de firewall. Nesta seção, você instalará o Fail2ban e, em seguida, configurará o UFW (Firewall Descomplicado), que será usado como back-end do firewall para o Fail2ban.
Primeiro, execute o comando abaixo para atualizar o índice de pacotes do Ubuntu.
sudo apt update
Agora instale os pacotes 'fail2ban' e 'ufw' com o seguinte comando 'apt'. Insira 'Y' para confirmar a instalação.
sudo apt install fail2ban ufw
Após a conclusão da instalação, execute o comando abaixo para abrir a porta para SSH e habilitar o UFW. Insira 'Y' para confirmar, iniciar e ativar o UFW.
sudo ufw allow OpenSSH
sudo ufw enable
Depois que o UFW estiver ativado, você verá a saída 'Firewall está ativo e ativado na inicialização do sistema'.
Em seguida, execute o seguinte comando para verificar o status do UFW. Você verá que o UFW está 'ativo' com o 'OpenSSH' ativado.
sudo ufw status
Por último, execute o comando 'systemctl' abaixo para iniciar, ativar e verificar o serviço 'fail2ban'.
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban
Você pode ver abaixo que 'fail2ban' está ativo (em execução) e habilitado.
Configurando Fail2ban
Após instalar o fail2ban, você deve configurá-lo antes que o Fail2ban execute uma ação (verificação e bloqueio). Nesta seção, você modificará a configuração do fail2ban '/etc/fail2ban/jail.local', definirá a configuração global para 'bantime', 'maxretry', e 'findtime', configure a ação padrão e o back-end do firewall UFW e, em seguida, ative a prisão 'sshd' para proteger o serviço SSH contra ataques de força bruta.
Para começar, copie a configuração padrão do fail2ban para '/etc/fail2ban/jail.local' com o seguinte:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Abra o arquivo '/etc/fail2ban/jail.local' com o seguinte comando do editor 'nano'.
sudo nano /etc/fail2ban/jail.local
Adicione sua rede local à opção 'ignoreip'. Qualquer sub-rede dentro desta opção não será bloqueada pelo fail2ban.
ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20
Ajuste a configuração padrão para 'bantime' (o horário em que o endereço IP será banido), 'findtime' (a duração entre o número de falhas antes da ação de banimento), e 'maxretry' (o número de falhas para endereços IP serem banidos). Neste exemplo, você configurará o 'bantime' para '1 hora', o 'findtime' para '10 minutoss', com 'maxretry' para '5 vezes'.
bantime = 1h
findtime = 10m
maxretry = 5
Opcionalmente, altere o padrão 'action' para '%(action_mw)s' para banir endereços IP e enviar notificação ao administrador por e-mail. Além disso, certifique-se de alterar as opções ‘destmail’ e ‘sender’.
action = %(action_mw)s
destemail = [email
sender = [email
Altere o padrão 'banaction' para 'ufw'. Com isso, os endereços IP serão banidos pelo fail2ban via UFW.
banaction = ufw
Agora altere a prisão padrão para 'sshd' com a configuração abaixo. Neste exemplo, a prisão 'sshd' terá configurações personalizadas para 'bantime', 'maxretry' e 'findtime '.
[sshd]
enabled = true
maxretry = 3
findtime = 15m
bantime = 3h
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Salve e saia do arquivo quando terminar.
Por último, execute o comando 'systemctl' abaixo para reiniciar o serviço 'fail2ban' e aplicar suas alterações.
sudo systemctl restart fail2ban
Verificando regras fail2ban usando fail2ban-client
Neste ponto, o serviço Fail2ban está instalado e funcionando com a prisão ‘sshd’ habilitada. Agora você aprenderá o comando básico do 'fail2ban-client' para verificar e gerenciar a instalação do Fail2ban.
Para garantir que o fail2ban esteja em execução, execute o comando 'fail2ban-client' abaixo.
sudo fail2ban-client ping
Se o fail2ban estiver em execução, você verá uma saída 'PONG'.
Agora verifique o status da prisão 'sshd' com o seguinte comando. Isso mostrará a lista de endereços IP detectados e banidos para a prisão 'sshd'.
sudo fail2ban-client status sshd
Em seguida, execute o comando 'fail2ban-client get' abaixo para verificar as regras específicas de sua prisão fail2ban. Nesta seção, você verificará 'bantime', 'maxretry', 'actions', 'findtime ' e 'ignoreip' da prisão 'sshd'.
sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd actions
sudo fail2ban-client get sshd findtime
sudo fail2ban-client get sshd ignoreip
Como banir e cancelar o banimento de endereço IP com fail2ban-client
É importante saber como banir ou cancelar o banimento de endereços IP manualmente usando 'fail2ban-client'. Com isso, você pode facilmente remover seu endereço IP da lista de banidos. Você utilizará o comando ‘fail2ban-client’ para banir e cancelar o banimento de endereços IP no Fail2ban.
Para banir endereços IP manualmente via fail2ban, execute o comando 'fail2ban-client' abaixo. Neste caso, o endereço IP banido vai para a prisão 'sshd'.
sudo fail2ban-client set sshd banip IP-ADDRESS
Agora execute o seguinte comando para cancelar o banimento do endereço IP da prisão fail2ban 'sshd'.
Sudo fail2ban-client set sshd unbanip IP-ADDRESS
Por último, você pode verificar o status da prisão 'sshd' usando o comando abaixo. Você verá que o endereço IP foi removido.
sudo fail2ban-client status sshd
Conclusão
Parabéns! Você concluiu a instalação do fail2ban no servidor Ubuntu 24.04. Você também aprendeu a configuração básica para configurar o Fail2ban, incluindo a configuração global e a prisão. Por último, você também aprendeu o uso básico do comando ‘fail2ban-client’ para verificar o status do fail2ban, o status da prisão, as configurações da prisão e banir e cancelar o banimento de endereços IP manualmente.