Дори с всичко останало заключено, ботовете никога не спират да опитват пароли срещу порт 22 — това е постоянен фонов шум и товар. fail2ban наблюдава логовете ти и автоматично банва всеки IP, който се проваля във влизането твърде много пъти, така че нападателите биват изключени след няколко опита, вместо да налучкват вечно. Това е малка инсталация и голям спад в лог спама.
1. Инсталирай fail2ban
sudo apt update && sudo apt install -y fail2ban
2. Създай локална конфигурация
Никога не редактирай доставения jail.conf директно — override-ни го в jail.local:
sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
EOF
Това банва IP за час след 5 неуспешни влизания в рамките на 10 минути. Добави собствения си IP към ignoreip, така че сгрешена парола никога да не те заключи.
3. Стартирай го и включи при boot
sudo systemctl enable --now fail2ban
4. Провери SSH jail-а
sudo fail2ban-client status sshd
Ще видиш колко IP-та са банати в момента — често изненадващ брой в рамките на минути.
Управление на бановете
sudo fail2ban-client set sshd unbanip 1.2.3.4 # lift a ban
sudo fail2ban-client status # list all jails
sudo systemctl reload fail2ban # apply config changes
Честни предупреждения
- Добави собствения си IP към
ignoreip, така че повтарящи се печатни грешки да не те банват. Ако все пак бъдеш баннат, изчакай bantime-а или използвай конзола на доставчик — EQVPS дава на всеки VPS такава. - fail2ban допълва, не заменя, SSH ключовете. Ключовете спират налучкването изобщо да успее; fail2ban спира шума и пази и други услуги.
- Настрой по вкус: по-дълъг
bantimeвъзпира упорити нападатели; твърде агресивно и рискуваш да банваш легитимни нестабилни връзки.
Следващи стъпки
fail2ban е един слой на защитен сървър. Комбинирай го със SSH key автентикация и UFW firewall, и мини през целия чеклист за сигурност на нов VPS, преди да изложиш каквото и да е към интернет.
Коментари
Още няма коментари. Бъди първият.