Português

Configurar Fail2ban num VPS Linux

O Fail2ban monitoriza os registos dos serviços e bane temporariamente os IPs que se comportam de forma abusiva (falhas repetidas de SSH, sondagem HTTP, etc.). Complementa o UFW e o reforço de SSH.

Pré-requisitos

  • Ubuntu/Debian (ou derivado) com sudo
  • O serviço a proteger já em execução (p. ex. sshd, nginx)

Instalação

Bash
sudo apt update && sudo apt install -y fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban

Configuração básica

Coloque ficheiros personalizados em /etc/fail2ban/jail.d/ para que as atualizações não os sobrescrevam.

Crie /etc/fail2ban/jail.d/local.conf:

INI
1[DEFAULT] 2bantime = 1h 3findtime = 10m 4maxretry = 5 5ignoreip = 127.0.0.1/8 ::1 6 7[sshd] 8enabled = true 9port = ssh 10logpath = %(sshd_log)s 11backend = %(sshd_backend)s

Se alterou a porta SSH, defina port = 2222 (exemplo) em vez de ssh.

Recarregue o Fail2ban:

Bash
sudo systemctl restart fail2ban sudo fail2ban-client status sudo fail2ban-client status sshd

Nginx (padrões HTTP agressivos)

Adicione, por exemplo:

INI
[nginx-http-auth] enabled = true port = http,https logpath = /var/log/nginx/error.log

Ajuste os caminhos dos registos à sua configuração.

Boas práticas

  • Adicione o seu IP estático a ignoreip durante os testes.
  • Verifique sudo fail2ban-client status sshd após a implementação.
  • Os banimentos são temporários (bantime); ajuste conforme a sua tolerância.

Desbanir um IP manualmente

Bash
sudo fail2ban-client set sshd unbanip 198.51.100.10

Resolução de problemas

  • Sem banimentos: confirme enabled = true, o logpath correto e que o serviço regista falhas.
  • Bloqueado: use a consola do seu fornecedor / IPMI ou outro IP, depois corrija ignoreip ou desbanir.

Precisa de ajuda?

Dúvidas sobre este guia? A nossa equipa e a comunidade estão disponíveis para ajudar.

Fique a par das últimas ofertas, descontos e promoções especiais.

Ver promoções