Bezpieczna strona zbudowana na WordPressie

12 11 2017 | Blog SOLIDE, WordPress | 0 komentarzy

Co jakiś czas natrafiam na wątpliwości dotyczące bezpieczeństwa stron zbudowanych na WordPressie. Postaram się opisać, skąd one się biorą oraz jak zabezpieczyć własną stronę.

WordPress to darmowy system zarządzania treścią (CMS). Ponieważ jest to system bardzo funkcjonalny, to zyskuje na popularności. Zgodnie z danymi w3techs.com, blisko 29% wszystkich stron wykorzystuje technologię WordPress, co czyni ją niekwestionowanym liderem na światowym rynku. Kiedyś kojarzony był głównie z blogami, a dzisiaj wykorzystywany do budowania nawet zaawansowanych stron internetowych. Z WordPressa korzystają takie marki jak BBC, Walt Disney, Bloomberg, Sony Music, a nawet Facebook (Newsroom). Jego funkcjonalność wynika z mechanizmu wtyczek (pluginów), których ogromna baza pozwala na rozwinięcie systemu o nowe, niemal nieograniczone możliwości.

Ponieważ sam system jest bardzo popularny, to nic dziwnego, że jest on także lubianym kierunkiem ataków hakerskich. Często skutecznych, mimo iż zabezpieczenie strony przed potencjalnymi atakami jest dość proste i nie wymaga wiedzy programisty. A skutki ataku bywają bardzo poważne. W efekcie może nastąpić spadek pozycji w wyszukiwarce Google, ograniczenie możliwości promowania strony na Facebooku, a nawet oznaczenie naszej strony jako potencjalnie niebezpiecznej i nie wyświetlanie jej użytkownikom w popularnych przeglądarkach.

Jedną z popularnych form ataku jest wykorzystanie metod „code injection”, czyli wszczepienia w kod naszej strony dodatkowych komend, które umożliwiają na wprowadzenie nieograniczonych modyfikacji witryny. W ten sposób mogą być wygenerowane na naszej witrynie tysiące nowych podstron, zawierających reklamy produktów medycznych (typu viagra) lub inne mało ciekawe treści. Bez monitoringu stanu witryny, jej właściciel może się dowiedzieć o ataku zdecydowanie za późno.

Skąd się biorą przypadki włamań? Istnieje kilka podstawowych błędów popełnianych przy wdrożeniu strony internetowej wykorzystującej WordPressa:

1. Właściwa konfiguracja serwera

Dobry hosting to podstawa. Idealnym rozwiązaniem jest dedykowany hosting dla jednej strony internetowej (nie współdzielony). Ograniczy to rozprzestrzenianie się potencjalnej infekcji. Przechowuj na serwerze wyłącznie to, co jest niezbędne dla właściwego funkcjonowania strony internetowej. Usuwaj pliki nieużywanych wtyczek i motywów. 

Najnowsze wersje PHP i MySQL. Języki programowania ewoluują i stają się coraz bezpieczniejsze. Pamiętaj o aktualizacji języka PHP do najnowszej wersji – szczęśliwie, nowy WordPress Ci o tym przypomni.

Skorzystaj z certyfikatu SSL. Umożliwia on szyfrowanie danych w komunikacji z przeglądarką.

Unikaj autoinstalatorów. A jeśli już z niego skorzystałeś, dobrze po nim posprzątaj, usuwając niepotrzebne pliki.

2. Brak bieżącej aktualizacji systemu WordPress

WordPress jest systemem dynamicznym, do którego aktualizacje są wydawane stosunkowo często. Aktualizacje dotyczą zarówno funkcjonalności systemu, jak i też warstwy zabezpieczeń. Muszą być zatem wykonywane okresowo. Niestety, wiele osób zajmujących się wdrożeniami stron internetowych, porzuca swoje projekty tuż po otrzymaniu wynagrodzenia. Klient nie ma często świadomości, że otrzymał produkt, który wymaga ciągłej pracy administracyjnej – niewielkiej, ale bardzo ważnej.

Pamiętaj, że bieżącej aktualizacji wymaga nie tylko sam system WordPress, ale i wykorzystywany motyw graficzny, a także wszystkie dodatki zainstalowane na Twojej stronie.

3. Brak rejestracji strony WordPress w Google Search Console

Google Search Console (wcześniej Google Webmaster Tools) to platforma stworzona dla administratorów stron. Pozwala na obiektywną ocenę pozycji naszej witryny w wynikach wyszukiwania Google, ale także umożliwia na monitorowanie aspektów związanych z bezpieczeństwem strony. Dzięki systemowi powiadomień na e-mail, otrzymamy wiadomość na temat każdego niepokojącego zdarzenia związanego z naszą stroną, jak na przykład niestandardowy wzrost liczby zaindeksowanych podstron, czy zgłoszenie nowego właściciela. Jeśli monity te nie miały związku z naszymi działaniami, powinny wzbudzić nasz niepokój. Szybka reakcja ze strony administratora witryny może uchronić ją przed przykrymi konsekwencjami ataku.

Po wdrożeniu strony internetowej niezwłocznie zgłoś ją do Google Search Console

Panel Google Search Console

Panel Google Search Console

4. Tylko zaufane wtyczki i motywy do systemu WordPress

Jak wspomniałem wyżej, system WordPress daje nam możliwość rozbudowy o nowe funkcjonalności dzięki bazie bezpłatnych lub płatnych wtyczek – łatwych do zainstalowania z poziomu panelu administracyjnego. Nie wymagają one umiejętności programowania – dzięki temu wdrożenie nowej funkcji systemu jest szybkie i bardzo proste. Pamiętajmy jednak, że wtyczki, które nie są na bieżąco aktualizowane lub pochodzą z niesprawdzonego źródła mogą także stanowić „furtkę” dla ataku hakerskiego. Korzystajmy zatem z wtyczek bardzo rozsądnie i ograniczmy ich liczbę do niezbędnego minimum.

Tak samo jak wtyczki, podatne na włamania mogą być także motywy graficzne. W sieci dostępnych jest duża liczba darmowych motywów do systemu WordPress. Korzystajmy tylko ze sprawdzonych źródeł i dokonujmy bieżących aktualizacji motywów.

Motywy WordPressa bywają modyfikowane przez osoby wdrażające strony internetowe na potrzeby określonego projektu. Zmiana motywu bez zastosowania funkcji motywów potomnych (eng.: child themes) ogranicza możliwości jego aktualizacji, co wpływa negatywnie na bezpieczeństwo strony internetowej.

5. Zabezpieczenia systemu WordPress

Po wdrożeniu witryny należy ją odpowiednio zabezpieczyć. Jeśli nie jesteśmy programistami, można skorzystać z dodatkowych wtyczek. Ich bieżąca aktualizacja pozwala na szybkie dostosowanie poziomu zabezpieczeń na wypadek nowego ryzyka. Jednak jak każda wtyczka, tak i te będą negatywnie wpływały na wydajność strony internetowej, a także same wtyczki zabezpieczające mogą być źródłem potencjalnego ataku. Istnieje kilka obszarów zabezpieczeń, na które warto zwrócić uwagę, a w których wtyczki mogą nam nieco pomóc:

  1. Regularne kopie zapasowe. Przed każdą aktualizacją systemu i wtyczek warto wykonać kopię zapasową plików znajdujących się na serwerze, jak i też kopię bazy danych systemu WordPress. Osobiście, kopie zapasowe plików wykonuję ręcznie, przy użyciu transferu plików FTP. Do aktualizacji bazy danych można użyć wtyczek WP-DB Backup, All in One WP Security lub iThemes Security. Wtyczki umożliwiają skonfigurowanie harmonogramu automatycznych kopii zapasowych, które mogą być przesyłane na e-mail lub na określone miejsce na serwerze (najlepiej na innym serwerze, niż ten, na którym jest zainstalowana strona internetowa).
  2. Więcej: zabezpieczenia systemu plików, bazy danych, firewall i inne. Najlepiej, jeśli wykonamy zabezpieczenia po stronie serwera (odpowiednia konfiguracja serwera). 

Bezpieczeństwo strony internetowej zależy nie tylko od wykorzystanych metod i narzędzi, ale także, i chyba przede wszystkim, od sposobu podejścia do zarządzania witryną. Proces ten nie kończy się na wdrożeniu strony i wymaga ciągłego monitoringu jej stanu i aktualizacji wykorzystywanych komponentów. Nie oszukujmy się, włamania zdarzają się największym i tylko regularne wykonywanie kopii zapasowych pozwala na szybkie przywrócenie zaatakowanej strony do życia. Jeśli masz więcej pytań, zapraszam do komentowania lub bezpośredniego kontaktu.

Jeśli masz pytania lub chciałbyś coś dodać od siebie, zapraszam do komentowania poniżej.