Formularz logowania WordPressa (/wp-login.php) to jedno z najczęściej atakowanych miejsc na stronie. Boty próbują zgadywać hasła metodą brute force, co może nie tylko doprowadzić do przejęcia konta, ale również znacząco obciążyć serwer.
W tym artykule pokażę Ci skuteczne metody ochrony formularza logowania – bez spowalniania działania strony.
Co to jest atak brute force?
To automatyczne próby logowania się przy użyciu tysięcy kombinacji loginów i haseł. WordPress domyślnie nie ogranicza liczby prób logowania, co czyni go podatnym na tego typu ataki.
1. Ogranicz liczbę prób logowania
Zainstaluj lekką wtyczkę, np. Limit Login Attempts Reloaded lub Login LockDown.
Ustawienia:
- maksymalnie 3 próby,
- blokada IP na 15 minut,
- dłuższa blokada po kilku nieudanych seriach.
2. Zmień domyślny URL logowania
Boty atakują głównie /wp-login.php. Możesz zmienić URL logowania za pomocą wtyczki:
- WPS Hide Login – zmienia adres logowania, np. na
/logowanie-admina.
Uwaga: Nie zmienia żadnych plików – to bezpieczna metoda.
3. Dodaj Google reCAPTCHA
Formularz logowania możesz zabezpieczyć reCAPTCHA v3 (niewidoczną) lub v2 („Nie jestem robotem”) za pomocą:
- Login No Captcha reCAPTCHA
- lub kompleksowej wtyczki Wordfence Security
4. Włącz uwierzytelnianie dwuskładnikowe (2FA)
Dzięki 2FA użytkownik, oprócz hasła, musi wpisać kod z aplikacji (np. Google Authenticator).
Wtyczki:
- Two Factor Authentication (od Updraft),
- WP 2FA.
5. Zablokuj dostęp do wp-login.php i wp-admin z nieznanych IP
Możesz ustawić blokadę na poziomie serwera (np. .htaccess):
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xx
</Files>
Zastąp xx.xx.xx.xx swoim IP.
6. Ukryj login i zmień prefix wp_ w bazie
- Zmień domyślny prefix tabel (
wp_) na własny, np. xyz_ podczas instalacji lub za pomocą wtyczki.
- Unikaj używania „admin” jako loginu – to pierwsze, co zgadują boty.
Podsumowanie
Formularz logowania WordPressa to wrażliwy punkt każdej strony. Dzięki kilku prostym działaniom możesz znacząco utrudnić życie atakującym i zwiększyć bezpieczeństwo strony bez rezygnacji z wygody użytkownika.