Hushfort

Jak włączyć uwierzytelnianie dwuskładnikowe (2FA) w WordPressie?

Autor: Eureka Studio · Zaktualizowano

Krótka odpowiedź

WordPress nie ma wbudowanego uwierzytelniania dwuskładnikowego (2FA, zwanego też weryfikacją dwuetapową). Zainstaluj wtyczkę 2FA obsługującą TOTP, zeskanuj jej kod QR dowolną aplikacją uwierzytelniającą, potwierdź sześciocyfrowym kodem i zapisz kody odzyskiwania offline. Od tej chwili samo hasło nie otworzy Twojego konta. Miej w zanadrzu awaryjny przełącznik w wp-config.php.

Kroki

  1. 1Krok 1

    Włącz uwierzytelnianie dwuskładnikowe w witrynie

    W WordPressie otwórz Hushfort → Uwierzytelnianie dwuskładnikowe i zaznacz „Włącz uwierzytelnianie dwuskładnikowe”. Dla użytkowników nic się nie zmienia, dopóki każdy nie skonfiguruje własnego kodu.

    Zakładka Uwierzytelnianie dwuskładnikowe w Hushfort z włączonym przełącznikiem i zapisanymi ustawieniami
  2. 2Krok 2

    Zeskanuj kod QR aplikacją

    Kliknij Rozpocznij konfigurację 2FA. Zeskanuj kod QR dowolną aplikacją uwierzytelniającą albo wpisz klucz konfiguracji wyświetlony pod nim. Kod QR jest generowany na Twoim serwerze, więc sekret nigdy go nie opuszcza. Pozostali użytkownicy znajdą tę samą konfigurację we własnym profilu.

    Po kliknięciu Rozpocznij konfigurację 2FA otwiera się Krok 1: kod QR i klucz do ręcznego dodania w aplikacji uwierzytelniającej
  3. 3Krok 3

    Potwierdź sześciocyfrowym kodem

    W sekcji Krok 2: Weryfikacja wpisz kod pokazany w aplikacji i kliknij Włącz. Kody zmieniają się co 30 sekund, więc użyj bieżącego.

    Sześciocyfrowy kod wpisany w Krok 2: Weryfikacja i kliknięty przycisk Włącz; uwierzytelnianie dwuskładnikowe jest teraz aktywne
  4. 4Krok 4

    Zapisz kody odzyskiwania offline

    Hushfort pokazuje dziesięć kodów odzyskiwania tylko raz, zaraz po konfiguracji. Kliknij Pobierz kody (.txt) lub Drukuj i przechowuj je w innym miejscu niż telefon. Każdy kod działa jeden raz.

    Twoje kody odzyskiwania: dziesięć jednorazowych kodów z przyciskami Pobierz kody (.txt) i Drukuj oraz potwierdzenie, że uwierzytelnianie dwuskładnikowe jest włączone
  5. 5Krok 5

    Loguj się hasłem i kodem

    Przy następnym logowaniu WordPress po haśle poprosi o kod z aplikacji. Samo skradzione hasło nic już atakującemu nie da.

    Ekran logowania proszący po haśle o 6-cyfrowy kod weryfikacyjny, z przyciskiem Zweryfikuj i zaloguj się

Dlaczego to ważne

Hasła wyciekają. Są używane ponownie na innej witrynie, która pada ofiarą włamania, wpisywane na fałszywych stronach logowania albo odgadywane. Gdy ktoś zna Twoje hasło, WordPress nie odróżni go od Ciebie.

Uwierzytelnianie dwuskładnikowe (2FA) dodaje coś, co masz tylko Ty: sześciocyfrowy kod z aplikacji w telefonie, który zmienia się co 30 sekund. Żeby wejść, atakujący potrzebuje jednocześnie Twojego hasła i Twojego telefonu. W przypadku konta administratora ta jedna zmiana eliminuje najczęstszy sposób przejmowania witryn.

Standard, na którym opierają się te kody, to TOTP (jednorazowe hasła oparte na czasie). Jest otwarty, działa offline i obsługuje go każda popularna aplikacja uwierzytelniająca, więc nie jesteś związany z jednym dostawcą.

Częste błędy

  • Niezapisanie kodów odzyskiwania. Utrata telefonu bez kodów odzyskiwania to najczęstszy sposób, w jaki ludzie blokują się po włączeniu 2FA. Wydrukuj je albo trzymaj w menedżerze haseł, który nie jest na tym samym telefonie.
  • Jeden telefon do wszystkiego. Jeśli kody i kody odzyskiwania są na tym samym urządzeniu, jego utrata oznacza utratę obu.
  • Założenie, że 2FA zamyka wszystkie drzwi. Jeśli xmlrpc.php nadal przyjmuje hasła albo nieudane kody nie są liczone, atakujący mogą zgadywać dalej. Zamknij logowanie przez XML-RPC i upewnij się, że nieudane próby 2FA wliczają się do limitu logowania.
  • Kody QR generowane przez zewnętrzną usługę. Niektóre rozwiązania rysują kod QR za pomocą zewnętrznej usługi graficznej, co oznacza wysłanie Twojego sekretu przez internet. Wybieraj kod QR generowany na własnym serwerze.
  • Zmiana kluczy bezpieczeństwa (salts) bez planu. W niektórych rozwiązaniach sekrety 2FA są powiązane z kluczami WordPressa. Sprawdź, co robi Twoja wtyczka, gdy klucze się zmienią.

Bez wtyczki

Nie ma uczciwego sposobu, by dodać 2FA w standardzie TOTP do WordPressa bez kodu. Opcje poza wtyczką WordPressa to:

  • Ochrona logowania od hostingodawcy. Niektóre hostingi zarządzane stawiają warstwę 2FA przed wp-admin. Wygodne, jeśli jest dostępne, ale nie przeniesiesz tego przy zmianie hostingu.
  • Pojedyncze logowanie (SSO). Większe zespoły mogą kierować logowanie do WordPressa przez dostawcę tożsamości, który wymusza 2FA. Mocne, ale wymaga więcej konfiguracji, niż potrzebuje większość małych witryn.
  • Uwierzytelnianie HTTP Basic na wp-admin. Dodaje drugie hasło, a nie drugi składnik. Spowalnia boty, ale wyciekła lista haseł może zawierać oba.

Jeśli piszesz własne rozwiązanie, musisz przechowywać sekret każdego użytkownika w postaci zaszyfrowanej, weryfikować kody z tolerancją na niewielkie przesunięcie zegara, ograniczać liczbę prób na etapie kodu, generować kody odzyskiwania i dać administratorom możliwość resetu. To dużo krytycznego dla bezpieczeństwa kodu do samodzielnego utrzymania.

Jeśli coś pójdzie nie tak

  • Kod jest zawsze „nieprawidłowy”. Sprawdź godzinę w telefonie. TOTP zależy od zegara; włącz automatyczne ustawianie czasu w ustawieniach telefonu.

  • Zgubiłeś telefon. Użyj kodu odzyskiwania na ekranie kodu. Każdy kod działa jeden raz.

  • Nie masz już kodów odzyskiwania. Dodaj tę linię do wp-config.php:

    define( 'GATEKEEPER_2FA_DISABLE', true );
    

    Zaloguj się, skonfiguruj 2FA ponownie na nowym telefonie, zapisz nowe kody, a potem usuń linię.

  • Inny administrator może pomóc. Administrator może zresetować 2FA dla Twojego konta z poziomu Twojego profilu użytkownika.

Pełny poradnik znajdziesz w artykule Zablokowany dostęp po zmianie adresu logowania.

Z Hushfort

Uwierzytelnianie dwuskładnikowe należy do Hushfort Pro, płatnego dodatku instalowanego obok Hushfort Security, darmowej wtyczki bezpieczeństwa WordPress.

Warstwa Uwierzytelnianie dwuskładnikowe w Hushfort korzysta z TOTP, więc działa z każdą aplikacją uwierzytelniającą.

  • Kod QR jest generowany lokalnie. Twój sekret nigdy nie opuszcza serwera.
  • Każdy użytkownik konfiguruje 2FA na ekranie własnego profilu; administratorzy mogą je zresetować.
  • Kody odzyskiwania można pobrać lub wydrukować.
  • Sekrety są przechowywane w postaci zaszyfrowanej (AES-256 z kontrolą HMAC).
  • Jeśli klucze bezpieczeństwa (salts) WordPressa się zmienią, 2FA nie wyłącza się po cichu. Użytkownicy, których to dotyczy, logują się kodem odzyskiwania i są proszeni o ponowną konfigurację 2FA. Możesz też ustawić osobny klucz GATEKEEPER_2FA_KEY (co najmniej 32 znaki) w wp-config.php, aby klucze (salts) nie miały znaczenia.
  • Nieudane kody wliczają się do Limitów logowania.

Najczęstsze pytania

Czy WordPress ma wbudowane uwierzytelnianie dwuskładnikowe?

Nie. Rdzeń WordPressa obsługuje tylko nazwę użytkownika i hasło. Aby dodać drugi składnik, potrzebujesz wtyczki, warstwy logowania od hostingodawcy lub usługi pojedynczego logowania (SSO).

Jakiej aplikacji uwierzytelniającej użyć?

Zadziała każda aplikacja obsługująca TOTP, np. Google Authenticator, Microsoft Authenticator, 1Password, Bitwarden czy FreeOTP. Wszystkie odczytują ten sam kod QR.

Co, jeśli zgubię telefon?

Zaloguj się jednym z kodów odzyskiwania. Jeśli żadnego nie masz, dodaj define( 'GATEKEEPER_2FA_DISABLE', true ); do wp-config.php, zaloguj się, skonfiguruj 2FA ponownie, a potem usuń tę linię.

Czy 2FA przez SMS lub e-mail jest lepsze niż aplikacja?

Kody z aplikacji to zwykle mocniejszy wybór. Działają offline, nie da się ich przechwycić w drodze i nie zależą od serwera poczty ani sieci komórkowej.

Czy każdy użytkownik powinien mieć 2FA?

Zacznij od wszystkich, którzy mogą publikować lub zarządzać witryną, zwłaszcza administratorów. Klienci i subskrybenci zwykle tego nie potrzebują.

Zgłoś błąd lub zaproponuj funkcję

Twoja wiadomość trafia prosto do zespołu, który tworzy Hushfort.

Czego dotyczy?

Używany tylko do odpowiedzi.

Używamy tych danych wyłącznie, aby Ci odpowiedzieć. Prywatność