Ataki brute force polegają na automatycznym zgadywaniu loginu i hasła, często przez setki lub tysiące prób. Ograniczenie liczby nieudanych logowań blokuje adres IP po przekroczeniu ustalonego limitu, dzięki czemu utrudnia atak i zmniejsza obciążenie serwera.
Dlaczego warto ograniczyć próby logowania?
Bez dodatkowej ochrony bot może bez przerwy wysyłać żądania do formularza logowania WordPressa. Każda próba sprawdza kolejną kombinację danych dostępowych. Im dłużej taki proces trwa, tym większe obciążenie serwera i ryzyko przejęcia konta, zwłaszcza gdy hasło jest krótkie lub używane także w innych usługach.
Mechanizm rate limiting przerywa ten schemat. Po kilku błędnych logowaniach wtyczka blokuje kolejne żądania z danego adresu IP na określony czas. To pierwsza linia obrony przed brute force oraz częścią ataków typu credential stuffing, ale nie zastępuje pozostałych zabezpieczeń.
Jak ograniczyć próby logowania w WordPressie?
Jednym z prostszych narzędzi jest Limit Login Attempts Reloaded. Podobną funkcję oferują inne wtyczki, między innymi WPS Limit Login. Przed instalacją sprawdź jednak panel hostingu. Niektórzy dostawcy włączają ograniczanie logowań albo firewall już podczas automatycznej instalacji WordPressa. Dwie warstwy mogą działać równocześnie, ale czasem powodują niepotrzebne blokady.
Nie wylogowuj się z panelu przed przetestowaniem konfiguracji. Najpierw otwórz stronę logowania w trybie incognito lub w innej przeglądarce. Dzięki temu zachowasz aktywną sesję administratora, gdyby ustawienia zablokowały Twój adres IP.
- Zaloguj się do panelu administracyjnego WordPressa.
- Przejdź do sekcji Wtyczki → Dodaj nową i wyszukaj „Limit Login Attempts Reloaded”. Jeśli wtyczka jest już zainstalowana, przejdź od razu do jej ustawień.
- Kliknij „Zainstaluj”, a po zakończeniu instalacji wybierz „Włącz”.
- Otwórz ustawienia wtyczki i przejdź do konfiguracji lokalnej ochrony logowania.
- Ustaw limit na 3–5 nieudanych prób. Na początek ustaw blokadę trwającą co najmniej 20 minut. Zbyt niski limit może utrudniać pracę użytkownikom, którzy pomylą hasło, a zbyt krótka blokada daje botom możliwość szybkiego ponawiania ataku.
- Zapisz ustawienia, a następnie w oknie incognito wpisz kilkakrotnie nieprawidłowe hasło. Sprawdź, czy po przekroczeniu limitu pojawia się komunikat o blokadzie i czy prawidłowe logowanie zostaje czasowo zablokowane.
Niektóre wtyczki mają ustawienia dotyczące wydłużania kolejnych blokad, dodawania adresów IP do czarnej listy oraz powiadomień e-mail. Włączaj je ostrożnie, szczególnie gdy z panelu korzysta wiele osób lub użytkownicy logują się z tej samej sieci.
Jak uzupełnić limit prób logowania?
Sama blokada adresu IP nie zabezpiecza całej instalacji. Atakujący może korzystać z wielu adresów, a przejęcie hasła nadal będzie możliwe, jeśli dane logowania są słabe lub wyciekły z innej usługi. Ochronę warto ułożyć z kilku niezależnych warstw:
- Uwierzytelnianie dwuskładnikowe 2FA wymaga dodatkowego kodu lub potwierdzenia, nawet gdy ktoś pozna hasło.
- Unikalne, długie hasła ograniczają ryzyko wykorzystania danych przejętych w innych serwisach.
- Wyłączenie xmlrpc.php może ograniczyć niektóre dodatkowe sposoby wykonywania żądań do WordPressa, jeśli strona nie korzysta z tej funkcji.
- Zmiana adresu logowania może zmniejszyć liczbę automatycznych prób kierowanych bezpośrednio do wp-login.php. Taką zmianę wykonuj za pomocą sprawdzonej wtyczki, a nowy adres zapisz w bezpiecznym miejscu.
Jeśli strona korzysta z Cloudflare lub innej usługi pośredniczącej, sprawdź, czy wtyczka prawidłowo rozpoznaje rzeczywisty adres IP odwiedzającego. Błędna konfiguracja może sprawić, że wiele osób będzie widocznych jako jeden adres i wspólnie osiągnie limit.
Co zrobić po zablokowaniu własnego dostępu?
Blokada zwykle wygasa automatycznie po ustawionym czasie. Jeśli jednak nie możesz poczekać albo mechanizm blokuje Cię ponownie, administrator hostingu lub osoba z dostępem do plików może wyłączyć wtyczkę ręcznie. Przygotuj następujące rozwiązania awaryjne:
- Dostęp FTP lub Menedżer plików – otwórz katalog
/wp-content/plugins/i zmień nazwę folderu wtyczki ograniczającej logowania. WordPress przestanie ją ładować. - Dostęp do bazy danych – administrator może usunąć lub zmienić zapis blokady w tabeli opcji. To rozwiązanie wymaga większej ostrożności, ponieważ nazwy i format ustawień zależą od konkretnej wtyczki.
- Panel hostingu – sprawdź, czy blokada nie została ustawiona przez firewall lub ochronę logowania dostawcy hostingu.
- Pomoc administratora – jeśli po wyłączeniu wtyczki strona wyświetla błędy, poproś hosting o sprawdzenie logów i konfliktów zabezpieczeń.
Po odzyskaniu dostępu przywróć nazwę folderu wtyczki, zaloguj się do panelu i sprawdź konfigurację. Najpierw wykonaj ponowny test w trybie incognito, a dopiero potem zakończ aktywną sesję administratora.
Limit prób logowania warto wdrożyć od razu, ale traktować go jako jedną warstwę ochrony. Najbezpieczniejszy zestaw obejmuje także 2FA, unikalne hasło, aktualny WordPress oraz kontrolę nad wtyczkami i hostingiem.