Bezpieczeństwo & administracja stron

Jak zabezpieczyć WordPress – 12 kroków zapobiegających włamaniu

WordPress obsługuje 43% wszystkich stron www — i jest najczęstszym celem ataków. Średnio dziennie hakerzy próbują włamywać się 4 700 razy na każdą publiczną instalację WP. Większość ataków jest automatyczna i prosta do zatrzymania, jeśli wykonasz poniższe 12 kroków.

W skrócie

  • 90% włamań wykorzystuje 3 wektory: słabe hasła, nieaktualne wtyczki, brute force.
  • Pierwsze 6 kroków to absolutne minimum — bez nich Twoja witryna padnie ofiarą wcześniej czy później.
  • Wordfence + WPS Hide Login + Limit Login Attempts to święta trójca minimum.
  • Backup = ostatnia linia obrony. Bez niego włamanie = utrata witryny.

Główne wektory ataków na WP

1. Brute force (próba odgadnięcia hasła)

Bot wpisuje setki kombinacji admin/admin123, admin/password, etc., aż trafi. Standard: 1 000 prób na sekundę.

2. Nieaktualne wtyczki

Wtyczka opublikowana w 2019 z luką bezpieczeństwa. Hakerzy skanują, kto jeszcze jej używa. Wchodzą bez hasła.

3. Włamanie przez plugin „po taniej”

Pirackie wtyczki / motywy z null repozytoriów = w 90% z malware. Po instalacji haker ma backdoor.

4. Phishing administratora

Email „Twoja domena wygasa, zaloguj się tu” → fałszywa strona logowania → kradzież hasła.

5. SQL injection / XSS

Atak na słabo napisaną wtyczkę / motyw, pozwalający wstrzyknąć SQL lub JavaScript.

12 kroków zabezpieczenia

Krok 1: Mocne hasła + 2FA (najważniejszy)

90% włamań eliminuje sam ten krok.

  • Hasło administratora: min. 16 znaków, mieszane (wielkie, małe, cyfry, znaki specjalne)
  • Każdy administrator ma inne, unikalne hasło
  • Użyj menedżera haseł: 1Password, Bitwarden, KeePass

2FA (Two-Factor Authentication):

  • Wtyczka WP 2FA (darmowa)
  • Ustaw 2FA dla WSZYSTKICH użytkowników z rolą „Administrator” i „Editor”
  • Bezpłatna aplikacja: Google Authenticator, Authy, Microsoft Authenticator

Krok 2: Zmień URL strony logowania

Domyślny /wp-admin jest dla bota najłatwiejszym celem. Zmiana na /biuro-szefa eliminuje 99% prób brute force.

Wtyczka: WPS Hide Login (darmowa). Konfiguracja w 30 sekund.

Krok 3: Limit prób logowania

Nawet po zmianie URL — niech nikt nie próbuje 100 haseł.

Wtyczka: Limit Login Attempts Reloaded (darmowa). Domyślnie:
– Max 4 próby
– Blokada na 20 minut
– Po 4 blokadach: blokada na 24 godziny
– Powiadomienie mailowe administratora

Krok 4: Aktualizuj WordPress, motywy, wtyczki

Tylko wtedy gdy:
– Aktualizacja minor (4.5 → 4.5.1) — natychmiast
– Aktualizacja major (5.x → 6.x) — po 1–2 tygodniach (poczekaj na patche błędów)
– Wtyczki: najpierw na staging, potem na produkcji

Auto-update:
– WordPress core: TAK
– Wtyczki: opcjonalnie tylko zaufane (Yoast, Wordfence) — reszta ręcznie po testach

Krok 5: Zainstaluj WAF (firewall)

Web Application Firewall filtruje ruch, blokując znane ataki (SQLi, XSS, brute force).

Wtyczka: Wordfence (freemium):
– Free: real-time skaner malware, firewall reguły z 30-dniowym opóźnieniem
– Premium (109 USD/rok): real-time threat feed, reputation IP, 2FA

Alternatywa: iThemes Security (Solid Security), Sucuri.

Cloudflare WAF (płatny od 5 USD/mies.): globalny CDN + WAF na poziomie sieci, jeszcze wyżej.

Krok 6: Regularne backupy

Złota zasada: 3-2-1:
– 3 kopie danych
– 2 różne nośniki
– 1 off-site (poza serwerem)

Wtyczki:
UpdraftPlus (freemium) — najpopularniejsza, do GDrive/Dropbox/S3
BackWPup (freemium) — mocna alternatywa
Duplicator — głównie do migracji, ale działa też na backupy

Częstotliwość:
– Witryna z dużą zmiennością (sklep, blog) — codziennie
– Statyczna wizytówka — co tydzień
– Logi backupu = przed każdą aktualizacją

Krok 7: SSL (HTTPS) na wszystkich podstronach

W 2026 strona bez HTTPS to:
– Ostrzeżenie w Chrome („Not secure”)
– Spadek pozycji w Google
– Błąd w narzędziach typu Stripe/PayU (wymagają HTTPS)

Darmowy SSL: Let’s Encrypt — większość polskich hostingów ma w 1 kliknięciu.

Wymuś HTTPS: w .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Krok 8: Wyłącz edycję plików w panelu

WordPress domyślnie pozwala edytować PHP wtyczek/motywów z panelu. Każdy włamywacz to wykorzysta.

W wp-config.php dodaj:

define('DISALLOW_FILE_EDIT', true);

Krok 9: Ukryj wersję WordPress

Jeśli ujawniasz „WordPress 6.5.2”, haker wie, jakie luki w niej są. Domyślnie WP wstawia tę informację w <head> i readme.html.

Sposób: wtyczka WP Hide & Security Enhancer lub kod w functions.php:

remove_action('wp_head', 'wp_generator');

I usuń readme.html z root folderu witryny.

Krok 10: Zabezpiecz wp-config.php

wp-config.php zawiera dane dostępowe do bazy. Zabezpiecz:

  • Przenieś plik o jeden poziom wyżej niż folder publiczny (jeśli hosting pozwala)
  • Chmod 440 (tylko właściciel czyta i grupa)
  • Zaktualizuj klucze sekretne raz na rok (secret-key generator)

Krok 11: Wyłącz XML-RPC (jeśli nie potrzebne)

XML-RPC to stary protokół do zdalnej publikacji. Atakujący używają go do brute force.

Jeśli nie używasz Jetpack ani aplikacji mobilnej WordPress, wyłącz:

add_filter('xmlrpc_enabled', '__return_false');

Albo .htaccess:

<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
</Files>

Krok 12: Monitoring i alerty

Nawet po wszystkich krokach — możesz nie zauważyć włamania od razu. Monitoring wykrywa szybko.

Wordfence Free wysyła alerty mailowe gdy:
– Ktoś loguje się jako administrator
– Pojawia się nowa wtyczka
– Modyfikowane są pliki core
– Przychodzą próby brute force

Sucuri SiteCheck (darmowy zewnętrzny test): sitecheck.sucuri.net — sprawdź raz w miesiącu.

Najczęstsze błędy

❌ Login „admin”

Pierwsze, co bot próbuje. Zawsze nazwa użytkownika inna niż „admin”, „administrator”, nazwa firmy.

❌ Pirackie wtyczki / motywy

„Darmowa Yoast SEO Premium” z nieoficjalnego źródła = malware. Bezpośrednia droga do utraty witryny.

❌ Backup tylko na serwerze

Jeśli serwer padnie / hakerzy zaszyfrują dysk — Twój backup też zniknął. Off-site backup obowiązkowy.

❌ Wszyscy mają rolę „Administrator”

Klient prosi: „daj mi pełny dostęp”. Daj rolę Editor zamiast. Administrator instaluje wtyczki, edytuje motyw — to dodatkowe ryzyko.

❌ Pomijanie aktualizacji „bo działają”

Stara wtyczka „działająca” 3 lata = na 99% ma znaną lukę. Aktualizuj lub zastąp utrzymywaną.

Co zrobić, jeśli WordPress jest zhakowany

Pełny poradnik: WordPress zhakowany — co teraz.

Skrót:
1. Odłącz witrynę (włącz tryb maintenance / hosting → wstrzymaj)
2. Zmień wszystkie hasła (WP, hosting, FTP, baza)
3. Skanuj malware (Wordfence, Sucuri, MalCare)
4. Przywróć backup sprzed włamania
5. Zaktualizuj wszystko, zmień klucze sekretne
6. Wzmocnij security (12 kroków powyżej)

Co dalej

W tym tygodniu:

  1. Wzmocnij hasło administratora + włącz 2FA
  2. Zainstaluj Wordfence
  3. Zmień URL logowania (WPS Hide Login)
  4. Włącz Limit Login Attempts
  5. Sprawdź, czy backupy idą gdziekolwiek poza serwer

W naszej administracji www standardowo wdrażamy te 12 kroków, plus monitoring i miesięczne raporty bezpieczeństwa. Pakiet od 299 zł/mies.

Pomógł Ci ten artykuł?

Podziel się z innymi

Masz konkretny projekt?

Pogadajmy o Twojej stronie.

Bezpłatna 30-minutowa konsultacja, brief i indywidualna wycena w ciągu 24 godzin roboczych. Bez handlowca — odpisuje Adrian.

Wyceń projekt
Cześć! 👋 Jestem Websky Bot, asystent AI Websky. W czym Ci pomóc?