WordPress napędza ogromną liczbę stron internetowych. Jego popularność sprawia jednak, że jest również częstym celem automatycznych ataków, skanowania podatności i prób przejęcia serwisów.
Czy oznacza to, że WordPress jest niebezpieczny?
Nie.
W praktyce zdecydowanie częściej problemem nie jest sam WordPress, lecz sposób, w jaki strona została zbudowana, skonfigurowana i później utrzymywana.
Przez lata pracy z WordPressem spotykałem strony z dziesiątkami nieużywanych wtyczek, nieaktualnym PHP, kontami administratorów chronionymi słabymi hasłami czy kopiami bezpieczeństwa, których nikt nigdy nie próbował odtworzyć.
Bezpieczeństwo nie zaczyna się od instalacji jednej „wtyczki security”. To proces.
Aktualizacje to podstawa, ale nie wystarczą
Regularna aktualizacja WordPressa, motywu i wtyczek jest jednym z podstawowych elementów bezpieczeństwa.
Wiele podatności wykorzystywanych przez automatyczne boty dotyczy starszych wersji popularnych rozszerzeń.
Jednocześnie podejście:
„włączmy automatyczne aktualizacje wszystkiego i zapomnijmy o stronie”
również nie zawsze jest dobrym rozwiązaniem.
Aktualizacja może powodować konflikt pomiędzy wtyczkami, motywem albo używaną wersją PHP. Dlatego w serwisach biznesowych po aktualizacji warto sprawdzić przynajmniej kluczowe funkcje strony.
W sklepie internetowym będą to m.in.:
- koszyk,
- checkout,
- płatności,
- wysyłka,
- logowanie klienta,
- wiadomości transakcyjne.
Im więcej wtyczek, tym większa powierzchnia ataku
WordPress daje ogromne możliwości dzięki rozszerzeniom.
Problem zaczyna się wtedy, gdy praktycznie każdą drobną funkcję rozwiązujemy kolejną wtyczką.
Każde rozszerzenie to:
- dodatkowy kod,
- potencjalna podatność,
- kolejny element wymagający aktualizacji,
- możliwość konfliktu z innymi komponentami,
- dodatkowy wpływ na wydajność.
Dlatego przed instalacją kolejnej wtyczki warto zadać proste pytanie:
czy rzeczywiście jej potrzebujemy?
Czasem kilka linii własnego kodu jest bezpieczniejszym i prostszym rozwiązaniem niż rozbudowane rozszerzenie zawierające dziesiątki funkcji, z których wykorzystujemy jedną.
Kopia bezpieczeństwa jest przydatna tylko wtedy, gdy można ją odtworzyć
Backup jest jednym z najważniejszych elementów zabezpieczenia strony.
Ale informacja:
„hosting robi kopie”
nie powinna kończyć tematu.
Warto wiedzieć:
- jak często wykonywana jest kopia,
- jak długo jest przechowywana,
- czy obejmuje pliki i bazę danych,
- gdzie jest przechowywana,
- jak wygląda proces jej przywrócenia.
Dla serwisów o większym znaczeniu biznesowym dobrze jest również mieć kopię niezależną od samego hostingu.
Jeżeli problem dotyczy całego konta lub infrastruktury, backup znajdujący się w tym samym miejscu może nie wystarczyć.
Firewall pomaga, ale zbyt agresywne reguły również mogą być problemem
WAF, czyli Web Application Firewall, pozwala blokować wiele podejrzanych żądań jeszcze zanim dotrą one do WordPressa.
To bardzo skuteczna warstwa ochrony.
Nie oznacza jednak, że wszystkie reguły należy po prostu ustawić na maksymalny poziom.
Zbyt agresywne zabezpieczenia mogą blokować również prawidłowe działania użytkowników.
W jednym z obsługiwanych przeze mnie serwisów mechanizm WAF rozpoznał legalne żądanie klienta jako próbę SQL Injection. Z technicznego punktu widzenia filtr zrobił dokładnie to, czego od niego oczekiwano — ale z punktu widzenia firmy zablokował realnego użytkownika.
To dobry przykład, że bezpieczeństwo wymaga monitorowania i właściwej konfiguracji, a nie tylko włączenia kolejnych zabezpieczeń.
Logowanie administratora powinno być traktowane jak dostęp do firmowego systemu
Konto administratora WordPressa daje bardzo szerokie uprawnienia.
Dlatego warto stosować:
- unikalne i silne hasła,
- uwierzytelnianie dwuskładnikowe,
- ograniczoną liczbę administratorów,
- osobne konta dla użytkowników,
- usuwanie nieaktywnych dostępów.
Nie powinno się również przekazywać jednego wspólnego konta administratora kilku osobom.
W przypadku problemu bardzo trudno wtedy ustalić, kto wykonał konkretną operację.
Hosting również ma znaczenie
Bezpieczeństwo WordPressa nie kończy się na samym CMS-ie.
Znaczenie mają również:
- wersja PHP,
- konfiguracja serwera,
- certyfikat SSL,
- prawa dostępu do plików,
- firewall,
- izolacja kont,
- aktualizacje komponentów serwera.
Dobrze przygotowana strona na źle utrzymanym środowisku nadal może być narażona na problemy.
Bezpieczeństwo i wydajność często idą razem
Stara instalacja WordPressa zawierająca kilkadziesiąt nieużywanych rozszerzeń zwykle nie jest ani szczególnie bezpieczna, ani szybka.
Porządkowanie serwisu często jednocześnie:
- zmniejsza liczbę potencjalnych podatności,
- ogranicza liczbę wykonywanych zapytań,
- zmniejsza ilość ładowanego kodu,
- ułatwia przyszłe aktualizacje.
Dlatego bezpieczeństwa, wydajności i jakości technicznej nie warto traktować jako trzech całkowicie niezależnych tematów.
Co powinien mieć dobrze utrzymany WordPress?
Nie istnieje jedna konfiguracja odpowiednia dla każdego projektu.
Dobrym minimum jest jednak:
- aktualny WordPress,
- aktualne i potrzebne wtyczki,
- aktualna wersja PHP,
- regularne kopie bezpieczeństwa,
- zabezpieczone konta administratorów,
- monitoring dostępności,
- firewall lub WAF,
- kontrola błędów,
- okresowe sprawdzanie stanu serwisu.
W sklepie internetowym lub serwisie kluczowym dla działania firmy ten zakres powinien być większy.
Najważniejsza jest regularność
Największym problemem wielu firm nie jest brak zabezpieczeń w dniu uruchomienia strony.
Problem pojawia się później.
Strona przez dwa lub trzy lata działa bez opieki, a w tym czasie:
- zmienia się WordPress,
- pojawiają się nowe wersje PHP,
- wtyczki ujawniają podatności,
- wygasają licencje,
- zmienia się infrastruktura.
Dlatego traktujemy uruchomienie strony jako początek jej życia, a nie koniec projektu.
Dobrze utrzymywana strona WordPress może bezpiecznie działać przez wiele lat. Trzeba jednak o nią regularnie dbać.
Potrzebujesz opieki nad WordPressem?
W UNITSOFT zajmujemy się utrzymaniem, bezpieczeństwem i rozwojem istniejących stron oraz sklepów WordPress.
→ Sprawdź Administrację i bezpieczeństwo
