EQVPS

Jak skonfigurować fail2ban do blokowania ataków brute-force

Zatrzymaj ciągłe zgadywanie haseł na serwerze: fail2ban pilnuje logów i automatycznie banuje IP, które zbyt wiele razy nie zdołały się zalogować. Zainstaluj, włącz jail SSH i dostrój reguły banowania — w kilku komendach.

Nawet gdy wszystko inne jest zabezpieczone, boty nigdy nie przestają zgadywać haseł na porcie 22 — to stały hałas i obciążenie w tle. fail2ban pilnuje logów i automatycznie banuje każdy IP, który zbyt wiele razy nie zdołał się zalogować, więc atakujący zostają odcięci po kilku próbach zamiast zgadywać bez końca. To niewielka instalacja i duży spadek spamu w logach.

1. Zainstaluj fail2ban

sudo apt update && sudo apt install -y fail2ban

2. Utwórz lokalną konfigurację

Nigdy nie edytuj dostarczonego jail.conf bezpośrednio — nadpisz go w jail.local:

sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# nie banuj samego siebie — dodaj swój IP domowy/biurowy
ignoreip = 127.0.0.1/8 ::1
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

To banuje IP na godzinę po 5 nieudanych logowaniach w ciągu 10 minut. Dodaj własny IP do ignoreip, żeby literówka w haśle nigdy cię nie zablokowała.

3. Uruchom i włącz przy starcie systemu

sudo systemctl enable --now fail2ban

4. Sprawdź jail SSH

sudo fail2ban-client status sshd

Zobaczysz, ile IP jest aktualnie zbanowanych — często zaskakująco dużo już po kilku minutach.

Zarządzanie banami

sudo fail2ban-client set sshd unbanip 1.2.3.4   # zdejmij ban
sudo fail2ban-client status                     # wylistuj wszystkie jaile
sudo systemctl reload fail2ban                  # zastosuj zmiany konfiguracji

Uczciwe ostrzeżenia

Kolejne kroki

fail2ban to jedna z warstw utwardzonego serwera. Połącz go z uwierzytelnianiem kluczem SSH i zaporą UFW, i przejdź pełną listę kontrolną bezpieczeństwa nowego VPS, zanim cokolwiek wystawisz do internetu.

FAQ

Co właściwie robi fail2ban?

Pilnuje plików logów (jak auth log SSH) w poszukiwaniu powtarzających się niepowodzeń z tego samego IP, a gdy IP przekroczy próg, dodaje tymczasowy ban na firewallu. Boty walące w port 22 przez cały dzień zostają zablokowane po kilku próbach, zamiast zgadywać w nieskończoność. To automatyczna, ciągła ochrona.

Czy nadal potrzebuję fail2ban, jeśli używam kluczy SSH?

Rozwiązują różne problemy. Klucze SSH sprawiają, że zgadywanie jest praktycznie niemożliwe; fail2ban zatrzymuje hałas i obciążenie od niekończących się prób, a także chroni każdą inną usługę, którą wystawiasz (poczta, logowania webowe). Przy SSH tylko na klucz ryzyko jest już niskie, ale fail2ban to tania dodatkowa warstwa obrony i ogranicza spam w logach.

Czy fail2ban może pomyłkowo zbanować mnie samego?

Może, jeśli kilka razy pomylisz się we własnym haśle — zostaniesz zbanowany na czas bantime, a potem automatycznie odbanowany. Żeby nigdy się nie zablokować, dodaj własny IP do 'ignoreip' w konfiguracji i pamiętaj, że konsola dostawcy (EQVPS ją ma) zawsze przywróci ci dostęp.

Jak zobaczyć, kto jest zbanowany, albo odbanować IP?

Użyj 'sudo fail2ban-client status sshd', by zobaczyć jail i zbanowane IP. Aby zdjąć ban: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'. Aby dodać zaufany IP na stałe, wpisz go w ignoreip i przeładuj.

Czym są bantime, findtime i maxretry?

maxretry to liczba dozwolonych niepowodzeń, findtime to okno, w którym są liczone, a bantime to czas trwania bana. Na przykład 5 niepowodzeń w ciągu 10 minut wywołuje godzinny ban. Zwiększ bantime (albo ustaw dłuższą wartość) dla bardziej upartych atakujących.

Komentarze

Brak komentarzy. Bądź pierwszy.

Zostaw komentarz

Komentarze są moderowane przed pojawieniem się.