Wpisz poszukiwane słowo i wciśnij Enter.

Jak zabezpieczyć WordPressa? 16 kroków do bezpiecznej strony WWW

Jak zabezpieczyć WordPressa? 16 kroków do bezpiecznej strony WWW

Im bardziej popularna aplikacja, tym większa szansa na próbę złamania jej zabezpieczeń przez hakerów. WordPress napędza obecnie ponad 42% stron internetowych na całym świecie. O jego sukcesie zdecydowała przede wszystkim otwarta struktura, umożliwiająca tworzenie dodatków (wtyczek), które rozwijają i poszerzają możliwości stron internetowych – zarówno pod względem graficznym jak i funkcjonalnym.

AKTUALIZACJA WPISU: 22 listopada 2022

Niestety, liczba instalacji WordPressów niesie również za sobą pewien niechlubny wynik. Tylko jednego dnia, bo 9 grudnia 2021 roku, zaatakowano ponad 1,5 miliona stron internetowych, zbudowanych na WordPressie. Dane taki przekazała firma Wordfence, która specjalizuje się w cyberbezpieczeństwie stron internetowych. Atak trwał przez 36 godzin. Według specjalistów z w/w serwisu, w tym czasie wykonano ponad 13 milionów prób przejęcia dostępów do paneli zarządzania witrynami.

Atak na strony WordPress
Raport Wordfence na temat incydentu z grudnia 2021 roku – źródło, wordfence.com

Raport ten nie pozostawia złudzeń – cyberprzestępcy nie próżnują i nieustannie szukają słabych stron aplikacji w internecie, dzięki którym mogą pozyskać ważne dane. Co ciekawe, raport innej firmy z tej branży – Sucuri – pochodzący z 2019 roku, wskazuje na inny ważny element bezpieczeństwa – ponad 50% zhakowanych stron na WordPressie wiąże się z nieaktualną wersją aplikacji. Z kolei serwis keycdn.com dokłada również inną statystykę – niemal 56% zagrożeń i luk bezpieczeństwa wynika z nieaktualnych wtyczek lub motywów (dane dotyczą 2018 roku):

Źródła zagrożeń w WordPressie.
Źródła zagrożeń w WordPressie – źródło keycdn.com

Ale nawet łatanie aplikacji nie jest gwarantem bezpieczeństwa. Warto zadbać o swój serwis WWW samodzielnie. Zrób to zgodnie z naszymi wskazówkami poniżej. Im więcej ich zastosujesz, tym mniejsza szansa, iż Twoja strona padnie kiedyś ofiarą ataku.

Pamiętaj jednak, że część rozwiązań wymaga przynajmniej podstawowej wiedzy w zakresie obsługi panelu phpMyAdmin, w którym możemy edytować bazę danych używaną w aktualnym WordPressie. Niewłaściwa operacja na tabelach może wiązać się z częściową niedostępnością strony lub nawet całego serwisu.

Posiadasz hosting w innej firmie? Skorzystaj z oferty home.pl na WordPress Hosting, który posiada wbudowane zabezpieczenia do ochrony WordPressa przed atakami:

Aktualizuj WordPressa najszybciej jak to możliwe

Aktualizacja WordPress


Brzmi banalnie? Może i tak, ale podstawa to zadbanie, aby nasz WordPress „nie zestarzał się”. Począwszy od wersji 3.7 WordPress posiada opcję automatycznej aktualizacji nie tylko aplikacji, ale również motywów i wtyczek. Wyłączanie automatycznej aktualizacji WordPressa  nie jest szczególnie trudne, nie mniej odkładanie aktualizacji w czasie jest bardzo ryzykowne.

Zmień domyślny prefix wp_ dla tabel w bazie danych.

Upraszczając język programistyczny prefix to przedrostek do tabel w bazie MySQL, dzięki którym aplikacja może rozpoznać, które dane faktycznie „należą” do niej (w końcu z jednej bazy danych może korzystać wiele aplikacji). Jedną ze słabszych stron WordPressa i niejako użytkowników jest pozostawianie w bazie domyślnego przedrostka wp_ , co ułatwia hakerom modyfikacje w takiej bazie. Dlatego w tej sytuacji najlepiej zmienić ten przedrostek na inny, mniej charakterystyczny. Można to zrobić na 2 sposoby – przy samej instalacji WordPressa oraz po instalacji logując się do bazy MySQL przez panel phpMyAdmin.

Baza danych WordPress - włączanie zabezpieczeń

Dzięki tej zmianie strona WWW oparta na WordPressie będzie mniej podatna na ataki typu SQL Injection.

AKTUALIZACJA – Zmiana nazwy prefixu tabel wymaga także modyfikacji wpisów w dwóch tabelach WordPressa: xltw4_options oraz xltw4_usermeta. Można to wykonać poprzez dwa polecenia SQL (niezbędne jest tutaj wskazanie samodzielnie zaproponowanych przedrostków):

SELECT * FROM `xltw4_options` WHERE `option_name` LIKE '%wp_%';
SELECT * FROM `xltw4_usermeta` WHERE `meta_key` LIKE '%wp_%';

Pamiętaj, aby po tej zmianie zmodyfikować dodatkowo plik wp-config.php w linijcie, w której podajemy prefix:

Zabezpieczanie WordPressa w bazie danych

Zmień login oraz ID administratora

Domyślny login proponowany przez WordPressa to „admin” – nietrudno zgadnąć, że taki login jest bardzo łatwy do odgadnięcia przez kogoś kto próbuje się zalogować do Kokpitu. A to przecież już połowa drogi do uzyskania dostępu. Przy instalacji warto go zmienić na inny, mniej „logiczny” z punktu widzenia użytkownika zewnętrznego. Pamiętaj, że login nie będzie wyświetlać się pod artykułami na blogu, gdyż nazwę wyświetlaną konfiguruje się indywidualnie w panelu WordPressa.

Zmianę loginu już po instalacji zmienimy poprzez phpMyAdmin w tabeli (twój-prefix)_users:

Zmiana prefixu dla bazy WordPress w PHPmyAdmin


W tym samym miejscu zmienimy także ID konta. Najlepiej wprowadzić wysoką liczbę z losowym ciągiem cyfr (np. zamiast 333333 wpisać 158062).

Ogranicz dostęp do panelu WordPressa za pomocą .htaccess

Ograniczenie dostępu do strony logowania jest bardzo rozsądnym wyjściem. w pliku .htaccess wystarczy skonfigurować dozwolone połączenia do wybranego (lub wybranych) adresu IP. Poniżej zamieszczamy poprawną formułę do zamieszczenia w treści:

AuthName „Example Access Control”

AuthType Basic

order deny,allow

deny from all

allow from adresIP

W miejsce „adresIp” należy wpisać adres z którego chcemy mieć dostęp do panelu. Adres IP komputera możesz sprawdzić np. na stronie https://pomoc.home.pl/baza-wiedzy/jak-sprawdzic-jakosc-polaczenia-internetowego-ping .

Zmień adres logowania do zaplecza WordPressa

Złośliwe skrypty atakują w pierwszej kolejności podstrony związane z treścią i jej edycją tj. /wp-admin . Dlatego warto rozważyć zmianę tego adresu na inny, bardziej przyjazny dla Ciebie, a mniej oczywisty dla cyberprzestępców.  Zainstaluj wtyczkę WPS Hide Login i skonfiguruj ją według własnych potrzeb. Nowy adres do logowania panelu będzie dostępny od razu.

Zmiana adresu logowania w WordPress

Innego rodzaju zabezpieczeniem przed „przejęciem” strony logowania do WordPressa jest użycie pliku .htaccess na hostingu oraz odwołania do pliku .htpasswd, w którym skonfigurujesz dane dostępowe, umożliwiające wyświetlenie strony z logowaniem.

Sprawdź, jak zabezpieczyć dostęp za pomocą .htaccess.

Zmień metodę logowania na adres email

Dostęp do panelu WordPressa można zabezpieczyć dodatkowo zmieniając sposób, w który aplikacja weryfikuje użytkownika. Zainstaluj w tym celu wtyczkę WP Email login i zastąp nazwę logowania adresem email przypisanym do użytkownika. Po zapisaniu zmian zalecane jest wykonanie jeszcze jednej operacji – zmianę loginu standardowego na zestaw losowych znaków (dotyczy to zwłaszcza sytuacji, gdy posługiwaliśmy się kontem „admin”).

Zmiana loginu na email w WordPress

Włącz dodatkową ochronę aplikacji na hostingu (WAF)

Jeżeli Twój operator to umożliwia – włącz dodatkową warstwę zabezpieczającą popularne CMSy przed różnymi typami ataków – Web Application Firewall. Są to różnego rodzaju próby wykorzystujące znane podatności, związane z bazami MySQL czy z wykorzystaniem szkodliwych nagłówków. W przypadku hostingu w home.pl panel do zarządzania taką zaporą (WAF) wygląda następująco:

WAF - Web Application Firewall w home.pl

Wyłącz edycję plików wtyczek i motywów

Stworzyłeś stronę, uruchomiłeś wtyczki? Zabezpiecz pliki uniemożliwiając dalszą edycję kodu w panelu WordPressa. Aby tego dokonać – dodaj w pliku wp-config.php jedną linijkę:

define(’DISALLOW_FILE_EDIT’, true);

Wyłącz rejestrację użytkowników

WordPress domyślnie pozwala na rejestrację użytkowników na utworzonym blogu, ale jeśli prowadzisz serwis, który w ogóle nie korzysta z tej opcji (jest wyłącznie nakierowany na czytanie) to lepiej ją zablokować. Na szczęście nie trzeba posiadać dużej wiedzy na temat edycji plików czy baz MySQL, gdyż stosowna opcja dostępna jest…w ustawieniach WordPressa. Bardzo dużo użytkowników na początku ją pomija i zapomina o niej, a przecież to kolejne „okno” do potencjalnej próby ataku.

Wyłączanie rejestracji w WordPress

Włącz dwustopniowe uwierzytelnianie

Dodatkowy poziom zabezpieczeń przy logowaniu jeszcze nikomu nie zaszkodził. Dzięki wtyczce Two Factor Authentication skonfigurujesz podwójne logowanie do panelu polegające na podaniu loginu z hasłem, a następnie unikalnego kodu, który zostanie przesłany na Twój smartfon.  Pamiętaj jednak, że to rozwiązanie wymaga również instalacji na smartfonie aplikacji Google Authenticator, dostępnej na Androidzie oraz iOS. Jeżeli więc posiadasz telefon starszej generacji lub z innym systemem operacyjnym – dwustopniowe uwierzytelnianie nie będzie dla Ciebie dostępne.

Podwójna weryfikacja w WordPressie

Wtyczki zabezpieczające do WordPressa – dlaczego NIE WARTO ich używać?

Na rynku znajdziesz kilka dodatkowych wtyczek, które zawierają kilka powyższych funkcjonalności oraz dodatkowo zabezpieczają WordPressa przed atakami typu brute force i innych. Oszczędzają więc czas (wystarczy zainstalować jedną z nich i w kilka minut ustawić) i w teorii załatwiają kilka tematów związanych z zabezpieczeniami. Ale, czy na pewno? Nie zapominajmy, iż jest to po prostu kolejna wtyczka. A to może wpłynąć nie tylko na wydajność CMSa. Nawet wtyczki zabezpieczające mogą zawierać luki ułatwiające potencjalnemu hakerowi uzyskanie dostępu do panelu WordPressa.

Nie raz spotkasz się z poleceniem takich wtyczek jak Wordfence, Sucuri czy iThemes Security , które istnieją również w wersji płatnej oferując o wiele większe możliwości. Brzmi kusząco? Znamienna jest statystyka pochodząca z badań serwisu WPwhiteSecurity, który wziął pod lupę 10 najbardziej podatnych na złamania wtyczek do WordPressa w 2019 roku. Wordfence zajął w nim zaszczytne 4 miejsce.

Warto sobie zadać pytanie, czy przed włamaniem przez dziurawe i niezabezpieczone drzwi od domu zabezpieczy Cię taśma klejąca?

Zabezpieczanie WordPressa we wtyczce

Wykonuj dodatkowe kopie danych

Na serwerach home.pl kopia zapasowa wykonywana jest cyklicznie w godzinach nocnych, w sposób punktowy – oznacza to, że wszystkie pliki oraz bazy danych w kopii są odzwierciedleniem stanu serwera z danej godziny. W każdym przypadku użytkownik może przywrócić takie dane z 3 ostatnich dni. Jeżeli Twój serwis jest dynamiczny, publikujesz na nim wiele treści (np. w formie portalu z ogłoszeniami) – zainstaluj dodatkowe aplikacje do tworzenia kopii zapasowych w WordPressie. Jedną z nich jest Updraft, dzięki któremu zaprogramujesz backup nawet co 60 minut. Pamiętaj jednak, że każda operacja tworzenia kopii jest bardzo dużym obciążeniem dla serwera. Uruchamianie tego typu wtyczki w godzinach szczytu nie jest najlepszym rozwiązaniem.

Dobrym rozwiązaniem jest skorzystanie z zewnętrznej usługi kopii wykonywanej automatycznie. Taką usługą jest m.in. Backup WWW w home.pl.

Usuwaj zbędne wtyczki i motywy

WordPress pozwala na stworzenie strony internetowej o dowolnym przeznaczeniu. Nic więc dziwnego, że będziesz testować na nim nowe motywy oraz wtyczki. Pamiętaj jednak, aby po ich wyłączeniu i (ostatecznym) porzuceniu usunąć je z aplikacji. Statystyka nie kłamie – nieaktualna wtyczka może być powodem ataku na Twoją stronę.

Zwróć również uwagę, czy dodatek pochodzi z zaufanego źródła. Nie musi to być koniecznie oficjalne repozytorium WordPressa (https://pl.wordpress.org/plugins/), bo w wyszukiwarce Google można znaleźć wiele serwisów zajmujących się legalną sprzedażą elementów do budowy strony w CMS. Unikaj jednak pluginów wysyłanych przez email, czy hostowanych w darmowych serwisach z plikami – nie przechodzą one bowiem żadnej weryfikacji, nie podlegają także kontroli.

Aktualizuj używany motyw do WordPressa

Osobna kwestia to sam motyw, który odpowiada za wygląd Twojej strony. To trzecie, potencjalne źródło problemu, jaki może spotkać serwis postawiony na CMS WordPress. Twórcy motywów powinni jak najczęściej wypuszczać aktualizacje, usuwające błędy i luki programistyczne, które mogą być użyte przez hakerów.

Nie można lekceważyć tego elementu. Wystarczy wspomnieć, że stara wersja jednej z popularnych szat sprawiła, że 90 tysięcy stron internetowych zostało złamanych z dnia na dzień. Nie masz pewności, czy korzystasz z najnowszej wersji motywu? Zapytaj o nią twórcę dodatku – jego dane kontaktowe powinny być dostępne na stronie, z której pobrano motyw lub w szczegółach samego motywu w kokpicie.

Skorzystaj z certyfikatu SSL

Twórcy WordPressa zapowiedzieli kilka miesięcy temu pełne wsparcie dla szyfrowanego połączenia https przez przeglądarkę. Począwszy od 2017 roku aplikacja CMS wymaga od serwera obsługi tego protokołu. Nie bez znaczenia pozostaje fakt, iż Google od jakiegoś czasu włącza obecność certyfikatu SSL strony internetowej do pozycjonowania. Na dodatek najpopularniejsza przeglądarka na świecie, czyli Google Chrome, od kilku tygodni zaczęła oznaczać strony WWW bez certyfikatu SSL jako „niezabezpieczone” z czerwonym kolorem. Z psychologicznego punktu widzenia jest to równoznaczne ze zniechęceniem użytkownika do odwiedzenia witryny w przyszłości.

Korzystaj z długich haseł dostępu

Im dłuższe i bardziej urozmaicone hasło, tym lepiej. WordPress z automatu proponuje zapisać hasło w postaci kilkunastu znaków bez słownikowych fraz. Zazwyczaj w tym kroku chcemy zaproponować swoje hasło, ale w większości przypadków nie będzie ono wystarczająco silne. Aczkolwiek po zaznaczeniu akceptacji na słabszą kombinację znaków modyfikacja zostanie zapisana.

Ustawianie hasła w WordPress