Editado 1 Uma semana atrás por ExtremeHow Equipe Editorial
SegurançaFail2BanProteção contra Força BrutaConfiguraçãoInstalaçãoSysAdminMonitoramentoSSHBanimento de IPAutomação
Tradução atualizada 1 Uma semana atrás
O Fail2Ban é um software de código aberto popular que ajuda a proteger seu servidor Linux contra ataques de força bruta. Ele faz isso monitorando arquivos de log e banindo temporariamente endereços IP que apresentam comportamento suspeito. Configurar o Fail2Ban corretamente pode aumentar a segurança do seu servidor, respondendo automaticamente a tentativas de acesso não autorizadas.
O Fail2Ban funciona identificando instâncias em que um usuário ou script está tentando obter acesso não autorizado ao seu servidor. Ele escaneia arquivos de log específicos em busca de padrões predefinidos e, em seguida, bane temporariamente quaisquer endereços IP que correspondam a esses padrões. Essa ação ajuda a impedir que atacantes adivinhem repetidamente senhas ou manipulem vulnerabilidades em seu sistema.
Antes de configurar o Fail2Ban, é importante entender seus componentes básicos:
Antes de configurar o Fail2Ban, certifique-se de ter acesso administrativo ao seu servidor Linux. Isso permite que você instale novos softwares e modifique a configuração do sistema. Além disso, você deve ter um conhecimento básico das operações de linha de comando do Linux. Também é importante configurar corretamente seu firewall, pois o Fail2Ban irá interagir com ele para bloquear e desbloquear endereços IP.
A maioria das distribuições Linux incluem o Fail2Ban em seus repositórios de pacotes, o que torna a instalação simples. Vamos ver as etapas de instalação para diferentes distribuições:
sudo apt-get update
sudo apt-get install fail2ban
sudo yum install fail2ban
Após a instalação, o serviço Fail2Ban geralmente será iniciado automaticamente. Você pode verificar seu status da seguinte forma:
sudo systemctl status fail2ban
O Fail2Ban é altamente configurável através de seus arquivos de configuração. Veja como você pode personalizá-lo para atender às suas necessidades de segurança:
O arquivo de configuração principal do Fail2Ban está localizado em /etc/fail2ban/jail.conf
, mas é recomendado criar uma cópia local para garantir que futuras atualizações não sobrescrevam suas configurações. Crie um novo arquivo chamado jail.local
:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
jail.local
Edite jail.local
para definir suas preferências específicas. As seguintes seções são necessárias para configurar:
Esta seção define configurações gerais que se aplicam a todos os jails, como o tempo de bloqueio e se alertas de email são enviados. Abra o arquivo em um editor de texto:
sudo nano /etc/fail2ban/jail.local
Na seção [DEFAULT]
, você pode encontrar os seguintes tipos de variáveis:
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 600
findtime = 600
maxretry = 3
destemail = your-email@example.com
banaction = iptables-multiport
mta = sendmail
protocol = tcp
chain = INPUT
600
segundos são dez minutos.Os jails são a essência do Fail2Ban, definindo quais serviços monitorar e como. No arquivo jail.local
, você pode habilitar jails para os serviços que deseja proteger:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
Embora o Fail2Ban venha com vários filtros pré-configurados, você pode escrever filtros personalizados se necessário. Crie um novo arquivo no diretório /etc/fail2ban/filter.d/
. O filtro deve consistir em uma série de expressões regulares que correspondam às atividades suspeitas que você deseja identificar.
Suponha que você queira criar um filtro personalizado para detectar tentativas de login falhas em um aplicativo web. Primeiro, crie um novo arquivo de filtro:
sudo nano /etc/fail2ban/filter.d/myapp.conf
Adicione expressões como a seguinte:
[Definition]
failregex = ^.*Failed login for user.*$
ignoreregex =
É importante testar sua configuração do Fail2Ban para garantir que ela funcione conforme o esperado:
Após configurar o Fail2Ban, inicie ou reinicie o serviço para aplicar as alterações:
sudo systemctl restart fail2ban
Para garantir que o serviço Fail2Ban esteja funcionando sem erros, verifique seu status:
sudo fail2ban-client status
Para simular um ataque, falhe intencionalmente nas tentativas de login usando o serviço alvo. Monitore o Fail2Ban para garantir que o IP seja bloqueado:
sudo fail2ban-client status sshd
Este comando exibirá o status do jail SSH, incluindo os IPs atualmente bloqueados.
Às vezes, você pode precisar desbloquear um IP que foi bloqueado por engano. Para desbloquear um IP, use o seguinte comando:
sudo fail2ban-client set <jail> unbanip <IP-Address>
O Fail2Ban utiliza principalmente o iptables para gerenciar os bloqueios. No entanto, se você estiver usando ferramentas de gerenciamento de firewall, como firewalld
ou UFW (Uncomplicated Firewall)
, certifique-se de que eles se integrem suavemente ao Fail2Ban. Você pode precisar personalizar banaction
na configuração para usar essas ferramentas.
Verifique os logs do Fail2Ban regularmente para qualquer atividade incomum. Os logs podem geralmente ser encontrados aqui:
/var/log/fail2ban.log
Revisar esses logs ajuda a entender os padrões de ataque e a adaptar suas políticas de segurança de forma mais eficaz.
O Fail2Ban é uma ferramenta versátil e essencial para proteger servidores Linux de tentativas de acesso não autorizadas. Ao configurá-lo corretamente, você pode reduzir substancialmente o número de ataques de força bruta bem-sucedidos em seus serviços. Ajuste a configuração para adequá-la ao ambiente do seu servidor e monitore continuamente os logs para manter uma postura de segurança forte.
À medida que a tecnologia evolui, os métodos de ataque também evoluem. Atualizar regularmente o Fail2Ban e sua configuração garante que você minimize os riscos associados a novas ameaças. Lembre-se de que, enquanto o Fail2Ban fortalece sua segurança, ele deve fazer parte de uma estratégia de segurança abrangente junto com outras práticas recomendadas, como usar senhas fortes, manter seus sistemas atualizados e restringir portas abertas.
Se você encontrar algo errado com o conteúdo do artigo, você pode