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. 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.

2. 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

3. 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.

4. Zabezpieczenia systemu WordPress

Po wdrożeniu witryny należy ją odpowiednio zabezpieczyć. Jeśli nie jesteśmy programistami, warto 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. Jednak w tym wypadku postawiłbym na maksymalizację bezpieczeństwa. Istnieje kilka obszarów zabezpieczeń, na które warto zwrócić uwagę:

  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.
  2. Dodatkowe zabezpieczenia logowania. Duża część ataków polega na złamaniu hasła przy użyciu wszystkich możliwych kombinacji (atak „brute force”). W związku z tym warto zabezpieczyć formularz logowania. Standardowy adres logowania do panelu administracyjnego wygląda tak: http://twojastrona.pl/wp-admin. Dobrym pomysłem jest zmiana tego adresu na niestandardowy, a także wprowadzenie dodatkowych zabezpieczeń do formularza logowania. Tutaj ponownie mogą nas wesprzeć wtyczki All in One WP Security lub iThemes Security a także wtyczka Captcha. Ale i one nie zagwarantują nam 100% bezpieczeństwa. Optymalnym rozwiązaniem jest zabezpieczenie niestandardowe.
  3. Skanery antiwirusowe. Skanery te wykonują cykliczne przeglądy stanu naszych plików i identyfikują potencjalnie niebezpieczne fragmenty kodu. Tutaj możemy liczyć na dedykowaną wtyczkę Antivirus lub ponownie na All in One WP Security.
  4. I jeszcze więcej: zabezpieczenia systemu plików, bazy danych, firewall i inne. Podane powyżej wtyczki All in One WP Security oraz iThemes Security mają charakter narzędzi kompleksowych, które dysponują także dodatkowymi opcjami, zwiększającymi bezpieczeństwo naszej strony.

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.