Jak zabezpieczyć WordPress przed atakami w 2025 roku
Bezpieczeństwo

Jak zabezpieczyć WordPress przed atakami w 2025 roku

Większość włamań na strony WordPress jest w pełni przewidywalna i możliwa do zablokowania. W tym poradniku pokażę Ci praktyczną checklistę, od aktualizacji i 2FA, przez blokadę xmlrpc i hardening wp-config, po kopie zapasowe offsite. Wdrożysz to samodzielnie krok po kroku.

Dlaczego jak zabezpieczyć WordPress to pytanie na dziś, nie na kiedyś

Boty skanujące internet nie śpią, testują znane podatności niemal natychmiast po opublikowaniu CVE. Aktualne wektory ataków w 2025 roku to przede wszystkim:

  • Brute-force loginów, masowe próby zgadnięcia hasła do /wp-login.php i xmlrpc.php.
  • Podatne wtyczki i motywy, nieaktualne wtyczki z publicznie ujawnionymi lukami (np. SQL injection, XSS, LFI).
  • Ataki przez xmlrpc.php, endpoint wielokrotnie nadużywany do prób logowania i DDoS.
  • Supply chain, przejęte lub porzucone wtyczki z wstrzykniętym złośliwym kodem.

Dobra wiadomość: kilkanaście konkretnych działań radykalnie zmniejsza powierzchnię ataku. Zaczynajmy.

Checklist: jak zabezpieczyć WordPress krok po kroku

1. Aktualizacje, podstawa bezpieczeństwa

Utrzymuj aktualny rdzeń WordPress, wszystkie wtyczki i motywy. Nieużywane wtyczki i motywy usuń, samo wyłączenie nie chroni przed skanowaniem plików. Włącz automatyczne aktualizacje dla drobnych poprawek bezpieczeństwa rdzenia:

define('WP_AUTO_UPDATE_CORE', 'minor');

2. Silne hasła i uwierzytelnianie dwuskładnikowe (2FA)

Hasło administratora to minimum 20 znaków, menedżer haseł (Bitwarden, 1Password) to najlepsze rozwiązanie. Włącz 2FA dla wszystkich kont z rolą Redaktora i wyżej. Dobre wtyczki do 2FA: WP 2FA lub miniOrange. Jeśli używasz WooCommerce, 2FA dla klientów z uprawnieniami edycji zamówień jest obowiązkowe.

3. Ograniczenie prób logowania

Domyślnie WordPress nie blokuje kolejnych nieudanych prób logowania. Wtyczka Limit Login Attempts Reloaded lub WP Cerber pozwoli zablokować IP po kilku błędnych próbach. Warto też zmienić URL panelu z domyślnego /wp-admin/, zmniejsza liczbę botów, choć nie jest fundamentalnym zabezpieczeniem.

4. Blokada xmlrpc.php

Jeśli nie korzystasz ze zdalnego publikowania ani starszej aplikacji mobilnej, zablokuj xmlrpc.php całkowicie w pliku .htaccess:

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

Alternatywnie, przez filtr PHP w functions.php motywu potomnego. Więcej szczegółów znajdziesz w artykule o xmlrpc.php w WordPress.

5. Hardening wp-config.php

Kilka linii w pliku wp-config.php znacząco podnosi bezpieczeństwo:

// Blokada edycji plików z panelu admina
define('DISALLOW_FILE_EDIT', true);

// Blokada instalacji wtyczek/motywów z panelu (opcjonalnie)
define('DISALLOW_FILE_MODS', true);

// Wymuszenie SSL w panelu
define('FORCE_SSL_ADMIN', true);

// Unikalne klucze i sole (generuj na: wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY',         'unikalny-ciag-znakow');
define('SECURE_AUTH_KEY',  'unikalny-ciag-znakow');
// ... (pozostałe 6 kluczy)

Przenieś plik wp-config.php o jeden poziom wyżej niż katalog public_html (WordPress obsługuje to automatycznie) lub zablokuj dostęp przez .htaccess:

<Files wp-config.php>
  Order Allow,Deny
  Deny from all
</Files>

6. Uprawnienia plików i katalogów

Prawidłowe uprawnienia to minimum ryzyka przy atakach na zapis:

  • Katalogi: 755
  • Pliki PHP: 644
  • wp-config.php: 600 lub 640
  • .htaccess: 644

Na hostingach współdzielonych (home.pl, cyber_Folks, LH.pl) sprawdź uprawnienia przez Menedżer plików w panelu lub FTP.

7. Zasada najmniejszych uprawnień

Każdy użytkownik powinien mieć tylko tyle uprawnień, ile faktycznie potrzebuje. Redaktorzy nie potrzebują roli Administratora. Jeśli tworzysz konto dla agencji lub developera, daj mu dostęp czasowy i ogranicz do niezbędnych możliwości. Po zakończeniu prac, usuń konto lub zmień hasło.

Chcesz, żebym przeprowadził pełny audyt bezpieczeństwa Twojej strony?Bezpłatna diagnoza · reakcja w 1h
Zadzwoń, 577 020 415

8. WAF i ochrona przez Cloudflare

Web Application Firewall (WAF) filtruje złośliwy ruch zanim dotrze do serwera. Polecam dwa podejścia:

  • Cloudflare (nawet plan darmowy), ukrywa prawdziwe IP serwera, blokuje znane boty, oferuje reguły WAF i rate limiting. Szczegółowo opisuję to w usłudze Ochrona Cloudflare dla WordPress.
  • Wtyczka Wordfence, WAF po stronie PHP, blokuje ataki na poziomie aplikacji, skanuje pliki pod kątem malware.

9. Kopie zapasowe offsite

Kopia zapasowa to ostatnia linia obrony. Kluczowe zasady:

  • Backup codziennie dla aktywnych stron, raz w tygodniu minimum dla wizytówek.
  • Przechowuj kopie poza serwerem, Amazon S3, Backblaze B2, Google Drive.
  • Testuj przywracanie, kopia, której nie da się przywrócić, nie istnieje.
  • Dobre wtyczki: UpdraftPlus, WPvivid, All-in-One WP Migration.

10. Monitoring i alerty

Nie dowiaduj się o ataku od klientów, skonfiguruj powiadomienia:

  • Wordfence lub WP Cerber, alerty e-mail przy wykryciu złośliwego kodu lub nieudanych logowaniach.
  • Uptime monitoring (np. UptimeRobot, BetterUptime), powiadomienie, gdy strona przestaje odpowiadać.
  • Google Search Console, alerty przy wykryciu malware przez Google.

Jeśli zależy Ci na kompleksowym podejściu, zapoznaj się z moją usługą Audyt bezpieczeństwa WordPress, sprawdzam stronę pod kątem wszystkich powyższych punktów i dostarczam raport z rekomendacjami.

Kiedy lepiej zadzwonić do specjalisty

Jeśli Twoja strona już została zainfekowana, wyświetla nieznane treści, jest zablokowana przez Google lub hosting zawiesił konto z powodu złośliwego kodu, nie trać czasu na samodzielne szukanie przyczyny. Podobnie, jeśli strona przetwarza płatności lub dane osobowe i nie masz pewności co do jej konfiguracji bezpieczeństwa. Zadzwoń do mnie na 577 020 415, bezpłatna diagnoza, reakcja w ciągu godziny, działam na hostingach home.pl, cyber_Folks, LH.pl, OVH, Nazwa.pl, Hostinger i Zenbox.

Chcesz mieć pewność, że Twój WordPress jest bezpieczny?

Zrobię audyt i wdrożę zabezpieczenia, zanim ktoś wykorzysta lukę, bo dużo taniej jest zapobiegać niż usuwać skutki włamania. Zadzwoń albo wyślij szybkie zgłoszenie, reakcja w 1h, bezpłatna wstępna diagnoza, rozliczam co 15 minut.

Zadzwoń, 577 020 415 Szybkie zgłoszenie
Powiązane tematy

Czytaj dalej

Zadzwoń Napisz