Atualmente é comum quando queremos bloquear ataques por força bruta a um servidor configurarmos o fail2ban, mas ainda dá pra fazer muito mais coisas que o normal com ele. Este artigo vai mostrar como instalar o fail2ban no rocky linux.

Passo 1: Habilitar o repositório EPEL

utilize as linhas abaixo para habilitar os repositórios EPEL

sudo dnf install epel-release -y
sudo dnf update -y

Passo 2: Instalar os pacotes do Fail2ban

Instalaremos os pacotes do fail2ban e o suporte ao firewalld (estou supondo que você está utilizando o firewall padrão do linux):

sudo dnf install fail2ban fail2ban-firewalld -y

Passo 3: Configuração do Fail2Ban

Vamos configurar o fail2ban para monitorar o serviço de SSH para que não tenhamos dores de cabeça.

Dica - Não mexa diretamente no arquivo /etc/fail2ban/jail.conf Crie uma copia e faça as modificações.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Você pode querer ajustar alguns parâmetros para que eles atendam suas necessidades.


[DEFAULT]
# Tempo que o IP ficará banido (ex: 1h)
bantime = 1h

# Janela de tempo para contar as tentativas falhas (ex: 10m)
findtime = 10m

# Número máximo de tentativas antes do banimento
maxretry = 5

# Mude para usar o firewalld em vez do iptables
banaction = firewallcmd-new
backend = systemd

Passo 4: Criando um jail para o SSHD

Para fazer isso crie um arquivo chamado /etc/fail2ban/jail.d/10-sshd.conf

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 3
bantime = 1h
findtime = 10

Passo 5: Iniciando a habilitando o serviço

Para inicializar e habilitar digite o comando abaixo:

sudo systemctl enable fail2ban --now

Para verificar:

sudo systemctl status fail2ban

Alguns comandos úteis

Para verificar quais jails estão ativos:

sudo fail2ban-client status

Para verificar os ips banidos por um determinando jail: (escolhemos o serviço de sshd)

sudo fail2ban-client status sshhd

Exploraremos num futuro artigo as possibilidades de proteção de um servidor com fail2ban.