Jak zabezpieczyć WordPress?

Często media informują nas o nieprawidłowościach w działaniu stron www banków, instytucji finansowych, czy urzędów. Każdy serwis narażony jest na ataki hakerskie. Strony nawet najbardziej zabezpieczone mogą posiadać luki w bezpieczeństwie.  Czy możemy czuć się bezpieczni? Z pewnością dużo bardziej, jeśli przygotujemy stronę zgodnie z podstawowymi zasadami bezpieczeństwa, by zagrożenie ograniczyć do minimum.

Na początku warto podkreślić, że serwisy www (nie tylko te na silniku WordPress, ale też wszystkie inne) codziennie narażone są na ataki z rożnych stron. Nie mówimy tutaj tylko o „różnych stronach świata”, ale także o kanałach, którymi może dojść do zakażenia i wstrzyknięcia szkodliwego kodu.
Ataki przeprowadzane są głównie na serwery, bazy danych oraz na wszelkie formularze kontaktowe, formularze logowania itp. Ale zanim o ochronie Twojego WordPressa, odpowiedzmy na pytanie – czemu hakerzy atakują zwykłe strony?

Powody ataków hakerskich na strony internetowe

Dlaczego WordPress jest najczęstszym celem ataków? Główny powód to jego popularność – statystyki mówią, że nawet co 3 witryna oparta jest o ten CMS. Środowisko tego systemu jest specyficzne, bowiem ogromna część rozwiązań jest ogólnodostępna i darmowa, co pozwala na pobranie i przeanalizowanie kodu w celu przeszukania tzw. Back-doorów. Niemniej jednak nieprawdą jest stwierdzenie mówiące o tym, że WordPress jest bardziej podatny na ataki hakerskie niż inne systemy CMS. Jeśli serwis oparty o WP zostanie stworzony zgodnie ze sztuką i będzie na bieżąco aktualizowany, ryzyko problemów okaże się minimalne, nie większe niż w przypadku innych dostępnych na rynku rozwiązań .
Co więc motywuje hakerów do włamów na stronę?

  1. Chęć dystrybucji złośliwego oprogramowania w danym regionie,
  2. Kradzież wrażliwych danych, przechowywanych w niezabezpieczonych bazach danych lub pikach,
  3. Rozsyłanie spamu,
  4. Chęć „pokazania się” w środowisku i sprawdzanie swoich umiejętności – tak, zwykłe przechwałki.

Prewencja

Serwer i hosting

Dobór firmy hostingującej jest istotnym punktem w procesie utrzymywania strony. Czasem nie warto sugerować się jedynie ceną. Dobre firmy stosują na swoich serwerach filtry antyspamowe. Dobrym rozwiązaniem w tym wypadku jest kupienie usługi z serwerem dedykowanym. Niestety takie rozwiązania są drogie, nie dają także 100% pewności w zakresie bezpieczeństwa, natomiast są bardziej bezpieczne niż serwery współdzielone. Stawiając stronę na serwerze współdzielonym, ważne jest zadbanie o to, by włączyć separację serwisu w panelu hostingowym. Pomoże to w oddzieleniu środowiska strony pomiędzy innymi katalogami na serwerze.

Dobrym rozwiązaniem jest zastosowanie „nakładek” typu CloudFlare. W skrócie: jest to swojego rodzaju „filtr-proxy” dla serwera, stanowi on barierę maskującą zapytania botów wyszukiwarek, czy botów spamerskich. Ataki blokowane są już w momencie gdy dochodzi do próby przedostania się na serwer.

Dodatkowo należy pamiętać o utrzymaniu jak najwyższej (aktualnej) wersji PHP na serwerze. Tylko wspierane skrypty zapewniają zaawansowaną ochronę plików.

Aktualizacja skryptów i wtyczek

Pierwszym i najważniejszym punktem, o jaki należy dbać w kwestii zabezpieczeń WordPressa, to aktualizacje skryptu oraz wszystkich wtyczek. Najczęściej hakerzy szukają „tylej furtki” właśnie w przestarzałych skryptach, które nie są zgodne z obecnymi zabezpieczeniami. Dlatego system CMS WordPress jest tak często aktualizowany, właśnie „zaklejając” te dziury.

Dodatkowo przy tworzeniu strony, zwróćmy uwagę na ilość wtyczek. Instalujmy tylko te niezbędne. Im więcej pluginów, tym większe prawdopodobieństwo „luki” w skrypcie.

Uwaga: tylko regularne aktualizacje przyczynią się do ograniczenia ataków spamerskich. Oczywiście przed aktualizacją pamiętajmy o wykonaniu kopii zapasowej serwisu.

Certyfikat SSL

Certyfikat SSL to bardzo ważny punkt w procesie redukowania ataków. Zapewnia on chociażby szyfrowanie danych już w przeglądarce i bezpieczny ich przesył na serwery.

Rodzajów zabezpieczeń SSL jest sporo, każdy posiada różny poziom bezpieczeństwa oraz zakres szyfrowania danych. Jasne jest, że dla banków i instytucji rządowych, sklepów internetowych i zwykłych stron wizytówek i informacyjnych, poziom wymaganych zabezpieczeń jest inny. Wielu wypadkach darmowy certyfikat Let’s Encrypt powinien wystarczyć.

Zabezpieczenie

Zmiana haseł i logowanie

Dobrą praktyką w zadbaniu o swój serwis www jest okresowa zmiana haseł dostępu do panelu CMS. Hasła powinny być generowane przez generatory, a loginy dobrze by nie posiadały w swojej nazwie „login” lub „admin”, a najlepszym rozwiązaniem jest logowanie za pomocą adresu e-mail.

Warto także pamiętać o każdorazowym wylogowywaniu się z systemu CMS, po skończonej pracy. Nie zawsze wyłączenie strony w przeglądarce, równa się wylogowaniu z panelu – warto o tym pamiętać.

Unikamy przechowywania haseł w przeglądarce.

Unikamy przesyłania haseł mailowo.

Zmiana adresu logowania

Pewną formą ograniczenia prób ataków, jest zmiana adresu logowania do strony. Domyślnym adresem, a tym samym najczęściej wywoływanym podczas próby ataku BruteForce, jest domena.pl/wp-login.php lub /wp-admin. Nadanie indywidualnego adresu logowania do serwisu zdecydowanie ograniczy ilość prób włamu, pod warunkiem, że /wp-admin i /wp-login.php, nie będą przekierowywały na nowy adres, a będą zwracały kod 404 lub 410.

Tej zmiany można dokonać samodzielnie – wtyczką, lub z pomocą programisty.

Dwustopniowy proces logowania i blokowanie niepowodzeń

Niektóre hostingi pozwalają na domyślne stworzenie dwustopniowego procesu logowania do CMS WordPress. Istnieją także wtyczki umożliwiające przesyłanie SMS lub mail w celu zalogowania.

Blokowanie adresów IP, to także jedna z metod skutecznej prewencji ataków, stosowana głównie przez deweloperów i programistów. W tym przypadku należy wykonać modyfikacje pliku htaccess, ograniczając dostęp do podstrony logowania tylko do wskazanych adresów IP, przykład:

AuthName “Example Access Control”
AuthType Basic
order deny,allow
deny from all
allow from adresIP
Gdzie „adresIP” to adres, z którego korzystamy, logując się do panelu.

Zmiana prefixu tabel

Większość baz danych MySQL WordPressa wygląda podobnie – wiersze i tabele rozpoczyna się prefixem wp_. Dzięki temu system może rozpoznać, że ta baza danych jest do niego przypisana. Zmiana przedrostka na mniej charakterystyczny, utrudni hakerom modyfikacje w bazie.

A co z wtyczkami?

Na rynku pojawia się sporo wtyczek, które zawierają funkcje wspomniane wyżej. Na pierwszy rzut oka pomagają zabezpieczyć WordPressa przed atakami np. typu Brute Force, pozwalają zaoszczędzić pieniądze, ponieważ nie wymagają zatrudnienia programisty, a wszystkie funkcje można wyklikać w kilkanaście minut. Ale czy na pewno znów niższe koszty gwarantują spodziewany efekt?

Wtyczki typu Wordfence, może posiadają wszystkie potrzebne funkcje, natomiast wciąż są one tylko dodatkowymi rozwiązaniami i kolejnym kodem implementowanym do systemu. Jak wyżej wspomnieliśmy, właśnie dodatkowe pluginy często posiadają „tylną furtkę”, przez którą wstrzykiwany jest złośliwy kod. W tym wypadku należy wziąć na szalę – z jednej strony szybkość i łatwość wdrożenia, a z drugiej większe bezpieczeństwo, ale niestety też koszty.

Sugerujemy aby tego typu rozwiązania, były jedynie dodatkiem do solidnie zabezpieczonego przez programistę skryptu.

Czyszczenie

Niestety czasem dochodzi do sytuacji, kiedy nasza strona padnie ofiarą ataku. Co należy zrobić? Przede wszystkim nie panikować. Czasem przywrócenie kopii strony załatwi problem (w zależności od rodzaju ataku), ale wtedy koniecznie należy podjąć środki zapobiegawcze.

Niestety w dużej mierze, czyszczenie infekcji należy zlecić specjalistom. W ich rękach przede wszystkim leżeć będzie zbadanie skali włamu, następnie wyczyszczenie zainfekowanych plików. Po całkowitym uporaniu się z problemem, należy stronę zabezpieczyć wg powyższych sugestii.

blank

Czyszczenie plików .htaccess i wp-config

Po ataku hakerskim najczęściej zainfekowanymi plikami w CMS WordPress są pliki konfiguracyjne: .htaccess, wp-config oraz index.php. Należy przejrzeć przede wszystkim wskazane pliki (oraz te w szablonie i wtyczkach) pod kątem wstrzyknięcia podejrzanego kodu, który modyfikuje wyświetlanie treści, wyniki wyszukiwania, ilość i jakość podstron, itp.

Proces może być żmudny, ale wyczyszczenie tych plików pozwoli na „odcięcie” drogi hakerom do danych przechowywanych w Twoim serwisie.

Zablokowanie adresów przed indeksacją

Po wyczyszczeniu wskazanych plików, zainfekowane adresy należy zgłosić do Google Search Console w celu wyindeksowania. Następnym istotnym krokiem będzie zablokowanie tych adresów kodem 410 w pliku .htaccess celem uniknięcia ponownej indeksacji zainfekowanych podstron w wynikach wyszukiwania.

Zabezpieczenie Twojej strony www opartej o system WordPress przed atakami hakerskimi to niezwykle istotna sprawa. Niestety serwisy www pozostawione bez opieki, nieaktualizowane, niewspierane przez administratorów, częściej są podatne na zainfekowanie. Wtedy dane naszych klientów, informacje o transakcjach, numery kart i kont, kontakty biznesowe, dane statystyczne, a nawet nasze dobre imię, leżą w rękach cyberprzestępców. Musimy zdawać sobie sprawę z tego, jakie konsekwencje niesie to za sobą. W tekście większości regulaminów oraz informacji o Polityce Prywatności i Cookies, dajemy naszym użytkownikom gwarancję bezpieczeństwa ich danych. Tej kwestii absolutnie nie można bagatelizować, ponieważ w sądzie będziemy na straconej pozycji.

Czy zatem warto ryzykować poniesienie takich strat? Zdecydowanie nie. Zapobiegajmy więc nieprzyjemnościom, wykorzystując powyższe zalecenia, a na pewno zainwestowany czas oraz koszt, zredukuje niemal całkowicie możliwość wystąpienia problemu.

2 osoby skomentowały wpis

  1. Monicza

    Super artykuł, bardzo przydatne wskazówki, szczególnie, że w sieci łatwo jest paść ofiarą hakerów.

  2. Gosia

    Grunt to w przypadku ataku hakerskiego powierzyć całą sprawę ogarniętym specjalistom – jak w przypadku każdej innej usterki, o której charakterze nie mamy żadnego pojęcia. Tutaj sporą rolę gra doświadczenie i mimo tego, że poradniki, które można znaleźć w internecie mogą być przydatne to można jeszcze bardziej zaszkodzić w wyniku niepowodzenia. Jeszcze gorzej jest jeśli ktoś spanikuje i przykładowo zapłaci hakerom za odblokowanie strony (czasem padają takie propozycje i znam takich co przystali). Jedno, że jest to kompletne ryzyko, bo nie znamy ludzi, którzy chcieli nas oszukać (dlaczego mielibyśmy im ufać?), a drugie, że możemy dużo zaoszczędzić robiąc to w inny sposób. Reklamować nie będę, ale ja skorzystałam z pomocy specjalistów i wyszłam na tym bardzo dobrze. Mimo wszystko przydatny artykuł, zwłaszcza dla laików!

Odpowiedz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *