Tak samo jak nazwę użytkownika, WordPress domyślnie ustawia też adres strony logowania. W każdej nowej instalacji będzie to wp-admin
albo wp-login.php
. Potencjalni włamywacze w tym roboty, jako pierwsze wpisują właśnie takie ścieżki dostępu, aby potem próbować różnymi metodami zalogować się do panelu admina.
Często w statystykach czy logach można zauważyć, że próby uruchomienia tych adresów mają miejsce również na stronach nie korzystających z WordPress’a.
Zmieniając adres strony logowania i dostępu do panelu administratora eliminujemy znaczną większość możliwych ataków polegających na próbie odgadnięcia hasła (brute force).
Do tego celu użyjemy wtyczki iThemes Security. Jeśli masz ją już zainstalowaną wybierz w bocznym menu Security > Settings.
Twoim oczom powinny ukazać się okienka z różnymi opcjami zabezpieczeń. Na samej górze widoku będzie menu: All | Recommended | … Wybierz opcję All aby wyświetlić wszystkie opcje.
Dalej znajdź okienko o nazwie Hide Backend i kliknij Configure Setting, a po otwarciu okna z opcjami zaznacz checkbox Enable the hide backend feature. Rozwiną się wtedy dodatkowe opcje konfiguracji
Login slug to adres, pod jakim dostępna będzie strona logowania się. Wtyczka zaproponowała by było to wplogin
. Śmiało można wprowadzić tam nieco trudniejszą do odgadnięcia nazwę np JR5TsikxX
. Do wygenerowania tej nazwy możesz użyć generatora haseł, np passwordsgenerator.net – pamiętaj tylko aby wykorzystywać litery, cyfry i ewentualnie myślnik.
Enable redirection
Jeśli zaznaczysz tę opcję, to będziesz mógł przekierować zbłąkanego napastnika na wybraną przez Ciebie stronę inną niż 403. W polu Redirection slug możesz ustawić adres przekierowania. W Custom Login Action możesz ustawić zmienną akcji – zmień ją.
Po zapisaniu ustawień na górze pojawi się komunikat, jak teraz będzie wyglądać adres do strony logowania. To ważne, bo już nie zalogujesz się pod tradycyjnym adresem 🙂
Dodatkowym zabezpieczeniem dostępu do panelu administratora, jaki oferuje wtyczka iThemes Security jest całkowite ograniczenie dostępu w określonym czasie. Jeśli np. w godzinach nocnych nie zamierzasz korzystać z panelu administracyjnego WordPress Twojej strony, to śmiało możesz wyłączyć wtedy dostęp. Albo jeśli wyjeżdżasz na wakacje i w tym czasie nie będziesz blogować, to ustaw datę od do, kiedy panel będzie zablokowany.
Funkcja nazywa się Away mode. Włącz ją i zacznij edytować ustawienia.
Wybierając opcję Daily możesz ustawić w jakich godzinach od do, codziennie dostęp do panelu admina ma być zablokowany, np. kiedy śpisz.
Zaznaczając One time, możesz ustawić jednorazowo, kiedy wyłączyć panel, podając dokładną datę i godzinę od do.
Jak jeszcze można zabezpieczyć stronę logowania? Chociażby ograniczając możliwą ilość prób logowania z danego adresu IP albo na daną nazwę użytkownika.
We wtyczce iThemes Security, funkcja nazywa się Local Brute Force Protection, włącz ją i zacznij edytować.
Max Login Attempts Per Host, czyli dopuszczalna ilość prób logowania z danego adresu IP. Po jej przekroczeniu, adres zostanie zablokowany na pewien czas (zdefiniowany niżej). Pamiętaj, że również jeśli Ty zapomnisz hasła i nieudolnie będziesz próbować je odgadnąć, to zostaniesz zablokowany 🙂
Max Login Attempts Per User to również ilość prób, ale dla danej nazwy użytkownika.
Książkowy atak wygląda następująco – atakujący (człowiek, bot) wpisuje domyślną nazwę użytkownika admin
(dlatego warto ją zmienić) a w polu hasło po kolei wpisuje dziesiątki, setki, tysiące najpopularniejszych haseł z nadzieją, że się zaloguje.
Jeśli ograniczysz ilość prób, to atak dość szybko się zakończy.
Minutes to Remember Bad Login (check period) to właśnie czas przez jaki kolejne próby mają być niedostępne. Jeśli ustawisz np. 15 minut, to oznacza, że jeśli ten czas minie, to osoba próbująca się zalogować, dalej będzie mogła próbować tego dokonać.
Automatically ban „admin” user specjalna opcja dla użytkownika admin
. Jeśli zaznaczysz tę funkcję, to próba podania złego hasła dla użytkownika admin od razu zakończy się banem – bez żadnego limitu prób. Jeśli zmieniłeś już domyślną nazwę użytkownika i w Twojej bazie admin
w ogóle nie istnieje, to możesz zignorować tę funkcję.
W temacie logowania się do WP, kolejnym krokiem do zwiększenia bezpieczeństwa jest wyłączenie komunikatów o błędnym logowaniu.
Jeśli reszta zabezpieczeń zawiedzie (lub nie jest zastosowana), albo jakimś sposobem napastnik dostanie się do Twojej strony logowania, to możesz wyłączyć mu komunikaty. Jeśli jest to robot i po nieudanej próbie zalogowania nie otrzyma komunikatu o np: błędnym haśle, czy o tym, że użytkownik nie istnieje – może wpaść w lekkie zakłopotanie.
Gdyby taki komunikat otrzymał, miałby pewność, że jest w dobrym miejscu i wie co ma robić dalej.
Komunikaty te wyłączymy również za pomocą wtyczki iThemes Security. Włącz i zacznij edytować WordPress Tweaks
Interesuje nas checkbox Login Error Messages – zaznacz go.
Teraz, kiedy na stronie logowania podasz błędne dane nie pojawi się żaden komunikat.
Moje 7, najlepszych, sprawdzonych
sposobów na efektywną pracę zdalną
Do wdrożenia jeszcze dziś!