Skip to content

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.

linux 3 min read
como configurar fail2ban no rocky linux 9
como configurar fail2ban no rocky linux 9

  • 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:

Terminal window
sudo dnf install fail2ban

Isso irá instalar o Fail2Ban e suas dependências. Após a instalação, é necessário iniciar o serviço do Fail2Ban:

Terminal window
sudo systemctl start fail2ban

E habilitá-lo para iniciar automaticamente após a reinicialização do sistema:

Terminal window
sudo systemctl enable fail2ban

Verifique se o serviço está em execução:

Terminal window
sudo systemctl status fail2ban

Output 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 start

A 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:

Terminal window
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 600
findtime = 600
maxretry = 3
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3

Essa 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:

Terminal window
[Definition]
failregex = ^<HOST> - - \[.*\] "GET \/.* HTTP\/1\.[0-9]" 401
ignoreregex =

E então, adicione a regra ao arquivo /etc/fail2ban/jail.local:

Terminal window
[http-auth]
enabled = true
port = http
filter = http-auth
logpath = /var/log/httpd/error_log
maxretry = 3

O Fail2Ban monitora os logs do sistema para detectar tentativas de invasão. Para verificar os logs do Fail2Ban, execute o seguinte comando:

Terminal window
sudo journalctl -u fail2ban

Output 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 ready
Mar 16 14:30:00 rocky9 fail2ban-server[12345]: Started; pid=12345
Mar 16 14:30:00 rocky9 fail2ban-server[12345]: INFO Loaded 5 jails, filters and actions
Mar 16 14:30:00 rocky9 fail2ban-server[12345]: INFO Jail 'sshd' started on 'ssh' port 22
Mar 16 14:30:00 rocky9 fail2ban-server[12345]: INFO Jail 'http-auth' started on 'http' port 80

O 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:

Terminal window
sudo firewall-cmd --zone=public --add-service=ssh --permanent

E então, recarregue o firewall:

Terminal window
sudo firewall-cmd --reload

Para 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:

Terminal window
sudo fail2ban-client status sshd

Output 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.100

Um 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:

Terminal window
sudo systemctl enable fail2ban

Outro 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.