Como configurar Fail2Ban no Rocky Linux 9
Aprenda a instalar e configurar o Fail2Ban no Rocky Linux 9 para proteger seu servidor contra ataques de força bruta e tentativas de acesso não autorizado.
- Como instalar e configurar o Fail2Ban no Rocky Linux 9
- Como criar regras personalizadas para bloquear IPs mal-intencionados
- Como monitorar os logs do sistema para detectar tentativas de invasão
- Como configurar o Fail2Ban para trabalhar em conjunto com o firewall do sistema
- Como testar a configuração do Fail2Ban para garantir que esteja funcionando corretamente
- Como solucionar erros comuns que podem ocorrer durante a configuração do Fail2Ban
Antes de começar a configurar o Fail2Ban, é necessário ter o Rocky Linux 9 instalado e configurado corretamente, com acesso ao terminal como root ou com privilégios de superusuário. Além disso, é recomendável ter o firewall do sistema configurado e em execução, como o firewalld ou o iptables.
Para instalar o Fail2Ban no Rocky Linux 9, execute o seguinte comando:
sudo dnf install fail2banIsso irá instalar o Fail2Ban e suas dependências. Após a instalação, é necessário iniciar o serviço do Fail2Ban:
sudo systemctl start fail2banE habilitá-lo para iniciar automaticamente após a reinicialização do sistema:
sudo systemctl enable fail2banVerifique se o serviço está em execução:
sudo systemctl status fail2banOutput esperado:
● fail2ban.service - Fail2Ban Service Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-03-16 14:30:00 -03; 10min ago Docs: man:fail2ban(1) Main PID: 12345 (fail2ban-server) Tasks: 5 (limit: 4915) Memory: 24.1M CGroup: /system.slice/fail2ban.service └─12345 /usr/bin/fail2ban-server -xf startA configuração do Fail2Ban é feita através do arquivo /etc/fail2ban/jail.conf. É recomendável criar um arquivo de configuração personalizado em /etc/fail2ban/jail.local para evitar que as alterações sejam sobrescritas durante a atualização do pacote.
Crie o arquivo /etc/fail2ban/jail.local com o seguinte conteúdo:
[DEFAULT]ignoreip = 127.0.0.1/8bantime = 600findtime = 600maxretry = 3
[sshd]enabled = trueport = sshfilter = sshdlogpath = /var/log/securemaxretry = 3Essa configuração define o tempo de banimento (600 segundos) e o tempo de busca (600 segundos) para todas as regras, e habilita a regra para o serviço SSH.
Para criar regras personalizadas, é necessário criar um arquivo de filtro em /etc/fail2ban/filter.d/. Por exemplo, para criar uma regra para bloquear IPs que tentam acessar o serviço HTTP com credenciais inválidas, crie o arquivo /etc/fail2ban/filter.d/http-auth.conf com o seguinte conteúdo:
[Definition]failregex = ^<HOST> - - \[.*\] "GET \/.* HTTP\/1\.[0-9]" 401ignoreregex =E então, adicione a regra ao arquivo /etc/fail2ban/jail.local:
[http-auth]enabled = trueport = httpfilter = http-authlogpath = /var/log/httpd/error_logmaxretry = 3O Fail2Ban monitora os logs do sistema para detectar tentativas de invasão. Para verificar os logs do Fail2Ban, execute o seguinte comando:
sudo journalctl -u fail2banOutput esperado:
-- Logs begin at Thu 2023-03-16 14:30:00 -03, end at Thu 2023-03-16 14:40:00 -03. --Mar 16 14:30:00 rocky9 fail2ban-server[12345]: Server readyMar 16 14:30:00 rocky9 fail2ban-server[12345]: Started; pid=12345Mar 16 14:30:00 rocky9 fail2ban-server[12345]: INFO Loaded 5 jails, filters and actionsMar 16 14:30:00 rocky9 fail2ban-server[12345]: INFO Jail 'sshd' started on 'ssh' port 22Mar 16 14:30:00 rocky9 fail2ban-server[12345]: INFO Jail 'http-auth' started on 'http' port 80O Fail2Ban trabalha em conjunto com o firewall do sistema para bloquear IPs mal-intencionados. Para configurar o firewall do Rocky Linux 9, execute o seguinte comando:
sudo firewall-cmd --zone=public --add-service=ssh --permanentE então, recarregue o firewall:
sudo firewall-cmd --reloadPara testar a configuração do Fail2Ban, tente acessar o serviço SSH com credenciais inválidas. Isso deve disparar a regra do Fail2Ban e bloquear o IP.
Execute o seguinte comando para verificar se o IP foi bloqueado:
sudo fail2ban-client status sshdOutput esperado:
Status for the jail: sshd|- Filter| |- Currently failed: 1| |- Total failed: 1| `- Journal matches: _SYSTEMD_UNIT=sshd.service`- Actions |- Currently banned: 1 |- Total banned: 1 `- Banned IP list: 192.168.1.100Um erro comum que pode ocorrer durante a configuração do Fail2Ban é o seguinte:
ERROR Failed to start fail2ban-server.service: Unit fail2ban-server.service not found.Isso ocorre quando o serviço do Fail2Ban não está habilitado. Para solucionar esse erro, execute o seguinte comando:
sudo systemctl enable fail2banOutro erro comum é o seguinte:
ERROR Unable to read file "/etc/fail2ban/jail.conf"Isso ocorre quando o arquivo de configuração do Fail2Ban não está presente ou não é legível. Para solucionar esse erro, verifique se o arquivo está presente e se as permissões de leitura estão corretas.
Uma boa prática ao configurar o Fail2Ban é criar regras personalizadas para cada serviço que você deseja proteger. Isso ajuda a evitar falsos positivos e a garantir que apenas os IPs mal-intencionados sejam bloqueados.
Além disso, é importante monitorar os logs do Fail2Ban regularmente para detectar tentativas de invasão e ajustar as regras conforme necessário.
Outra boa prática é configurar o Fail2Ban para trabalhar em conjunto com o firewall do sistema, para garantir que os IPs bloqueados sejam efetivamente bloqueados.
Neste artigo, você aprendeu como configurar o Fail2Ban no Rocky Linux 9 para proteger seus serviços contra tentativas de invasão. Você também aprendeu como criar regras personalizadas, monitorar os logs e configurar o firewall do sistema.
Para prosseguir, é recomendável testar a configuração do Fail2Ban e ajustar as regras conforme necessário. Além disso, é importante manter o Fail2Ban e o firewall do sistema atualizados e configurados corretamente para garantir a segurança dos seus serviços.
Lembre-se de que a segurança é um processo contínuo e que é importante estar sempre alerta para possíveis ameaças. Com o Fail2Ban e o firewall do sistema configurados corretamente, você pode ter mais tranquilidade ao saber que seus serviços estão protegidos contra tentativas de invasão.