EQVPS

Как да настроиш fail2ban, за да блокираш brute-force атаки

Спри постоянното налучкване на пароли на сървъра си: fail2ban наблюдава логовете ти и авто-банва IP-та, които се провалят във влизането твърде много пъти. Инсталирай го, включи SSH jail-а, и настрой правилата за бан — за няколко команди.

Дори с всичко останало заключено, ботовете никога не спират да опитват пароли срещу порт 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

Честни предупреждения

Следващи стъпки

fail2ban е един слой на защитен сървър. Комбинирай го със SSH key автентикация и UFW firewall, и мини през целия чеклист за сигурност на нов VPS, преди да изложиш каквото и да е към интернет.

Въпроси

Какво реално прави fail2ban?

Той наблюдава лог файлове (като SSH auth лога) за повтарящи се провали от същия IP, и когато IP прекоси праг, добавя временен firewall бан. Ботовете, които удрят порт 22 цял ден, се блокират след няколко опита, вместо да налучкват вечно. Това е автоматична, продължаваща защита.

Все още ли се нуждая от fail2ban, ако използвам SSH ключове?

Те решават различни проблеми. SSH ключовете правят налучкването ефективно невъзможно; fail2ban спира шума и товара от безкрайни опити, и защитава всяка друга услуга, която излагаш (поща, web входове). С only-ключ SSH рискът вече е нисък, но fail2ban е евтина защита в дълбочина и реже лог спама.

Ще ме банне ли fail2ban по грешка?

Може, ако сбъркаш собствената си парола няколко пъти — би бил баннат за bantime-а, после автоматично разбанат. За да избегнеш някога да се заключиш, добави собствения си IP към 'ignoreip' в конфигурацията, и помни, че конзола на доставчик (EQVPS има такава) винаги те връща вътре.

Как да видя кой е баннат, или да разбана IP?

Използвай 'sudo fail2ban-client status sshd', за да видиш jail-а и баннатите IP-та. За да вдигнеш бан: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'. За да добавиш доверен IP постоянно, сложи го в ignoreip и reload-ни.

Какво са bantime, findtime и maxretry?

maxretry е колко провала са позволени, findtime е прозорецът, в който се броят, а bantime е колко дълго трае банът. Например 5 провала в рамките на 10 минути задейства 1-часов бан. Вдигни bantime (или го задай на по-дълга стойност) за по-упорити нападатели.

Коментари

Още няма коментари. Бъди първият.

Остави коментар

Коментарите се модерират преди да се появят.