Bezpieczeństwo WordPressa w nowoczesnej firmie

Bezpieczeństwo WordPressa

W branży bezpieczeństwa IT funkcjonuje pewna niepisana reguła, która głosi, że „im rozwiązanie jest powszechniej wykorzystywane, tym jest większe prawdopodobieństwo, że będzie ono obiektem ataków” (czyli zagrożone pod kątem bezpieczeństwa). Dotyczy to każdego oprogramowania niezależnie od tego, czy jest ono komercyjne czy otwarte oraz niezależnie od tego, jakie jest jego przeznaczenie.

Na szczęście taki stan rzeczy ma nie tylko wady w postaci zwiększonego ryzyka zagrożenia bezpieczeństwa, ale także zalety. Sporo specjalistów i ekspertów od bezpieczeństwa na własną rękę testuje zabezpieczenia oprogramowania i zgłasza je producentom lub uczestniczy w programach bug bounty. Programy takie polegają na udostępnieniu przez producenta możliwości testowania zabezpieczeń ich produktu przy jednoczesnej zapłacie za zgłoszone i udokumentowane podatności.

Z artykułu dowiesz się:

1. Jak komercyjnie wykorzystywany jest WordPress w firmach?
2. Dlaczego każda dostępna w Internecie instancja WordPressa może być zagrożona?
3. W jakich sytuacjach może dojść do przeprowadzenia ataku i kto go może dokonać?
4. Jak dbać o bezpieczeństwo bloga zbudowanego w oparciu o WordPressa i o czym warto pamiętać?
5. Jak Onwelo może pomóc w zabezpieczeniu Twojego firmowego bloga?

Do takich rozwiązań, które cieszą się dużą popularnością oraz są na bieżąco testowane pod kątem bezpieczeństwa przez społeczność, jest WordPress. To platforma typu CMS (ang. Content Managment System) rozpowszechniana na otwartej licencji GPLv2, która umożliwia wykorzystanie zarówno prywatne, jak i komercyjne. Głównym przeznaczeniem WordPressa jest dostarczenie narzędzia do prowadzenia bloga z możliwym rozbudowaniem o dodatkowe funkcjonalności. Jest to możliwe dzięki dostępności dużej liczby darmowych oraz płatnych rozszerzeń zwiększających możliwości platformy. Wymieniając dalej jej zalety, ciężko nie wspomnieć o wsparciu naprawdę dużej społeczności przekładającym się na dynamiczny rozwój platformy.

Zastosowanie komercyjne

Celowo wspominam o WordPressie, ponieważ zauważyłem rosnącą liczbę blogów firmowych, które wykorzystują właśnie tę platformę do zarządzania i prezentacji treści. Celem takich blogów jest kontakt z klientem, a także promowanie marki oraz kompetencji firmy.

Dla przykładu w Onwelo na łamach naszego bloga staramy się prezentować nie tylko nasze kompetencje, w których się specjalizujemy, ale także staramy się dzielić wiedzą.

WordPress może działać nie tylko jako blog – pozwala także pełnić funkcję wizytówki dla firmy, portfolio dla artysty albo dedykowanej strony do prezentacji oferowanych usług lub produktów. Innym przykładem komercyjnego użytku platformy WordPress jest wykorzystanie jej do prowadzenia głównego procesu biznesowego firmy. Dotyczy to szczególnie różnego rodzaju redakcji lub serwisów internetowych.

Tego typu możliwości wykorzystania WordPressa jest sporo i moglibyśmy pewnie wymyślić jego dalsze zastosowania, które mogą przynieść szereg korzyści biznesowych.

Czy WordPress jest bezpiecznym rozwiązaniem?

Technicznie rzecz ujmując, WordPress jest aplikacją napisaną w języku PHP i do działania wymaga uruchomienia na serwerze HTTP oraz dostępu do bazy danych, gdzie będą przechowywane wszystkie informacje oraz treści zamieszczone na stronie. W ogólnym rozumieniu wszystkie te wymagania, o których mowa, zawierają się na jednym serwerze, publicznie dostępnym w Internecie pod przykładowy adresem: www.blog.mojafirma.pl.

Uproszczony schemat komunikacji

 

Grafika 1. Uproszczony schemat komunikacji między przeglądarką a stroną www

Tak dostępny blog oparty na WordPressie jest gotowy do umieszczania na nim treści i odwiedzania przez potencjalnych klientów firmy (w podobnym schemacie jak powyżej). Niestety istnieje jednak druga strona medalu, a dokładniej zainteresowanie Twoją stroną przez atakujących.

Oczywiście tutaj pojawia się pytanie, skąd taki atakujący wie o naszym blogu, który opublikowaliśmy kilka dni temu? Dzieje się tak, ponieważ każdy serwer publicznie dostępny w Internecie jest codziennie skanowany przez różnego typu boty, a dokładniej skrypty indeksujące (np. wykorzystywane przez wyszukiwarki internetowe). Dla przykładu pod adresem www.shodan.io funkcjonuje wyszukiwarka urządzeń podłączonych do Internetu, czyli dokładnie takich, jak nasz serwer, na którym pracuje blog. Sprawdźmy więc, ile wyników zwróci nam proste zapytanie „wordpress”.

 

Grafika 2. Wyniki zapytania w Shodan skojarzone z frazą „wordpress”

 

W tym przykładowym zapytaniu zwrócono ponad 28 tysięcy wyników, które są skojarzone z frazą „wordpress”. Oczywiście nie oznacza to, że na każdym z tych urządzeń funkcjonuje instancja WordPressa lub że na świecie dostępnych jest tylko 28 009 taki stron. 🙂

Shodan.io jako wyszukiwarka opiera się na znajdowaniu tylko tych publicznie dostępnych urządzeń, które posiadają m.in. nieprawidłowo wdrożone konfiguracje serwera lub uruchomionych usług, znane podatności lub nieaktualne wersje oprogramowania.

Wszystkie te informacje w mniejszym lub większym stopniu mogą pomóc atakującemu. Pojawia się tylko pytanie, jaki on ma w tym interes? Niezależnie od tego, jakie informacje są umieszczane na blogu, atakujący zazwyczaj kierują się m.in. następującymi czynnikami:

• Wykorzystanie podatności w zainstalowanym oprogramowaniu celem przejęcia serwera w celu:
– Użycia zasobów serwera do kopania kryptowalut
– Tworzenia botnetu (sieci przejętych komputerów) do realizacji ataków o zasięgu globalnym (np. ataki DoS/DDoS)
• W zależności od popularności bloga – próba manifestu lub naruszenia reputacji strony albo celowe działanie sfrustrowanego użytkownika 😉
• Pogłębianie kompetencji w testowaniu zabezpieczeń przez atakującego
• Działanie nieuczciwej konkurencji

Wektorem ataku może być nie tylko instancja WordPressa, ale także motywy lub rozszerzenia, które zostały zainstalowane na platformie, a przede wszystkim infrastruktura, na której została ona oparta. Gotowe narzędzia do testowania zabezpieczeń WordPressa są bardzo łatwo dostępne i nawet w rękach niedoświadczonego atakującego mogą być realnym zagrożeniem. Zwłaszcza że niektóre z tych narzędzi prowadzą użytkownika „za rękę”… Poniższa ilustracja obrazuje fragment wyników działania jednego z takich programów. Informuje on o znalezionej podatności w używanym szablonie motywu oraz podaje odnośniki do źródeł, jak tę podatność można wykorzystać w praktyce.

 

Fragment wyników działania jednego z narzędzi do testowania zabezpieczeń WordPressa

Grafika 3. Fragment wyników działania jednego z narzędzi do testowania zabezpieczeń WordPressa

 

Mając świadomość tego, jak łatwo narazić się na atak, prowadząc bloga, pojawia się kolejne pytanie…

Jak dbać o bezpieczeństwo bloga na WordPressie?

WordPress moim zdaniem jest stosunkowo bezpieczną platformą do zarządzania i udostępniania treści, ale tylko pod warunkiem, że spełnionych zostanie kilka podstawowych zasad.

1. Regularnie aktualizuj oprogramowanie

WordPress bardzo często wydaje aktualizacje, które można naprawdę łatwo zainstalować. Jest to także popularna platforma internetowa, co jest cenne w przypadku pojawienia się krytycznych podatności wymagających wgrania nowej aktualizacji – na pewno szybko dowiesz się o niej z popularnych internetowych źródeł.

Oprócz WordPressa dbaj także o infrastrukturę, na której pracuje Twoja instancja WordPressa – serwer HTTP, baza danych SQL, system operacyjny itp. – to wszystko wymaga regularnego aktualizowania, oraz…

2. …stosowania konfiguracji zgodnych z dobrymi praktykami

Zgodna z praktykami konfiguracja dotyczy właśnie usług i oprogramowania, które pozwalają Ci uruchomić i udostępniać WordPressa dla użytkowników. Dobrze wdrożone ustawienia zwiększają nie tylko bezpieczeństwo, ale także wydajność działania strony.

3. Regularnie twórz kopie zapasowe

Awarie zdarzają się każdemu i niekoniecznie muszą wynikać z błędu administratora serwera czy platformy. Skutki awarii można bardzo szybko zniwelować, jeśli tworzone są regularne kopie zapasowe. Bardzo ważne jest, aby były one przechowywane w innej lokalizacji niż WordPress.

4. Zastosuj szyfrowaną komunikację HTTPS

Zastosowanie szyfrowanej komunikacji w połączeniu między przeglądarką użytkownika a stroną internetową jest już praktycznie standardem w dzisiejszym Internecie. Przede wszystkim chroni ono dane przekazywane między stronami (np. dane newralgiczne), a przy okazji buduje zaufanie do odwiedzanej strony. Warto mieć także na uwadze to, że wyszukiwarka Google wyżej pozycjonuje strony internetowe zapewniające właśnie szyfrowaną komunikację protokołem HTTPS.

5. Dbaj o bezpieczne logowanie do platformy

Silne i unikatowe hasła użytkowników i administratorów to jedno, ale warto rozważyć stosowanie funkcjonalności podwójnego uwierzytelnienia. Wówczas atakującemu nie wystarczy tylko przejąć Wasze hasło do konta, ale musi również posiadać kod uwierzytelniający np. z Google Authenticator (zapewnia to rozszerzenie o tej samej nazwie).

6. Ograniczaj liczbę zainstalowanych rozszerzeń i dodatków do minimum

Możliwość samodzielnego wkładu w rozwój WordPressa niesie ze sobą różne skutki uboczne. O ile inicjatywa jest świetna i pozwala każdemu dodać swoją cegiełkę, to niestety nie każda z tych osób jest profesjonalnym programistą. Wiąże się to z tym, że publicznie dostępne i darmowe dodatki do WordPressa nie zawsze są napisane zgodnie ze sztuką i tym samym mogą być wektorem ataku ze względu na słabe zabezpieczenia lub ich brak.

Dlatego podzielam opinię, że głównym problemem WordPressa nie jest sama platforma, a rozszerzenia, które ją rozbudowują. W praktyce potwierdzają to choćby wyszukiwarki exploitów, czyli „gotowych” skryptów wykorzystujących konkretne podatności dla określonego celu. Większość wyników wyszukiwania wskazuje podatności właśnie dla rozszerzeń (plug-iny) i innych dodatków takich jak np. motywy szablonów.

W związku z tym kolejnym zaleceniem dla bezpieczeństwa WordPressa jest ograniczenie do minimum liczby instalowanych dodatków, a także korzystanie tylko z wtyczek, które cechują się dobrą reputacją i wysoką liczbą aktywnych instalacji oraz regularnością prac nad ich rozwojem. Takie informacje można znaleźć przy każdym wyniku w wyszukiwarce wtyczek WordPressa. Poniżej przykład wtyczki Akismet Anti-Spam zapewniającej ochronę przez niechcianymi masowymi komentarzami.

 

Szczegóły wtyczki w wyszukiwarce rozszerzeń WordPressa na przykładzie Akismet Anti-Spam

Grafika 4. Szczegóły wtyczki w wyszukiwarce rozszerzeń WordPressa na przykładzie Akismet Anti-Spam

 

Oczywiście nie można zapomnieć o regularnym aktualizowaniu zainstalowanych rozszerzeń. Z poziomu WordPressa ta czynność jest bardzo prosta i polega na dwóch, trzech prostych kliknięciach, co obrazuje poniższa ilustracja.

 

Aktualizacja rozszerzeń w WordPressie

Grafika 5. Aktualizacja rozszerzeń w WordPressie

 

7. Korzystaj z dodatkowych rozwiązań wspierających bezpieczeństwo

Chodzi o rozwiązania, które wspierają działanie udostępnionej strony w Internecie pod kątem wydajności infrastruktury oraz ochrony przed zagrożeniami takimi jak np. ataki DoS/DDoS czy działanie automatów skanujących bezpieczeństwo aplikacji.
Takie usługi zapewnia na przykład Cloudflare. Można je zastosować również dla stron opartych o platformę WordPress.

8. Regularnie zabezpieczaj infrastrukturę

Infrastrukturę tworzy zestaw rozwiązań, które bazują na konfiguracjach ustalonych przez administratora. Ich poprawność i zgodność z dobrymi praktykami, o których wspominałem wcześniej – jest bardzo kluczowe. Dlatego należy regularnie dbać o ich poprawność i dostosowywać do dynamicznie zmieniających się wymagań.

Polega to na regularnie przeprowadzanym „hardeningu”, czyli czynnościom, które mają na celu dostosowanie konfiguracji wykorzystywanych usług i oprogramowania pod kątem bezpieczeństwa w oparciu o konkretne wytyczne lub standardy.

9. Realizuj audyty bezpieczeństwa WordPressa lub testy penetracyjne

Jeśli blog lub strona oparta na WordPressie odgrywa kluczową rolę dla firmy, należy rozważyć zlecenie audytu lub testu penetracyjnego zewnętrznej firmie. Dzięki uzyskanemu raportowi z przeprowadzonego audytu lub testu – klient będzie miał świadomość realnego stanu bezpieczeństwa wraz z rekomendacjami.

W czym może pomóc Onwelo?

W Onwelo mamy pełną świadomość tego, że dbałość o bezpieczeństwo infrastruktury jest jednym z głównych fundamentów dobrze prosperującej działalności biznesowej. Dlatego bardzo często wychodzimy naprzeciw potrzebom naszych klientów i oferujemy wsparcie w zakresie audytów i testów penetracyjnych aplikacji webowych (w tym także opartych na WordPressie), a także wsparcie w ich zabezpieczeniu przed zagrożeniami.

Jeśli jesteście zainteresowani tego typu usługami lub pokrewnymi, zapraszamy do kontaktu! 🙂

Autor: Grzegorz Wróbel – pasjonat bezpieczeństwa w Internecie (i nie tylko). W Onwelo zajmuje się audytami bezpieczeństwa i testami penetracyjnymi, a po pracy uzupełnia wiedzę w tym zakresie. W wolnych chwilach stara się rozwijać w zagadnieniach DevOps, kolekcjonować stary i zasłużony sprzęt komputerowy oraz słuchać klasyki rocka.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *