Na WebInsider.pl korzystamy z motywu Extra od Elegant Themes. Zobacz dlaczego...

Prawdopodobnie każdy, kto przeczytał przynajmniej kilka moich wpisów zauważył,  że chętnie korzystam z WordPressa (system CMS pod strony internetowe), i jestem wielkim zwolennikiem uwierzytelnienia dwuskładnikowego (2FA, czyli np. login i hasło + jednorazowy kod), które staram się aktywować (prawie) wszędzie, gdzie mam taka możliwość.

Dlatego dziś chciałbym pokazać jak w kilku prostych krokach aktywować uwierzytelnienie dwuskładnikowe w WordPressie…

Google Authenticator for WordPress

Poza dość nielicznymi przypadkami – a przynajmniej takie mam wrażenie, większość serwisów/programów umożliwiających aktywację uwierzytelnienia dwuskładnikowego oferuje wsparcie dla aplikacji zgodnych „ze standardem” Google Authenticator (OATH, TOTP, HOTP, RFC 6238), dzięki czemu nie musimy w telefonie instalować oddzielnych do każdej usługi/serwisu.

Może się zdarzyć, że z różnych przyczyn czas w WordPressie (i na serwerze) może się różnić od tego jaki macie na urządzeniu (np. telefonie) z programowym tokenem, i tym samym kody się rozjadą, co uniemożliwi Wam zalogowanie się (dlatego warto mieć wygenerowane kody zapasowe).

W telefonie możecie ustawić „czas operatora”, w komputerze z systemem Windows czas pewnie też macie synchronizowany zdalnie.

W przypadku np. VPS (a tym bardziej np. w Raspbbery Pi, gdzie nie ma zegara czasu rzeczywistego (RTC)) też może zajść potrzeba synchronizacji czasu, i warto wiedzieć jak to zrobić…

Two Factor Authentication

Two Factor Authentication to pierwsza wtyczka którą chciałbym Wam przedstawić, a dzięki której w kilku prostych krokach – bez korzystania z żadnych dodatkowych serwisów – aktywujecie uwierzytelnienie dwuskładnikowe w/na Waszej stronie.

Po instalacji i aktywacji wtyczki wystarczy udać się do ustawień profilu użytkownika:

  • Użytkownicy -> Twój profil

Tu znajdziemy wszystkie ustawienia związane z zabezpieczeniem procesu logowania dla naszego użytkownika za pomocą kodów jednorazowych:

wordpress_plugin_2fa_two-factor-authentication01

Jest tu dość standardowo – mamy opcje aktywacji zabezpieczenia dla naszego konta (active), możemy też ustawić domyślny opis dla konta, jaki pokaże się w aplikacji.

Dalej mamy to co najważniejsze, czyli możliwość wygenerowania klucza dla tokena (wraz z kodem QR dla szybszego/wygodniejszego dodania konta do aplikacji) i ew. hasła dla jakiejś aplikacji, która nie wspiera dwuskładnikowego uwierzytelnienia w tym standardzie (np. standardowa/oryginalna aplikacja do obsługi WordPressa na telefony).

Jest też opcja „relax mode”, która może się przydać w sytuacji, gdy występują różnice np. między czasem (godzina) w naszym telefonie a serwerem  (do 4 minut w każdą stronę).

W tym momencie możecie przetestować działanie dwuskładnikowego uwierzytelnienia, choć ten pierwszy raz – na wszelki wypadek – zalecam zrobić z innej przeglądarki, bez wylogowywania się z naszego konta.

Ekran logowani będzie wyglądał jakoś tak:

wordpress_plugin_2fa_two-factor-authentication02

Google Authenticator for WordPress

Google Authenticator for WordPress to kolejna wtyczka tego typu, choć ostatnio – ze względu na długi okres bez aktualizacji, a do tego częste problemy z rozsynchronizowywaniem się kodów – powoli z niej rezygnuje, ale być może w Waszym przypadku nie będzie tego problemu.

Po instalacji wtyczki wystarczy w jej ustawieniach zaznaczyć opcję „activate plugin”, oraz wybrać, czy chcemy wymusić stosowanie tego typu uwierzytelnienia dla wszystkich użytkowników (ew. wybranych grup), czy też zostawiamy ten wybór każdemu użytkownikowi – bez przymusu:

  • Ustawienia -> Authenticator

wordpress_plugin_2fa_google-authenticator-for-wordpress01

Możemy też wygenerować tzw. hasła aplikacji, dzięki którym będziemy mogli zalogować się do naszej strony z aplikacji nieoferujących wsparcia dla 2FA, np. standardowej/oryginalnej aplikacji do obsługi WordPressa na telefony:

  • Użytkownicy -> My Apps Passwords

wordpress_plugin_2fa_google-authenticator-for-wordpress03

Na koniec aktywujemy zabezpieczenie na koncie naszego użytkownika:

  • Użytkownicy -> Twój profil

wordpress_plugin_2fa_google-authenticator-for-wordpress02

Klucz na podstawie którego generowane są kody jednorazowe możemy wpisać do aplikacji ręcznie, lub skorzystać z kodu QR (QR Code), co jest zdecydowanie wygodniejszą opcją (większość aplikacji umożliwia skanowanie kodów).

Możecie też wygenerować kod odzyskiwania, który przyda się w sytuacji, gdy będziecie chcieli zalogować się do swojego konta, a z jakichś przyczyn nie będziecie mieli dostępu do telefonu (np. rozładuje się bateria).

W tym momencie możecie przetestować działanie dwuskładnikowego uwierzytelnienia, choć ten pierwszy raz – na wszelki wypadek – zalecam zrobić z innej przeglądarki, bez wylogowywania się z naszego konta.

Ekran logowania wygląda podobnie jak w przypadku pierwszej wtyczki:

wordpress_plugin_2fa_google-authenticator-for-wordpress04

Pewnym minusem – w przypadku obu wtyczek – może być to, że pole do wpisania kodu jednorazowego (Google Authenticator) widoczne jest dla każdego, nawet jeśli jakiś użytkownik nie aktywował (jeszcze) u siebie tego typu zabezpieczenia, co może wprowadzać pewien zamęt. Dlatego jeśli z Waszej strony korzysta więcej osób – warto ich o tym poinformować.

Authy Two Factor Authentication

Kolejnym sposobem na dodanie tego typu zabezpieczenia do swojej strony będzie skorzystanie z wtyczki Authy Two Factor Authentication – w tym przypadku do generowania kodów jednorazowych korzystamy z serwisu Authy, w którym musimy założyć (bezpłatne) konto, i pobrać kod/klucz API, który następnie trzeba wprowadzić w ustawieniach wtyczki:

  • Ustawienia -> Authy

wordpress_plugin_2fa_authy01

Pewnym minusem może być to, że w przypadku Authy nie mamy do dyspozycji tzw. haseł aplikacji, a jedynie możemy wyłączyć opcję wymuszającą korzystanie z kodów jednorazowych (oczywiście nie zalecam).

Kolejnym krokiem jest aktywacja zabezpieczenia na naszym koncie użytkownika:

  • Ustawienia -> Twój profil

wordpress_plugin_2fa_authy02b

Wystarczy wybrać kraj i podać numer telefonu skojarzony z naszym kontem Authy (i aplikacją, o której więcej za chwilę).

W tym momencie możemy już sprawdzić zabezpieczenie w praktyce, czyli logujemy się do konta (z innej przeglądarki ;-)), i niech Was nie zdziwi, że w przypadku tej wtyczki ekran logowania wygląda standardowo – tak ma być.

Dopiero po podaniu nazwy użytkownika i hasła do WordPressa, gdy dany użytkownik ma aktywną opcję uwierzytelnienia dwuskładnikowego pojawi się formularz do wpisania kodu jednorazowego:

wordpress_plugin_2fa_authy03

Aplikacja

W przypadku usługi Authy w standardowej konfiguracji (bez kombinowania) musimy korzystać z aplikacji Authy (Android i iOS, lub jako wtyczka do Chrome), która swoją drogą polecam ogólnie do generowania/obsługi kodów jednorazowych – dość wygodna w obsłudze, a do tego z synchronizacją między urządzeniami, czego z jakichś przyczyn nadal nie potrafi aplikacja od Google (mimo, że aż by się prosiło wykorzystać do takiej synchronizacji np. konto Google).

Konto Authy

Jak już wspomniałem – do korzystania z Authy do uwierzytelnienia dwuskładnikowego w WordPressie musimy założyć bezpłatne konto i dodać aplikację, dzięki czemu uzyskamy potrzebny klucz API.

Za pomocą tego konta możemy później też przeglądać statystyki dotyczące logowania do strony:

wordpress_plugin_2fa_authy04

Być może pomocne też będzie to wideo, na którym jest pokazany cały proces krok po kroku:

Alternatywne rozwiązania

Oczywiście Google Authentication i Authy to nie jedyne możliwości jakie macie, by dodatkowo zabezpieczyć proces logowania do WordPressa, ale po prostu sam korzystam z tych rozwiązań, dlatego je wybrałem do opisania.

W marcu 2017 pojawiła się oficjalna informacja, że Clef zwija swoje żagle i usługa będzie dostępna tylko do 6 lipca 2017 (przez 3 miesiące od ogłoszenia zamknięcia projektu).

Trochę inne podejście do tematu oferuje np. usługa Clef, którą kiedyś testowałem, choć bardziej w formie ciekawostki, to choć trzeba przyznać, że może się podobać to rozwiązanie – zwłaszcza, że do logowania za pomocą tej usługi nie potrzeba w ogóle loginu i hasła, wystarczy telefon z zainstalowaną aplikacją Clef:

Gdy coś poszło nie tak

Może się zdarzyć, że z jakichś przyczyn nie będziecie mieli dostępu do telefonu i/lub kodów zapasowych, lub po prostu nastąpi np. rozsynchronizowanie czasu/kodów między serwerem/stroną, a telefonem i nawet z wykorzystaniem kodów zapasowych nie będziecie mogli zalogować się do panelu administracyjnego Waszego WordPressa.

Nie ma co w takiej sytuacji panikować – wystarczy zmienić nazwę katalogu z wtyczką, która znajduje się w lokalizacji:

/wp-content/plugins/

Wystarczy do tego połączenie typu SCP/FTP, a w przypadku hostingu współdzielonego zazwyczaj macie dodatkowo w panelu zarządzania kontem (np. DirectAdmin, cPanel) moduł umożliwiający zarządzanie plikami bezpośrednio z poziomu tego panelu.

(!) Zgłoś błąd na stronie
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Młody Szymon pomógł tacie zapisać się do Newslettera WebInsider.pl i... teraz idzie popływać
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Młody Szymon pomógł tacie zapisać się do Newslettera WebInsider.pl i... teraz idzie popływać