Capítulo 3 · 3.5
fail2ban contra tentativas de adivinhação
O fail2ban lê o registo do servidor e bloqueia durante algum tempo os endereços IP que falham repetidamente o início de sessão. Se utilizar apenas chaves (consulte Desativar o início de sessão com palavra-passe e como root), as tentativas de adivinhação já não podem ter êxito. Nesse caso, o fail2ban serve sobretudo para manter o registo tranquilo e para travar os atacantes.
Instalar
anna@web1:~$ sudo apt install fail2ban
No Debian 13 e no Ubuntu, a vigilância do SSH (a jail sshd) funciona logo a seguir. No Debian 12 é necessária uma linha adicional, ver abaixo.
No AlmaLinux e no Rocky Linux: sudo dnf install epel-release, sudo dnf install fail2ban e sudo systemctl enable --now fail2ban.
As suas próprias definições
Não altere jail.conf: uma atualização substitui esse ficheiro. Coloque as suas próprias definições em /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
bantime.increment = true
ignoreip = 127.0.0.1/8 ::1 198.51.100.7
[sshd]
enabled = true
maxretrytentativas falhadas dentro defindtimeresultam num bloqueio debantime.bantime.increment: quem volta a tentar fica bloqueado durante cada vez mais tempo.ignoreip: endereços que nunca são bloqueados, como o endereço IP fixo do seu escritório. Substitua 198.51.100.7 pelo seu próprio endereço, ou omita-o.- No Debian 12, coloque também
backend = systemdem[sshd]e instale o pacotepython3-systemd. Assim, o fail2ban lê o journal em vez doauth.log, que não existe. O Debian 13 já o faz automaticamente.
anna@web1:~$ sudo systemctl restart fail2ban
anna@web1:~$ sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 2
| |- Total failed: 41
| `- Journal matches: _SYSTEMD_UNIT=ssh.service + _COMM=sshd
`- Actions
|- Currently banned: 3
|- Total banned: 7
`- Banned IP list: 192.0.2.44 198.51.100.23 203.0.113.99
Desbloquear o seu próprio endereço
Ficou bloqueado, por exemplo depois de usar algumas vezes uma chave errada? Aguarde até o bloqueio terminar, ou inicie sessão através da consola ou a partir de outro endereço e escreva:
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7