Dwuskładnikowe uwierzytelnianie w Wordpress

 Nawet w normalnych czasach warto dbać o bezpieczeństwo IT. A teraz czasy nie są normalne. Każde niezabezpieczone urządzenie i aplikacja sieciowa szybko zostaje przejęte, by posłużyć do ataku DDoS, rozsyłania spamu albo kopania kryptowalut. Wordpress pozostawiony na kilka miesięcy bez opieki zmienia się w farmę linków prowadzących do podejrzanych stron.

Podstawy bezpieczeństwa Wordpress

Zanim przejdziemy do 2FA:

1. Najważniejsza zasada to aktualizacje - samego Wordpressa, a także wtyczek, szablonów i tłumaczeń. Jeżeli logujemy się, by np. dodać wpis, przy okazji najpierw aktualizujemy. A jeżeli nie mamy potrzeby nic zmieniać, to i tak co najmniej raz w tygodniu logujemy się tylko po to, by sprawdzić aktualizacje. 

2. Nieużywane wtyczki i szablony warto odinstalować. Im mniej działającego kodu, tym mniejsza szansa, że gdzieś trafi się podatność. 

3. Wiele firm hostingowych oferuje automatyczny backup plików i bazy danych. Tam, gdzie trzymam strony, kopia zapasowa jest wykonywana każdej nocy i przechowywana przez miesiąc. Gdybym nagle odkrył, że strona mimo wszystko padła ofiarą ataku, mogę przywrócić wersję sprzed kilku dni.


Dwuskładnikowe uwierzytelnianie

Jednym z najskuteczniejszych sposobów na podniesienie poziomu bezpieczeństwa jest dwuskładnikowe uwierzytelnianie. Czyli: nie tylko musimy znać hasło, potrzebujemy też drugiego składnika. Może to być dostęp do określonego konta email lub numeru telefonu, lista haseł jednorazowych, odcisk palca lub inna cecha biometryczna, specjalny token USB lub całkiem osobny generator kodów. Dobrym kompromisem między bezpieczeństwem a wygodą  są aplikacje takie jak Google Authenticator i Microsoft Authenticator. Co ważne, te aplikacje (i wiele innych) są zgodne z powszechnie przyjętym standardem TOTP. Możemy więc użyć dowolnej z nich do zabezpieczenia Wordpressa, jak i tysięcy innych usług. Wybór kokretnej apki to kwestia wygody i zaufania do dostawcy. Zakładam, że każdy i tak ma konto w usługach Google'a i Microsoftu, więc te dwie aplikacje są najprostszym wyborem. Instalujemy więc jedną z nich, o ile jeszcze tego nie zrobiliśmy.


Krok drugi to instalacja wtyczki Wordpressa. Wybieramy Wtyczki, Dodaj nową i wyszukujemy 2FA. Znajdziemy wiele wtyczek, wybrałem  WP 2FA autorstwa WP White Security. Czy jest najlepsza? Nie wiem. Ważne, że jest regularnie aktualizowana, zgodna z najnowszą wersją Wordpressa i ma wielu użytkowników. Z miejsca odrzucamy wtyczki, których używa kilkadziesiąt czy kilkaset osób. Im więcej użytkowników, tym więcej raportów o błędach i tym większa presja, by szybko je naprawić (zwłaszcza gdy wtyczka ma również płatną wersję). Mało rozpowszechnione wtyczki to nieprzetestowany kod, więc również większe prawdopodobieństwo konfliktu z jakąś inną wtyczką.

Odpowiadamy na kilka pytań. Czy chcemy korzystać z TOTP, kodów wysyłanych na adres email czy obu? Tylko TOTP, to bezpieczniejsze rozwiązanie. Dla których użytkowników? Wszystkich, nikogo nie oszczędzać (to u mnie, bo logują się tylko administratorzy i autorzy tekstów; jeżeli pozwalasz na tworzenie kont dla komentujących użytkowników, możesz pozostawić 2FA opcjonalnym). Ustalamy, czy użytkownicy muszą skonfigurować 2FA od razu przy najbliższym logowaniu, czy dostaną na to trochę czasu. Wreszcie, konfigurujemy 2FA dla konta administratora. Wordpress wyświetli kod QR. W aplikacji na smartfonie wybieramy dodanie nowego konta (w Google Authenticator to jest okrągły przycisk z kolorowym +, w aplikacji Microsoftu trzeba najpierw rozwinąć menu w górnym prawym rogu i wybrać Other Account), skanujemy kod. Pojawia się nowy wpis, który wyświetla sześciocyfrowy kod zmieniający się co kilkadziesiąt sekund. To wszystko, odtąd przy każdym logowaniu będzie trzeba podać ten kod.


Jeżeli straciliśmy dostęp do smartfona

Największym problemem z 2FA jest utrata dostępu do smartfona. Chwilowa, bo nie mamy przy sobie lub na stałe, bo zepsuł się lub został skradziony. Powiedzmy szczerze, w tym drugim przypadku dostęp do Wordpressa będzie pewnie najmniejszym zmartwieniem. Aplikacje 2FA, a przynajmniej te Google'a i Microsoftu, pozwalają na zapisanie kopii danych w chmurze, łatwo więc przywrócimy konta na nowym urządzeniu. Drugi sposób to wygenerowanie listy haseł zapasowych, otrzymujemy taką propozycję pod koniec konfigurowania wtyczki. Wystarczy je zapisać w bezpiecznym miejscu albo wydrukować. Wreszcie, wersja awaryjna, np. gdy błąd we wtyczce całkiem zablokuje dostęp. Aby ręcznie usunąć wtyczkę: zalogować się na konto hostingowe przez FTP lub SSH, usunąć odpowiedni katalog z wp-content/plugins, a potem zalogować się do panelu administracyjnego Wordpressa (uwaga, zwykła strona zapewne nie będzie działać, gdy zabraknie aktywnej wtyczki, ale panel administracyjny tak) i wyłączyć wtyczkę. Nie testowałem, powinno działać.




Komentarze