Глава 3 · 3.5
fail2ban срещу опити за отгатване на пароли
fail2ban чете Вашия дневник и временно блокира IP адресите, от които многократно се влиза неуспешно. Ако използвате само ключове (вижте Изключване на влизането с парола и като root), опитите за отгатване вече не могат да успеят. Тогава fail2ban основно поддържа дневника Ви спокоен и забавя нападателите.
Инсталиране
anna@web1:~$ sudo apt install fail2ban
На Debian 13 и Ubuntu наблюдението на SSH (jail sshd) работи веднага след това. На Debian 12 е необходим един допълнителен ред, вижте по-долу.
На AlmaLinux и Rocky Linux: sudo dnf install epel-release, sudo dnf install fail2ban и sudo systemctl enable --now fail2ban.
Вашите собствени настройки
Не променяйте jail.conf: всяка актуализация го презаписва. Запишете собствените си настройки в /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
maxretryнеуспешни опита в рамките наfindtimeводят до блокиране заbantime.bantime.increment: който се върне отново, се блокира за все по-дълго време.ignoreip: адреси, които никога не се блокират, например статичният IP адрес на Вашия офис. Заменете 198.51.100.7 с Вашия собствен адрес или го премахнете.- На Debian 12 под
[sshd]добавете иbackend = systemdи инсталирайте пакетаpython3-systemd. Тогава fail2ban чете journal вместо липсващияauth.log. Debian 13 прави това автоматично.
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
Деблокиране на собствения Ви адрес
Блокирани ли сте самите Вие, например след няколко опита с грешен ключ? Изчакайте блокирането да изтече или влезте през конзолата или от друг адрес и въведете:
anna@web1:~$ sudo fail2ban-client set sshd unbanip 198.51.100.7