Jestem wielkim wielbicielem systemów CMS i postanowiłem w końcu skrobnąć o nich jakiś artykuł. Na bohatera mojej publikacji wybrałem (uwaga fanfary) WordPressa. Nie można zaprzeczyć, że jest on z najbardziej popularnych systemów zarządzania treścią. Wszystko dlatego, że jest lekki i spolegliwy w obsłudze. Oczywiście, nie jest też bez wad. Piętą achillesową tego systemu jest bezpieczeństwo.

WordPress jest urzekającym CMS, ale utrzymanie go satysfakcjonujący sposób wymaga piramidalnej wiedzy i praktyki. Wszystko dlatego, że trzeba pogrzebać odrobinę w kodzie, poświęcić swój czas i ogarnąć mechanizmy wspomagające zabezpieczenia tego CMS.

Dla niewtajemniczonych, chciałbym pokrótce przedstawić wam ten system zarządzania treścią.

Tak, jak wspomniałem, WordPressa zaliczamy do aplikacji WWW, które nazywamy klasą CMS. System ten jest napisany w języku PHP, który stoi na bazie MySQL. Rozpowszechniony jest na licencji GNP GPL, czyli możemy go pobrać na darmo i dowolnie modyfikować. Nie dotyczy o jednak stylów graficznych i wtyczek, które może pobrać i dodać do naszego Worpdressa. Takowe mają osobne licencje. Architektura tego systemu posiłkuje się kontenerem. Może on ekspediować wszystkie żądania niestatycznych identyfikatorów URI do jednostkowego pliku PHP. Następnie brany pod lupę jest identyfikator URI i identyfikuje stronę docelową. WordPress jest systemem, którym sztampowy zakres funkcji pozwala na szeroko pojęte transferowanie treści oraz ich komentowanie. Właśnie dlatego WordPress jest systemem tak łopatologicznym. Zamiast grzebać się w kodzie PHP, możemy obsługiwać do za pomocą okienek i przycisków. Co więcej, zestaw funkcji może zostać powiększony o system pluginów oraz templatek, które WordPress pozwala instalować wprost z panelu zarządzania treścią. Jest to niesamowicie wygodne.

wordpress, cms, wirusy

Wszyscy wiemy, że Wodpress ma niesłuchanie bogatą historię znalezionych podatności.

Jeżeli nie wierzycie, możecie pogrzebać w sieci. Gdybyśmy stworzyli listę bugów odkrytych w WP, to na pewno znalazłyby się wszystkie typy zagrożeń wymienione w OWASP Top 10. Na ten czas jednak główne, pierwotny impuls implikujący problemy upatruje się we pluginach. Kod ich potrafi być wyjątkowo wątpliwej jakości. Wszystko dlatego, że może je napisać każdy — czasami wrzucają je początkujący programiście. Jak jeszcze user WP jest nowicjuszem to mamy klops. Jeżeli jeszcze nie jesteście w stanie uwierzyć w taki stan rzeczy, to polecam przejrzenie agregatorów exploitów. Co więcej, badanie przeprowadzone przez zespół RIPS pokazuje, że 40% z przebadanych wtyczek ma przynajmniej jedną podatność o średnim poziomie zagrożenia.

Oznacza to, że niestety o bezpieczeństwo w naszym WP musimy zadbać sami.

Niby powinno to sprawić, że chętnych na korzystanie z tej technologii spadnie, ale tak się nie dzieje. Osobiście lubię WordPressa i wychodzą z założenia, że skoro mam licencję GNU GPL, to mogę pogrzebać w kodzie. Bardziej zniesmaczony byłbym w obliczu sytuacji, gdzie takowego wgląd nie miałbym. Metody na przeciwdziałanie taki problemom jest na rynku naprawdę wiele. Mamy w czym wybierać. Wszystko zależy od tego, jaki rodzaj systemów nas interesuje. W sytuacji, kiedy nie mamy wpływu na zachowanie aplikacji, którą postawiliśmy w personalnym środowisku, moglibyśmy zwrócić uwagę na oprogramowania klasy WAF. Takowe narzędzia rozchodzą się na rynku IT jak świeże bułeczki. Dla zainteresowanych mogę zaproponować najczęściej stosowane aplikacje:

  • CloudFlare
  • F5 BIG-IP

Musimy oczywiście zwrócić szczególną uwagę na fakt, iż oprogramowanie tego typu możemy aplikować nie tylko w przypadku serwisów uruchomionych na poprzez WordPressa.

wordpress, cms, wirusy

Są jednak sytuacje, kiedy niestety musimy wziąć sprawy we własne ręce.

Jedną z takich możliwości jest blokowanie przekierowania ruchu poprzez maszyny firm trzecich. Drugą natomiast jest brak uprawnień do zmiany serwerów DNS na adresy zewnętrznych subiektów. Trzecią może być też (i to jest chyba najbardziej popularna sytuacja) brak budżetu na takie wydatki. Wcale by mnie to nie zdziwiło. Pakujemy darmowego WordPress na serwer, a musimy płacić za jego łatanie. To jakbyśmy zapłacili za gotowy CMS, chociaż może niekoniecznie. Gotowy system napisany dla nas pewnie kosztowałby mniej.

Jeżeli chcemy zabrać się za łatanie naszego WP to musimy pamiętać o tym o pewnej kwestii.

Na dylemat związany z bezpieczeństwem systemu lepiej nie patrzeć fragmentarycznie. Z polskiego na nasze, jeżeli chcemy, aby nasza instancja oparta o WordPressa była, satysfakcjonując i bezpieczna, musimy zadbać o konfiguracje samego CMS. Nie jest to jednak wszystko. Prominentna jest także kwestia konfiguracji środowiska, na którym będzie on stał. Taka instancja składa się oczywiście z kilku elementów. Musimy pamiętać, że ochronę zapewnić musimy samemu systemowi operacyjnemu, na którym stoi WordPress, bazie danych oraz samej aplikacji CMS. Każda z tych części jest newralgiczna. Musimy mocno zakasać rękawy i brać się do roboty, aby utrzymać higienę instancji, z którą pracujemy. Oczywiście warto też wspomnieć o tym, że mamy dwie drogi wyboru. Jedna z nich pozwala nam trochę odciążyć nasz informatyczny umysł. Oczywiście, możemy wynająć VPS, czy to serwer dedykowany i grzebać się w łajnie, ale istnieje także możliwość skorzystania ze współdzielonego hostingu, gdzie w większości przypadków kwestie związane z konfiguracją np. PHP spadają na naszego dostawcę.

wordpress, cms, wirusy

Oczywiście opcja hostingowa jest o wiele przyjemniejsza, ale niekonieczne bezpieczna.

Powierzamy wtedy naszą instancję obcym osobom. Co prawda, płacimy im za usługę, ale jak to bywa w świecie IT, nie ma ludzi IT, którzy nigdy nie zrobili buga na produkcji. Osobiście odradzam zawsze taką opcję. Jak tylko możesz pobawić się sam w konfigurację, rób to. Będziesz panem własnego systemu i wiele Cię to nauczy. Co więcej, ominiesz problemy z infolinią Twojego dostawcy, gdzie będziesz miał „czajnas-inglisz” i na Twoje problemy usłyszysz „reset reset reset” kaleczonym językiem. Wolę jednak sam ogarniać moje bagienko. Jak widzimy, WordPress ma swoje wady, ale bez problemu możemy sobie z nimi poradzić. Oczywiście, nie jest tego mało, ale krok po kroczku, można postawić naprawdę bezpieczny system zarządzania treścią. Chciałbym też popełnić instrukcję, która krok po kroku wytłumaczy wam, jak zabezpieczyć WordPress i towarzyszące mu środowisko. Będą to, co prawda takie podstawowe dziury (na wszystko nie starczy nam czasu), ale mam nadzieje, że taka publikacja będzie dla was natchnieniem do dalszych poszukiwań. Post pojawi się pewnie w ciągu najbliższego tygodnia. Czekajcie z niecierpliwością.

PJ
Przemek jest mózgiem operacyjnym SpeedTest.pl. Studiował na Politechnice Wrocławskiej elektronikę i telekomunikację. Zarządza projektami IT, relacjami z klientami oraz nadzoruje procesy rozwoju. Prywatnie zaangażowany w rodzinę, wsparcie różnych działalności charytatywnych i projekty ekstremalne.