Jak zabezpieczyć logowanie do WordPressa? (Poradnik 2026) - Stop Brute Force
PL

Jak zabezpieczyć logowanie do WordPressa? (Poradnik 2026) - Stop Brute Force

5.00 /5 - (25 głosów )
Spis treści

Uwierzytelnianie to frontowe drzwi do Twojego cyfrowego zamku. W WordPressie, te drzwi znajdują się zazwyczaj pod adresem /wp-login.php, a dla milionów stron klucz pod wycieraczką ma napis “admin”.

W 2026 roku ataki Brute Force (siłowe łamanie haseł) nie są już przeprowadzane przez nastolatków w piwnicach. Są prowadzone przez botnety napędzane AI, zdolne do testowania tysięcy poświadczeń na sekundę z rozproszonych adresów IP. Jeśli Twoje bezpieczeństwo opiera się wyłącznie na “silnym haśle”, już przegrałeś.

Ten kompleksowy przewodnik inżynierski przeprowadzi Cię od podstawowej higieny (zmiana nazwy użytkownika) do ochrony klasy militarnej (Klucze Sprzętowe i blokady na poziomie serwera).

Część 1: Podatność “Admin” (Enumeracja Użytkowników)

Dlaczego hakerzy kochają nazwę “admin”? Ponieważ to skraca ich pracę o połowę. W ataku Brute Force, napastnik musi zgadnąć dwie rzeczy: Nazwę Użytkownika i Hasło. Jeśli używasz “admin”, dajesz im 50% danych za darmo.

Problem “ID 1”

Domyślnie, pierwszy użytkownik stworzony w WordPressie ma ID 1. Hakerzy często skanują adres twoja-strona.pl/?author=1. Jeśli Twoja strona przekieruje ich na twoja-strona.pl/author/mariusz/, właśnie ujawniłeś swój login (“mariusz”).

Naprawa: Chirurgiczne Usunięcie

W WordPressie nie da się po prostu “zmienić” nazwy użytkownika (loginu). Musisz przeprowadzić przeszczep.

  1. Stwórz Nowego Dowódcę:
    • Idź do Użytkownicy -> Dodaj nowego.
    • Nazwa: Coś nieoczywistego (np. Obsydianowy_Orzel_88).
    • E-mail: Twój bezpieczny e-mail.
    • Rola: Administrator.
  2. Zaloguj się jako Nowy Dowódca: Użyj okna incognito.
  3. Usuń Rekruta:
    • Wróć do listy użytkowników.
    • Najedź na “admin” i kliknij Usuń.
    • KROK KRYTYCZNY: WordPress zapyta: “Co zrobić z treścią tego użytkownika?”
    • Wybierz: “Przypisz całą zawartość do:” -> [Wybierz Nowego Użytkownika].
  4. Zatwierdź. “Admin” nie żyje. Niech żyje Obsydianowy_Orzel_88.

Część 2: Uwierzytelnianie Dwuskładnikowe (2FA) - Obowiązek w 2026

Hasła są martwe. Codziennie wyciekają w zrzutach baz danych. Jeśli prowadzisz stronę biznesową bez 2FA, jesteś nieodpowiedzialny.

Poziomy 2FA

  1. Kod E-mail (Słabe): Lepsze niż nic, ale e-maile bywają przejmowane.
  2. Aplikacja TOTP (Standard): Google Authenticator, Authy, Ente Auth. Kod zmienia się co 30 sekund. Działa offline.
  3. Klucze Sprzętowe (Standard Żelazny): YubiKey, Titan Key (FIDO2/WebAuthn). To jest “unphishable” (niepodatne na phishing). Nawet jeśli wpiszesz hasło na fałszywej stronie, atak się nie uda, bo nie dotknąłeś fizycznego klucza.

Polecane Wtyczki

  • WP 2FA (od Melapress): Świetna wersja darmowa.
  • Two-Factor (Plugin Contributors): Lekka, “oficjalna” wtyczka twórców WP.

Część 3: Passkeys (Przyszłość Logowania)

W 2026 wychodzimy poza hasła całkowicie. Passkeys wykorzystują biometrię Twojego urządzenia (TouchID, FaceID, Windows Hello) do uwierzytelniania za pomocą kryptografii klucza publicznego.

  • Brak hasła do ukradzenia.
  • Brak możliwości phishingu.
  • Wdrożenie: Wtyczki takie jak “Solid Security Pro” lub centralne systemy tożsamości (Auth0).

Część 4: Zatrzymanie Brute Force (Rate Limiting)

Nawet jeśli hakerzy nie wejdą do środka, mogą zawiesić Twój serwer, próbując 10 000 haseł na minutę. Każda próba logowania zużywa zasoby PHP i MySQL.

Warstwa 1: Poziom Aplikacji (Wtyczki)

Zainstaluj Limit Login Attempts Reloaded.

  • Konfiguracja: “Blokada po 3 nieudanych próbach”.
  • “Czas blokady: 24 godziny”. To zatrzymuje ataki typu “low and slow”.

Warstwa 2: CAPTCHA (Cloudflare Turnstile)

Google reCAPTCHA jest irytująca (nikt nie lubi klikać w pasy dla pieszych). Użyj Cloudflare Turnstile. Jest niewidzialna. Sprawdza sygnały z przeglądarki, aby ocenić, czy odwiedzający jest człowiekiem, bez zmuszania go do układania puzzli.

  • Wtyczka: “Simple Cloudflare Turnstile”.

Warstwa 3: Poziom Serwera (Fail2Ban)

Dla użytkowników VPS. Fail2Ban skanuje logi serwera (np. /var/log/auth.log). Jeśli widzi IP uderzające w wp-login.php, aktualizuje firewall (iptables), aby całkowicie odciąć to IP od serwera. Haker nie dostaje komunikatu “Złe hasło”, dostaje “Connection Refused”.

Część 5: Wyłączenie “User Enumeration”

Hakerzy używają skryptów do zgadywania loginów. Próbują /?author=1. Możesz to zablokować w .htaccess:

# Blokada skanowania autorów
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
</IfModule>

Podsumowanie: Twoja Postawa Bezpieczeństwa

  1. Tożsamość: Użytkownik “admin” usunięty.
  2. Uwierzytelnianie: 2FA aktywne dla wszystkich administratorów.
  3. Bramka: Cloudflare Turnstile weryfikuje człowieczeństwo.
  4. Bramkarz: Limit Login Attempts banuje recydywistów.

Bezpieczeństwo to nie produkt. To proces. Zaktualizuj swoją listę kontrolną jeszcze dzisiaj.