||

Czy Twój WordPress jest bezpieczny?

Skoro czytasz ten artykuł, to prawdopodobnie miałeś albo nadal masz do czynienia ze wspomnianym w tytule systemem zarządzania treścią. Być może tworzysz strony oparte o ten CMS albo posiadasz własną stronę na WordPress.

I nic w tym dziwnego, bo wg niektórych danych WordPress to jeden z najbardziej popularnych, jeśli nie najbardziej popularny system CMS. I w tym też nie byłoby nic dziwnego, ale…


Czy tworząc swoją albo cudzą, stronę w WP, zastanawiałeś się lub przejmowałeś, czy taka strona jest odpowiednio zabezpieczona przed nieuprawnionym dostępem?

Z moich obserwacji wynika, że mało kto przejmuje się tym tematem, być może ze względu na brak świadomości w tym temacie, a być może ze względu na wiarę, że jeśli do panelu admina ustawimy hasło, to wystarczy.

Niestety jak się okazuje – nic bardziej mylnego!
Popularność WordPressa oraz jego możliwości rozszerzania funkcjonalności (na WordPress można zbudować prostą stronę WWW, ale można też zbudować sklep, forum, czy system do nauki on-line) sprawiają, że jest to częsty cel ataków hakerskich.

W tym artykule przeprowadzam research za pomocą Google i dwóch najbardziej popularnych modeli LLM – ChatGPT oraz DeepSeek. Ten drugi zainstalowałem lokalnie wykorzystując oprogramowanie LM studio. ChatGPT wykorzystałem w darmowej wersji on-line.

Idąc dalej, należy zadać pytanie:

W jaki sposób włamywacze dostają się na Twoją stronę www?

Najczęstsze i główne przyczyny włamań to:

  • luki bezpieczeństwa we wtyczkach i szablonach
  • nieaktualna wersja WordPress
  • słabe hasła użytkowników
  • brak ograniczenia liczby prób logowania
  • brak wieloskładnikowego uwierzytelniania (MFA, 2FA)
  • zbyt szerokie uprawnienia do newralgicznych plików i katalogów na serwerze
  • hosting bez separacji domen
  • nieaktualne oprogramowanie na hostingu np. stara wersja PHP
Jakie problemy i negatywne konsekwencje mogą powodować powyższe zanedbania?

Kilka przykładowych negatywnych konsekwencji to:

  • kradzież danych klientów (jeśli np. prowadzisz sklep internetowy)
  • rozsyłanie spamu z Twojej strony internetowej (jeśli strona zostanie zainfekowana złośliwym oprogramowaniem)
  • wykorzystanie strony do dalszych ataków np. na instytucje państwowe, firmy itp.
  • utrata danych
  • utrata klientów
  • utrata reputacji Twojego biznesu (jeśli jest to strona firmowa)
  • straty finansowe (jako następstwo wykradzenia danych klientów albo użytkowników)

W takim razie co zrobić żeby złagodzić skutki włamania jeśli takie będzie miało miejsce, albo całkowicie mu zapobiec?
W tym celu wykorzystałem następujący bardzo prosty prompt, wpisując go do ChatGPT oraz do DeepSeek, dla porównania wyników z obu tych narzędzi:

Napisz wszystko co wiesz o bezpieczeństwie WordPress tzn. co trzeba wdrożyć żeby zabezpieczyć stronę opartą o WordPress przed potencjalnymi atakami

Zrzut ekranu z LM Studio i DeepSeek-r1 7B w wersji lokalnej:

Zrzut ekranu z darmowego ChatGPT w wersji on-line:

I tutaj odpowiedzi są różne, ale całkiem podobne, poniżej skrócona wersja listy punktów z DeepSeek i ChatGPT:

DeepSeek:

Otrzymujemy odpowiedź jako lista 20 podpunktów w języku angielskim. DeepSeek rozumie język polski, ale generowane wyniki są w języku angielskim (przynajmniej ten w wersji lokalnej, jest to mała wada):

  1. Install Security Plugins
  2. Update Software
  3. Choose Modern Themes and Plugins
  4. SSL/TLS Everywhere
  5. Secure Password Management
  6. Enable Two-Factor Authentication (2FA)
  7. Prevent SQL Injections
  8. Secure Configuration Files
  9. Prevent Zero-Day Attacks
  10. Implement Web Application Firewall (WAF)
  11. Check for Unsecured Inputs and Outputs
  12. Rate Limiting (Optional)
  13. Prevent CSRF Attacks
  14. Security Headers in Directories
  15. Input Sanitization
  16. SSL for API Endpoints
  17. Regular Theme and Plugin Audits
  18. Check Domain Security
  19. Password Sanitization in Forms
  20. Security Testing

ChatGPT:

ChatGPT generuje mniej, ale moim zdaniem bardziej trafnych odpowiedzi, dodatkowo są w języku polskim:

Aktualizuj WordPress, wtyczki i motywy
Wyłącz edycję plików w panelu admina
Używaj silnych haseł i 2FA
Ogranicz próby logowania
Zmień domyślny URL logowania
Blokuj złośliwe IP (np. Cloudflare)
Wymuś HTTPS i zabezpiecz pliki serwera
Skonfiguruj Content Security Policy (CSP)
Rób regularne kopie zapasowe
Zabezpiecz bazę danych i blokuj XML-RPC
Monitoruj zmiany plików i logi aktywności

Oba modele dodatkowo argumentują, dlaczego każda wskazówka jest ważna. Ale ChatGPT wypada tutaj lepiej, ponieważ podaje też przykłady i sposoby jak można wdrożyć daną wskazówkę za pomocą fragmentów kodu. Nie widać tego na załączonych wyżej wynikach, są to jedynie podsumowania z całej odpowiedzi.

Podsumowanie

Celem niniejszego wpisu jest zwrócenie uwagi na, często pomijany moim zdaniem, temat bezpieczeństwa WordPress. Jeśli po zapoznaniu się z nim stwierdzasz, że wcześniej nie zwracałeś/aś na to uwagi, to jest dobry moment żeby przyjrzeć się temu tematowi bliżej.

Wykorzystaj powyższą checklistę wygenerowaną przez ChatGPT, przeczytaj każdy punkt i zastanów się, czy stosujesz podane wskazówki u siebie. Jeśli nie stosujesz lub stosujesz tylko niektóre lub w ogóle nie wiesz o co chodzi, to powinna zapalić Ci się lampka kontrolna 😉

W drugiej części tego artykułu opiszę dokładniej i podam konkretne przykłady, jak można wdrożyć opisane zabezpieczenia na swojej stronie opartej o WordPress.
Stay tuned.

Podobne wpisy