O Fail2ban é um serviço de firewall poderoso, gratuito e de código aberto, usado para bloquear tentativas de login por força bruta em sistemas remotos. É simples e leve, oferecendo diversos filtros para monitorar o Apache, SSH e outros programas em busca de atividades suspeitas. Ele roda em segundo plano, monitorando os logs de diferentes serviços e bloqueando clientes que falham repetidamente nas verificações de autenticação. O Fail2ban protege seu servidor Linux contra diversas ameaças de segurança, como ataques de dicionário, DoS, DDoS e de força bruta.
Neste post, mostraremos como instalar o firewall Fail2Ban no Arch Linux.
Etapa 1 – Configurar o repositório
Por padrão, o repositório padrão está desatualizado no Arch Linux, então você precisará modificar a lista de espelhos padrão. Você pode fazer isso editando o arquivo de configuração da lista de espelhos:
nano /etc/pacman.d/mirrorlist
Remova todas as linhas e adicione as seguintes linhas:
Pontuação: 0,7, Estados Unidos Servidor = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch Pontuação: 0,8, Estados Unidos Servidor = http://lug.mtu.edu/archlinux/$repo/os/$arch Servidor = http://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch Pontuação: 0,9, Reino Unido Servidor = http://mirror.bytemark.co.uk/archlinux/$repo/os/$arch Pontuação: 1,5, Reino Unido Servidor = http://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch Servidor = http://archlinux.dcc.fc.up.pt/$repo/os/$arch Pontuação: 6,6, Estados Unidos Servidor = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch Pontuação: 6,7, Estados Unidos Servidor = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch Pontuação: 6,8, Estados Unidos Servidor = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch Pontuação: 7,1, Índia Servidor = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch Pontuação: 10,1, Estados Unidos Servidor = http://mirrors.xmission.com/archlinux/$repo/os/$arch
Salve e feche o arquivo e, em seguida, atualize todos os índices de pacotes com o seguinte comando:
Pacman - Syu
Passo 2 – Instale o firewall Fail2Ban
Por padrão, o pacote Fail2Ban está disponível no repositório padrão do Arch Linux. Você pode instalá-lo usando o seguinte comando.
pacman -S falha2ban
Após instalar o pacote Fail2Ban, inicie o serviço Fail2Ban e habilite-o para iniciar na reinicialização do sistema.
systemctl iniciar fail2ban systemctl enable fail2ban
Etapa 3 – Proteja o SSH com o Fail2Ban
O SSH é um dos protocolos mais populares para gerenciar servidores remotos via linha de comando, sendo, portanto, vulnerável a ataques de força bruta. Nesta seção, mostraremos como proteger o SSH com o Fail2Ban. O arquivo de configuração padrão do Fail2Ban está localizado em /etc/fail2ban/jail.conf. É sempre recomendável criar um novo arquivo de configuração do Fail2Ban.
nano /etc/fail2ban/jail.local
Adicione as seguintes linhas:
[sshd] ativado = verdadeiro porta = ssh filtro = sshd caminho_log = %(sshd_log)s backend = %(sshd_backend)s maxretry = 3 tempo de banimento = 300 ignoreip = 127.0.0.1
Salve e feche o arquivo e, em seguida, reinicie o serviço SSH para aplicar as alterações.
systemctl restart fail2ban
Etapa 4 – Verificar Fail2Ban
Neste ponto, o Fail2Ban está instalado e configurado para proteger o servidor SSH contra ataques de força bruta. Agora você pode monitorar o seu Fail2Ban usando a ferramenta fail2ban-client.
Para verificar o status da jail SSH, execute o seguinte comando.
status fail2ban-client sshd
Você deverá ver a lista de todos os IPs bloqueados pelo Fail2Ban na seguinte saída:
Status da prisão: sshd |- Filtrar | |- Falhas atuais: 1 | |- Total de falhas: 8 | `- Correspondências do diário: _SYSTEMD_UNIT=sshd.service + _COMM=sshd `- Ações - Atualmente banido: 1 Total de banidos: 1 - Lista de IPs bloqueados: 49.34.165.39
Para verificar o status de todas as prisões, execute o seguinte comando.
status do cliente fail2ban
Você obterá a seguinte saída.
Status |- Número de presos: 1 `- Lista de jails: sshd
Você também pode consultar o registro do Fail2Ban para obter mais informações:
tail -f /var/log/fail2ban.log
Você deverá ver a seguinte saída.
2023-01-31 05:03:53,142 fail2ban.filter [54073]: INFO [sshd] Encontrado 49.34.165.39 - 2023-01-31 05:03:52 2023-01-31 05:04:03,144 fail2ban.filter [54073]: INFO [sshd] Encontrado 49.34.165.39 - 2023-01-31 05:04:02 2023-01-31 05:04:03,339 fail2ban.actions [54073]: AVISO [sshd] 49.34.165.39 já banido 2023-01-31 05:04:07,686 fail2ban.filter [54073]: INFO [sshd] Encontrado 49.34.165.39 - 2023-01-31 05:04:07 2023-01-31 05:04:11,435 fail2ban.filter [54073]: INFO [sshd] Encontrado 49.34.165.39 - 2023-01-31 05:04:11
Etapa 5 – Trabalhando com a linha de comando do Fail2Ban
O Fail2Ban também permite bloquear e desbloquear IPs remotos manualmente através da linha de comando.
Para desbloquear um endereço IP bloqueado, execute o seguinte comando:
fail2ban-client set sshd unbanip remote-ip
Se você deseja bloquear um endereço IP não confiável, execute o seguinte comando:
fail2ban-client set sshd banip remote-ip
Conclusão
Parabéns! Você instalou e configurou com sucesso o firewall Fail2Ban no Arch Linux. Seu servidor agora está protegido contra tentativas de ataque de força bruta.

