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.