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
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.

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.

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.

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.
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.
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.phpnadal 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) wwp-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?
Jakiej aplikacji uwierzytelniającej użyć?
Co, jeśli zgubię telefon?
Czy 2FA przez SMS lub e-mail jest lepsze niż aplikacja?
Czy każdy użytkownik powinien mieć 2FA?
Powiązane poradniki
Jak ograniczyć liczbę prób logowania w WordPressie?
Ogranicz próby logowania w WordPressie i zatrzymaj ataki brute force: blokada IP po kilku nieudanych logowaniach, sprawdzone ustawienia i kod do wdrożenia.
Zobacz krokiDlaczego wp-admin zwraca błąd 404 po zmianie adresu logowania i jak się zalogować?
Zapomniałeś adresu logowania albo zgubiłeś telefon z 2FA? Cztery sposoby powrotu do WordPressa: od linii w wp-config.php po usunięcie folderu wtyczki.
Zobacz krokiJak zmienić adres logowania do WordPressa?
Zmień adres logowania WordPress i ukryj wp-admin w pięciu bezpiecznych krokach. Przetestuj przed wylogowaniem i sprawdź, jak wrócić, gdy zapomnisz adres.
Zobacz kroki

