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

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

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.

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!