Ponad 16 punktów (i jeszcze więcej ustawień), przez które warto przejść, aby dobrze zabezpieczyć swoją stronę WWW, bloga czy sklep WordPress
Spis treściJak zabezpieczyć WordPressa, by Twoje strony internetowe nie padły ofiarą internetowych oszustów? Poznaj najlepsze praktyki, które wprowadzisz w życie bez korzystania z pomocy płatnych specjalistów.
Bezpieczeństwo strony to kwestia kluczowa dla każdej osoby prowadzącej swoją działalność w sieci. Nie ma nic gorszego niż świadomość, że Twoje miejsce w internecie może zostać zajęte przez osoby niepożądane. Może to nie tylko negatywnie wpłynąć na Twoje interesy, ale też zniechęcić do Ciebie klientów w dalszej perspektywie. Właśnie dlatego tak istotne jest wdrożenie odpowiednich elementów ochrony, pozwalających prawidłowo zabezpieczyć WordPress.
Pomysły i rozwiązania stosowane przez internetowych oszustów bezustannie się zmieniają. To sprawia, że wszyscy właściciele witryn WWW również powinni zachować czujność. Wskazane jest ciągłe sprawdzanie swoich zabezpieczeń i pilnowanie wdrożonych już narzędzi.
W tym artykule przedstawiliśmy wszystkie sprawdzone rozwiązania, które pomogą Ci utrzymać ochronę swojej aplikacji internetowej. Skupiliśmy się zarówno na bezpieczeństwie panelu administracyjnego WP, jak i kodzie, wtyczkach, motywach, certyfikatach oraz wielu innych elementach istotnych w witrynie WordPress.
Czy i dlaczego warto zabezpieczyć stronę WordPress?
Zarówno administrator, jak i właściciel witryny WWW, powinien zawsze stawiać bezpieczeństwo serwisu na pierwszym miejscu. Strona WordPress, dostępna w internecie, narażona jest bowiem na wiele zagrożeń. Mogą być one związane zarówno ze szkodliwymi działaniami osób trzecich, jak i nieodpowiedzialnymi praktykami, narażającymi dane użytkowników. Oba przypadki są niedopuszczalne i warto zrobić wszystko, aby ich uniknąć.
Dlaczego to tak istotne? Przede wszystkim ze względu na sprawne funkcjonowanie Twojego przedsiębiorstwa. WordPress jest najpopularniejszym CMS-em świata, trudno się więc dziwić, że to właśnie jego dotyczy większość ataków. Co natomiast istotne, mogą one odbić się na właścicielu danego miejsca w sieci na różne sposoby. Przede wszystkim w takiej sytuacji musisz przygotować się m.in. na:
- zablokowanie witryny lub ograniczenie jej funkcjonowania,
- wyciek danych użytkowników,
- wykorzystywanie witryny do niepożądanych celów,
- wysyłanie niepożądanych komunikatów odbiorcom,
- działania szkodliwe dla marki i e-biznesu,
- i wiele innych szkodliwych zachowań.
Wszystko to może odbić się negatywnie na Twojej witrynie, marce i firmie na wiele sposobów. Przede wszystkim witryna internetowa, która padła ofiarą oszustów, zaczyna wyglądać na mniej bezpieczną w oczach konkretnego użytkownika. W praktyce więc może okazać się, że liczba wejść się zmniejszy, podobnie jak np. realizowane zamówienia. Niestety proces odbudowywania wiarygodności jest czasochłonny i kosztowny. Nie brak e-biznesów, które nie dały rady podnieść się po tego typu kryzysie wizerunkowym.
Drugi skutek to realne straty, wywołane atakiem. Wdrożone przez Ciebie rozwiązania mogą ulec uszkodzeniu. Ich naprawa wiąże się z niespodziewanymi szkodami, często opiewającymi na wysokie kwoty. Tu wziąć pod uwagę musisz też fakt, że przywrócenie stanu sprzed kryzysu także wymaga czasu i zaangażowania. Być może niezbędne będzie zatrudnienie specjalistów do naprawy Twojej witryny, co najczęściej jest bardzo bolesnym wydatkiem. Nie bez znaczenia ponadto jest fakt, że w czasie ataku i po nim, serwis nie funkcjonuje poprawnie. W praktyce więc nie generuje zysków, co realnie szkodzi interesom firmy.
Do czego oszuści mogą wykorzystać Twój system WordPress?
Internetowi oszuści mogą wykorzystać pozyskane strony WWW na różne sposoby. Zależnie od ich zamiarów, możesz przez to mieć poważniejsze lub mniej istotne kłopoty. Najczęściej natomiast takie działanie ma na celu:
- pozyskiwanie przekierowań,
- ataki DDoS,
- zarażanie innych (złośliwe oprogramowanie),
- umieszczanie spamerskich linków,
- rozsyłanie SPAMu,
- pozyskiwanie dostępu do informacji o użytkowników,
- celowe działanie na szkodę firmy,
- niszczenie konkretnych danych.
Część z tych problemów może wydawać Ci się mniej istotna od innych. Weź jednak pod uwagę fakt, że nigdy nie możesz mieć pewności, jakie są motywy osoby atakującej Twoją witrynę. Do każdego zagrożenia należy więc podchodzić od razu tak, jakby wiązało się ono z potencjalnie najgorszym scenariuszem. Tak też należy się przed nim chronić.
Hostingowe zabezpieczenia panelu WordPressa i strony WWW
Pierwszą kwestią dotyczącą zabezpieczeń strony internetowej jest wybór odpowiedniego bezpiecznego hostingu. Na rynku są dziesiątki firm oferujących miejsce na swoich serwerach. Proponowane przez nie zabezpieczenia powinny być dla Ciebie jedną z najważniejszych kwestii. Może ona decydować w kwestii ostatecznej decyzji. Szczególnie istotne są takie parametry, jak:
- hosting z darmowym certyfikatem SSL (zobacz: Płatny vs darmowy certyfikat SSL: FAKTY i MITY)
- polityka wykonywanych automatycznie backupów (im częściej, tym lepiej – min. co 24h i przechowywane przez min. 7 dni),
- możliwość separacji poszczególnych domen,
- używana wersja PHP (im nowsza, tym lepiej),
- opinie użytkowników i informacje na temat problemów z zabezpieczeniami,
- mechanizmy blokujące ataki DDoS,
- zabezpieczenia panelu WordPressa,
- ochrona skrzynek pocztowych przed SPAMem,
- ochrona skrzynek e-mail podszywaniem się (SPF, DKIM, DMARC),
- możliwość nawiązywania połączeń SSH i SFTP,
- Skuteczny WAF blokujący ataki (np. ModSecurity z odpowiednimi regułami),
- bezpieczeństwo serwerów DNS (DNSSEC),
- zasady działania supportu i jego kompetencje.
Oprócz tego wskazane jest ponadto – zaraz po założeniu konta hostingowego – samodzielne wprowadzenie istotnych zmian. Dodatkową ochronę zapewni Ci:
- ustawienie mocnego hasła do konta hostingowego (używaj cyfr, małych i dużych liter i znaków specjalnych),
- włączenie dwuetapowego logowania (2FA), jeśli hosting takowe umożliwia (a powinien!),
- zmiana loginu z domyślnej nazwy domeny lub maila na indywidualne rozwiązanie.
Zarówno w przypadku loginu, jak i hasła, wskazane jest wybranie danych, których nie używasz w żadnym innym serwisie WWW. Dzięki temu nawet po wycieku danych wystarczy wprowadzić nowe dane logowania, by konto pozostało bezpieczne. Niezagrożone będą też inne Twoje miejsca w sieci.
Sposoby na skuteczne zabezpieczenie strony, panelu administratora i bazy danych w WordPress
WordPress jest najpopularniejszym ze wszystkich systemów CMS na świecie. Ma to wiele zalet, ale i swoje słabe strony. Mowa tu przede wszystkim o fakcie, że jego powszechność przekłada się na liczne i kreatywne próby ataków. Niezbędne jest więc ciągłe czuwanie nad aktualizacjami poprawiającymi kwestie bezpieczeństwa. W tym zakresie niczego nie możesz lekceważyć. Na bieżąco aktualizuj:
- wtyczki,
- wersje PHP,
- motywy WordPress,
- samego CMS-a.
Pamiętaj, aby dbać o bezpieczeństwo WordPressa na każdym z tych poziomów. Ponadto musisz chronić również bazy danych MySQL, strony logowania oraz przechowywane dane użytkowników. Nie możesz zapomnieć o backupach, wdrożeniu potrzebnych narzędzi zabezpieczających i wprowadzeniu zmian, dodatkowo chroniących Twoje miejsce w sieci.
Wszystkie te działania opisaliśmy poniżej w oddzielnych punktach. Dzięki temu możesz realizować te zalecenia po kolei. Stopniowo będziesz poprawiać bezpieczeństwo całej strony WWW, wraz ze wszelkimi informacjami z nią związanymi.
1. Proces instalacji WordPress i tworzenie bazy danych
Troska o bezpieczeństwo strony internetowej rozpoczyna się tuż po otrzymaniu dostępu do konta hostingowego. Przygotowując się do instalacji WordPressa, przestrzegaj podstawowych zasad bezpieczeństwa. Zwykle w panelu klienta hostingu dostępny jest autoinstalator. Pozwala on wygodnie umieścić WP na serwerze. Lepiej jednak zrobić to tradycyjnie – Jak zainstalować WordPressa? 3 sposoby KROK PO KROKU.
Dlaczego lepiej unikać autoinstalatorów? Przede wszystkim dzięki ręcznej instalacji będziesz mieć kontrolę nad całym procesem. Na Twój serwer nie trafi nic, czego być tam nie powinno. Zyskasz pewność odnośnie do plików instalacji, które samodzielnie pobierzesz z zaufanych źródeł.
Samodzielnie możesz też stworzyć bazę danych. W ten sposób unikniesz luk w zabezpieczeniach, kuszących oszustów. Podstawową zasadą jest stworzenie oddzielnej bazy dla każdej ze swoich stron. Jeśli to możliwe, nie zezwalaj w ich przypadku na dostęp zdalny Zabezpiecz je mocnym hasłem i pamiętaj o tym, by nazwa bazy danych różniła się od nazwy użytkownika osoby, która ją wykonuje.
2. Rozważna instalacja pluginów
Z poziomu panelu administratora WordPress masz możliwość instalacji rozmaitych pluginów. Ich zadaniem jest ułatwienie wykonania najróżniejszych operacji na stronie internetowej i nie tylko. Korzystanie z dodatkowych wtyczek niesie ze sobą jednak również niebezpieczeństwo. Część osób zarządzających stronami może nawet nie być tego świadoma, bo instalacja odbywa się „wewnątrz” CMS-a.
Faktem jest jednak to, że wtyczki mogą być źródłem potencjalnego ryzyka. Internetowi oszuści mogą ich bowiem użyć do tego, by „dostać się” do witryny. Właśnie dlatego wskazane jest korzystanie wyłącznie z pluginów pochodzących z zaufanego źródła. Zawsze dbaj też o to, by twórca oprogramowania, po które sięgasz, był rzetelny i sprawdzony. Im samym powinny towarzyszyć częste aktualizacje, podnoszące poziom bezpieczeństwa i eliminujące wszelkie błędy.
3. Aktualizacje WordPress
WordPress jest bezustannie rozwijany i unowocześniany, by spełniać wymagania wszystkich użytkowników. To jednak sprawia, że konieczne jest jego regularne aktualizowanie do najnowszej wersji. Jeśli zaniedbasz ten aspekt, internetowi oszuści mogą znaleźć „furtkę”, którą dostaną się na Twoją stronę internetową. W WP jest możliwość ustawienia automatycznej aktualizacji. To wygodne rozwiązanie, jeśli nie logujesz się na swoje konto zbyt często. W ten sposób nie narazisz swojego miejsca w sieci na zbyt długie okresy „oczekiwania” na wgranie nowej wersji CMS-a.
4. Aktualizacje wtyczek i motywów
Wtyczki i motywy są bardzo często wykorzystywane przez internetowych oszustów przy okazji ataków. Zgodnie z informacjami przekazanymi przez serwis wpwhitesecurity.com, za zakończone sukcesem ataki na WordPress odpowiada:
- w 29 proc. podatność motywu,
- w 22 proc. podatność wtyczek.
Warto zatem regularnie je aktualizować, ale też instalować wyłącznie rozwiązania, co do których masz pewność. Zbędne wtyczki powinny być jak najszybciej usuwane. Wynika to z faktu, że mogą one doprowadzać do błędów i stanowić furtkę dla oszustów. Pozbywanie się ich pomaga zresztą w zachowaniu porządku na serwerze. To natomiast również sprzyja przejrzystości i zachowaniu bezpieczeństwa, bo łatwiej zauważysz wtedy potencjalne zagrożenie.
5. Aktualizacje wersji PHP
Regularnie sprawdzaj posiadaną wersję PHP i dbaj o jej aktualizację do najnowszego wydania. Dzięki temu Twoja strona będzie działać szybciej, ale też pozostanie lepiej chroniona. Możesz bowiem liczyć na to, że po aktualizacji zostaną załatane wszelkie luki bezpieczeństwa, które pojawiły się we wcześniejszych rozwiązaniach. Jak sprawdzić wersję PHP na hostingu? Możesz zrobić to nawet z poziomu swojego konta hostingowego. Równie łatwe jest przeprowadzenie aktualizacji, co zajmie Ci maksymalnie kilkanaście minut: Jak zmienić wersję PHP na hostingu na najnowszą?
6. Certyfikat SSL
Certyfikaty SSL mają bardzo różnorodne zastosowania ochronne. Przede wszystkim oczywiście odpowiadają za szyfrowanie informacji przesyłanych w obrębie witryny i serwera. Dzięki temu dane Twoje, strony i użytkowników pozostaną bezpieczne i nie będą narażone na niebezpieczeństwo. Możesz w taki sposób uchronić się przed wyciekiem. Druga kwestia to miejsce w wynikach wyszukiwania. Zarówno sami internauci, jak i algorytmy Google, przychylnie patrzą na zamkniętą kłódkę przy adresie URL. Warto więc zawsze dbać o to, by mieć aktywny certyfikat SSL.
7. Dane i adres logowania
Instalując WordPressa, otrzymujesz dane umożliwiające zalogowanie do kokpitu administratora WordPress. Domyślnie może zostać Ci nadany login „admin”, który jednak polecamy natychmiast zmienić. Wskazane jest użycie innego, bardziej skomplikowanego rozwiązania. Najlepiej, aby stanowiło ono ciąg liter, cyfr i znaków, jaki nie był używany przez Ciebie w żadnym innym serwisie. Podobnie ustaw również indywidualne hasło. Dzięki temu jest mniejsza szansa na to, że internetowemu oszustowi uda się dostać do Twojego panelu administracyjnego.
Druga, często poruszana przez właścicieli witryn kwestia, to adres logowania do panelu administratora. Czy wybranie nowej ścieki wp-admin pomoże Ci w ochronie WordPressa? Zdania są podzielone. Z jednej strony zmiana adresu logowania stanowi bardzo dobrą ochronę przed wrogimi robotami. Te bowiem często usiłują przedostać się na konta przy pomocy najczęściej używanych, pospolitych danych.
Z drugiej strony jednak wp-admin jest doskonale zabezpieczony przez twórców. W połączeniu z dobrze przemyślanymi, skomplikowanymi danymi logowania, stanowi skuteczną barierę. Co ważne, jest to też szybsze rozwiązanie niż wdrażanie przekierowania czy błędu 404. Musisz więc poważnie zastanowić się, czy na pewno opłaca Ci się korzystać z tej metody ochrony.
Samo wdrożenie zmiany adresu logowania nie jest skomplikowane. W jego przeprowadzeniu może pomóc Ci sprawdzona i wiarygodna wtyczka WP. Wystarczy, że użyjesz do tego zadania np.:
- My Theme Login,
- WPS Hide Login,
- SpeedProd.
8. Wtyczki zabezpieczające
W WordPressie możesz chronić strony internetowe przy użyciu gotowych wtyczek. Spełniają one rozmaite role, np. dokonując zmian w pliku .htaccess czy w kodzie witryny. Zależnie od rozwiązania, na które się zdecydujesz, może ono np.:
- skanować wszystkie pliki na poziomie serwera w poszukiwaniu złośliwego oprogramowania,
- blokować niebezpieczne adresy IP, które będą próbowały zalogować się na konto,
- informować Cię o nieudanych, podejrzanych próbach logowania,
- blokować ważne pliki przed niepożądaną edycją,
- aktywować dwustopniowe uwierzytelnianie,
- uniemożliwiać podwójne logowanie,
- ograniczyć ilość prób logowania,
- uruchamiać CAPTCHA przy logowaniu,
- i wiele innych.
W tym przypadku niesamowicie ważne jest skorzystanie z wtyczki pochodzącej z zaufanego źródła. Ma ona odpowiadać za bezpieczeństwo strony, więc nie może sama stanowić zagrożenia. Wśród polecanych są takie rozwiązania, jak np.:
- All in One WP Security,
- Wordfence Security.
Co istotne, tego typu wtyczki powinny być dodatkiem chroniącym stronę, a nie jej podstawą. Pamiętaj, że one również mogą być dziurawe i powodować kłopoty. Nawet najlepsze rozwiązanie nie powinno być postrzegane przez Ciebie niczym niezawodne. Ich wdrożenie daje ponadto też użytkownikowi czasem fałszywe poczucie bezpieczeństwa. To natomiast często prowadzi do poważnych kłopotów.
9. Regularne skanowanie serwera
Wybierając hostingodawcę, warto zwrócić uwagę na to, czy zapewnia on dostęp do rozwiązań antywirusowych. Wskazane jest bowiem regularne skanowanie całej strony internetowej i wszystkich plików na serwerze pod kątem obecności złośliwego oprogramowania. Szczególnie polecane są narzędzia, które analizują cały kod. Mogą one być „nastawione” na rozmaite cele, jak np. nalezienie niepożądanych fragmentów, zaimplementowanych przez internetowych oszustów czy pochodzących z niezaufanych szablonów lub wtyczek.
Takie usługi oferuje wiele pluginów WordPressa. Podobnie jednak jak z wtyczkami zabezpieczającymi, tutaj też warto sięgać wyłącznie po sprawdzone i rzetelne rozwiązania. Wymienić tu można np.:
- Sucuri Security,
- Wordfence Security,
- All In One WP Security & Firewall,
- iThemes Security.
10. Backupy
Wykonywanie regularnych backupów jest kluczowe. Dzięki nim możliwy jest powrót do stabilnej wersji strony nawet w bardzo poważnej sytuacji. Może uchronić Cię to przed uszkodzeniami i zainfekowaniem, „cofając” stan witryny do stabilnej, bezpiecznej wersji. Większość hostingodawców zapewnia automatyczne tworzenie kopii zapasowych, przechowywanych w bezpiecznym miejscu przez określony czas.
Warto natomiast zadbać o ten aspekt również samodzielnie. Skuteczne metody wykonywania tego typu działań znajdziesz w naszym artykule: Jak zrobić kopię zapasową (backup) WordPressa? 5 sposobów. Możesz wykorzystać do tego np. przydatne wtyczki WP:
- Duplicator,
- UpdraftPlus Backup and Restoration,
- BackWPup Free.
Im częściej wykonywany jest backup, tym lepiej dla Ciebie i Twoich użytkowników. Dotyczy to szczególnie stron, które są często aktualizowane. Pamiętaj też, by pliki kopii zapasowych trzymać w bezpiecznym miejscu. Wskazane jest przechowywanie ich poza serwerem. Dzięki temu, w przypadku poważnego ataku, stabilna wersja serwisu nie trafi w ręce oszustów. Gdy sytuacja się uspokoi, przywrócisz też ją bez większych problemów.
11. CAPTCHA
CAPTCHA to mechanizm zabezpieczający strony internetowe. Jest wykorzystywany do weryfikacji, czy określone czynności są wykonywane przez człowieka. Może przyjmować różne formy. Zwykle natomiast opiera się na stosunkowo łatwych zadaniach, które muszą wykonać użytkownicy. Może być to zaznaczenie odpowiednich obrazków czy przepisywanie tekstu.
Najpopularniejszą odsłoną mechanizmu CAPTCHA jest reCAPTCHA. Jego celem jest oczywiście minimalizowanie szkodliwych skutków działania botów. To darmowe narzędzie udostępniane przez firmę Google. Możesz wdrożyć je bezpłatnie na swojej stronie, aby ustrzec się przed zalewem niechcianych i niepotrzebnych aktywności. Szczególnie polecane jest to np. przy formularzach kontaktowych. Znajdziesz go na oficjalnej stronie twórców: https://www.google.com/recaptcha/about/.
Proces jego wdrożenia składa się z dwóch kroków:
- wygenerowania klucza API,
- implementacji narzędzia w witrynie.
Aby rozpocząć wdrażanie reCAPTCHA, wejdź na podaną wyżej stronę i naciśnij przycisk „v3 Admin Console„. W ten sposób przejdziesz do procesu rejestracji nowej witryny.
Postępuj zgodnie ze wskazówkami w formularzu. Podaj dane swojego miejsca w internecie i inne, niezbędne informacje. Po naciśnięciu na koniec niebieskiego przycisku „Prześlij” system przeniesie Cię do nowej strony. Znajdziesz tam klucze API wygenerowane dla Twojej domeny. Skopiuj je, bo będą potrzebne za chwilę.
Teraz przejdź do swojego panelu WordPressa i otwórz wtyczkę odpowiadającą za formularz kontaktowy. Najpopularniejsza Contact Form 7 pozwala na szybką implementację tego rozwiązania. W głównym menu rozwiń jej opcje i naciśnij przycisk „Integracje”. Następnie wybierz wariant „reCAPTCHA” i kliknij „Setup Integration”. To moment, w którym musisz wkleić w puste okna wygenerowany Klucz strony i Sekretny klucz. Po wprowadzeniu zmian potwierdź je niebieskim przyciskiem „Save Changes”.
reCAPTCHA może chronić również inne funkcjonalności na Twojej stronie. Nie musi ograniczać się wyłącznie do formularza kontaktowego. W tym przypadku musisz natomiast posłużyć się innymi wtyczkami. Często wykorzystywane są do tego takie narzędzia, jak np.:
- Simple Google reCAPTCHA,
- Invisible reCaptcha for WordPress,
- reCaptcha by BestWebSoft.
Atrakcyjną alternatywą dla tradycyjnego reCAPTCHA jest Cloudflare Turnstile. To rozwiązanie o wiele wygodniejsze i bardziej funkcjonalne od nieco przestarzałego oryginału. Powstrzymuje różnego rodzaju nadużycia, potwierdzając prawdziwość odwiedzających witrynę użytkowników. Chroni dane i nie jest tak irytujący dla internautów, jak tradycyjna reCAPTCHA. W dodatku jego wdrożenie trwa zaledwie kilka minut. Opiera się bowiem na dodaniu jednego, krótkiego fragmentu kodu na stronie. Sama usługa w podstawowej wersji Cloudflare jest całkowicie darmowa, a znaleźć ją można na oficjalnej stronie serwisu Cloudflare – https://www.cloudflare.com/products/turnstile/.
Więcej: CAPTCHA: co to jest i jak zabezpieczyć stronę WWW?
12. Dwustopniowe uwierzytelnianie
Dwustopniowe uwierzytelnianie to podwójna ochrona przed niepożądanymi atakami. Wprowadzisz to rozwiązanie przy pomocy wielu wtyczek, podobnie jak inne – dodatkowe – warstwy weryfikacji. Skorzystać możesz z różnych ich form, w zależności od rozwiązania, które wybierzesz. Za pomocą wtyczek WordPressa masz szansę potwierdzać logowanie np. przy użyciu kodów SMS, klucza U2F lub potwierdzenia logowania wysyłanego na skrzynkę e-mail. Ciekawą alternatywą jest skorzystanie z weryfikacji w aplikacji Google Authenticator, którą oferuje np. Two Factor Authentication.
13. Wyłączenie i usunięcie niepotrzebnych funkcji i rozwiązań
Wtyczek i motywów WordPress nie powinno być na jednej stronie WWW zbyt wiele. Przede wszystkim wpływa to negatywnie na prędkość jej działania, znacznie ją spowalniając. Po drugie, szkodzi to także jej bezpieczeństwu. Jeśli nie korzystasz z jakiegoś rozwiązania lub przestało być Ci ono potrzebne, to po prostu je usuń. Dzięki temu utrudnisz działanie internetowym oszustom, poszukującym nieaktualnych i dziurawych elementów.
14. Porządek na serwerze
Bardzo często zagrożenia i ataki na stronę wynikają z bałaganu na serwerze, na którym się ona znajduje. Im większy chaos, tym łatwiej cyberprzestępcy mogą ukryć swoje działania. W efekcie dłużej pozostają niewykryci i do większych szkód mogą doprowadzić. Jak jednak uniknąć takiej sytuacji? Wystarczy, że będziesz stosować się do kilku prostych i powszechnie znanych zasad:
- stwórz przemyślaną strukturę katalogów i przestrzegaj jej zasad,
- korzystaj z separacji wszystkich stron obecnych na jednym serwerze,
- stwórz osobną bazy MySQL dla każdej ze stron,
- usuwaj z serwera regularnie niepotrzebne pliki, takie jak np. nieaktualne kopie zapasowe.
Dzięki temu łatwiej będzie Ci zauważyć, że na serwerze zaszły jakieś zmiany. Szybciej też pojawienie się nowych elementów przyciągnie Twoją uwagę i wzbudzi podejrzenia. Ostatecznie zatem sprawniej przystąpisz do poszukiwania źródła takiej sytuacji i identyfikacji problemu.
15. Zmiany w plikach i kodzie (dla zaawansowanych)
Edycja pliku wp-config.php i .htaccess może przynieść wiele pozytywnych skutków z zakresu bezpieczeństwa witryny internetowej. Trzeba jednak wiedzieć, jakie zmiany w nich wprowadzić i w jaki sposób to zrobić. Najważniejsze z nich przedstawiliśmy poniżej, wskazując również kilka innych podpowiedzi, które mogą się okazać dla Ciebie przydatne.
Wyłącz edycję plików wtyczek i motywów
Powszechnie polecanym rozwiązaniem jest wyłączenie możliwości edycji plików wtyczek i motywów. Zrobisz to w pliku wp-config.php. Wystarczy tylko, że dodasz w nim jedno polecenie:
define(’DISALLOW_FILE_EDIT’, true);
Klucze bezpieczeństwa WordPress
W pliku konfiguracyjnym wp-config.php znajduje się zestaw stałych, zdefiniowanych kluczy bezpieczeństwa. Są one wykorzystywane do przechowywania informacji w ciasteczkach. Aby zwiększyć poziom zabezpieczeń, możesz automatycznie stworzone klucze zastąpić własnymi. Wygenerujesz je za pomocą wygodnego narzędzia: https://api.wordpress.org/secret-key/1.1/salt/. Zestaw aktualizuje się losowo za każdym razem, gdy odwiedzasz lub odświeżasz tę stronę.
Przeniesienie danych do bazy danych
Aby zwiększyć bezpieczeństwo przechowywanych danych, przenieś dane autoryzacyjne bazy danych w bezpieczniejsze miejsce. Aby to zrobić, musisz znaleźć w wp-config.php fragment:
define('DB_NAME', 'moja_baza');
define('DB_USER', 'moj_user');
define('DB_PASSWORD', 'moje_haslo');
define('DB_HOST', 'moj_host');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
Skopiuj go do innego pliku, który stworzysz. Załóżmy, że nazwiesz go wp-przyklad-db.php. Gdy to zrobisz, to w pliku konfiguracyjnym wp-config.php usuń ten fragment i umieść nową linijkę:
require_once "wp-przyklad-db.php";
Ukrywanie błędów
Zazwyczaj ukrywaniem błędów zajmuje się hosting. Na wszelki wypadek jednak zawsze warto samodzielnie sprawdzić, czy błędy zostały ukryte. Aby to zrobić, otwórz wp-config.php i znajdź linijkę:
define('WP_DEBUG', false);
Musisz zamienić ją na:
define('WP_DEBUG', false);
if ( ! WP_DEBUG ) {
ini_set('display_errors', 0);
}
Więcej: Wyświetlanie i logowanie błędów na stronie PHP: Jak włączyć i wyłączyć?
Blokada plików
Wspominaliśmy wcześniej o wyłączaniu edytora plików wtyczek i motywów. Formą dodatkowego zabezpieczenia jest zablokowanie także plików z poziomu .htaccess. Aby to zrobić, otwórz wspomniany plik i na początku wstaw w nim fragment:
<FilesMatch "wp-config.*\.php|\.htaccess|readme\.html">
Order allow,deny
Deny from all
</FilesMatch>
Ukrywanie wersji WordPressa
Specjaliści od bezpieczeństwa stron internetowych polecają ukrywanie wersji WordPress, z której korzystasz. W ten sposób zwiększasz bezpieczeństwo swojego miejsca w sieci. Wynika to z faktu, że dostarczasz mniej przydatnych informacji potencjalnym oszustom. Dzięki temu zmniejsza się ten szansa tego, że wezmą Cię „na celownik”, gdy zapomnisz o aktualizacji systemu.
Ukrycie wersji WP nie jest skomplikowane. Aby to zrobić, musisz usunąć tę informację z sekcji <head> w pliku functions.php używanego motywu:
remove_action('wp_head', 'wp_generator');
Zastosuj to również w kanałach RSS:
function my_secure_generator( $generator, $type ) {
return '';
}
add_filter( 'the_generator', 'my_secure_generator', 10, 2 );
Nie zapomnij o skryptach:
function my_remove_src_version( $src ) {
global $wp_version;
$version_str = '?ver='.$wp_version;
$offset = strlen( $src ) - strlen( $version_str );
if ( $offset >= 0 && strpos($src, $version_str, $offset) !== FALSE )
return substr( $src, 0, $offset );
return $src;
}
add_filter( 'script_loader_src', 'my_remove_src_version' );
add_filter( 'style_loader_src', 'my_remove_src_version' );
Na koniec zajmij się plikami w katalogu głównym. Zasadę opisaliśmy powyżej w sekcji „blokada plików”.
Zabezpieczenie logowania
Wcześniej wspominaliśmy już o różnych metodach zabezpieczenia logowania. Możesz wprowadzić jego drugi stopień, dodatkową weryfikację czy zmienić adres. Kolejnym rozwiązaniem jest modyfikacja pliku .htaccess. W katalogu głównym zastosuj fragment:
<Files wp-login.php>
AuthType Basic
AuthGroupFile /dev/null
AuthName "Czego tu szukasz?"
AuthUserFile /sciezka-do-htpasswd/.htpasswd
require valid-user
</Files>
Więcej: Jak zabezpieczyć stronę hasłem? .htpasswd
Możliwe, że po wprowadzeniu tej zmiany dojdzie do pojawienia się pętli przekierowań. W takim przypadku musisz dodać również:
ErrorDocument 401 default
Wyłączenie XMLRPC
Nie zapomnij o XMLRPC. To plik znajdujący się w katalogu z Twoją witryną internetową. Jest związany z protokołem XML-RPC. WordPress wykorzystuje go do komunikacji z zewnętrznymi systemami. Wyłączysz go całkowicie filtrem:
add_filter('xmlrpc_enabled', '__return_false');
Alternatywnie możesz też dodać do .htaccess:
<Files xmlrpc.php>
Order deny,allow
Deny from all
</Files>
Pamiętaj jednak, że ograniczenia nałożone na XMLRPC nie zawsze jest dobrym pomysłem. To rozwiązanie czasem bywa pomocne (np. aplikacje mobilne czy pingbacki). Przed jego wdrożeniem zastanów się więc, czy na pewno go nie potrzebujesz.
Ograniczenie wp-admin
Dodaj plik .htaccess w katalogu wp-admin:
AuthType Basic
AuthGroupFile /dev/null
AuthName "Czego tu szukasz?"
AuthUserFile /sciezka-do-htpasswd/.htpasswd
require valid-user
Pamiętaj przy tym o odblokowaniu:
<FilesMatch "admin-ajax\.php|admin-post\.php">
Order allow,deny
Allow from all
Satisfy any
</FilesMatch>
Możesz nie ograniczać dostępu do wp-admin. W takim przypadku jednak zdecyduj się na zablokowanie wp-admin/install.php.
Ochrona loginów użytkowników
Skutecznym sposobem na ochronę loginów użytkowników Twojej witryny jest nałożenie blokady na typowy sposób enumeracji. Zrobisz to, dodając do pliku .htaccess kod:
RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]
Tworząc nowe konto użytkownika, pamiętaj, by zmienić wartości w polach „user_login” i „user_nicename”. Nie powinny mieć one takiej samej wartości. Najlepiej jest w loginie wykorzystać znaki niedozwolone w adresie URL. W ten sposób o zmianę zadba sanityzacja WordPressa.
Ochrona wp-includes i wp-content
Nałóż dodatkową ochronę na wp-includes. Wstaw w tym katalogu plik .htaccess:
<FilesMatch "\.(?i:php)$">
Order allow,deny
Deny from all
</FilesMatch>
<Files wp-tinymce.php>
Allow from all
</Files>
<Files ms-files.php>
Allow from all
</Files>
W podobny sposób zajmij się wp-content, a szczególnie „uploads”. Dodaj .htaccess:
<FilesMatch "\.(?i:php)$">
Order allow,deny
Deny from all
</FilesMatch>
Co ważne, to działanie może wpłynąć na niektóre wtyczki i motywy. Zależnie od tego, jakie rozwiązania są zainstalowane na Twoim koncie, mogą przestać działać poprawnie. W takim przypadku wskazane jest ich odinstalowanie i zastąpienie sprawnymi alternatywami.
16. Dodatkowe, zaawansowane rozwiązania
Wszystkie wymienione powyżej sposoby na zabezpieczenie strony internetowej powinny należycie chronić Twoje miejsce w sieci. Sprawdzą się one w przypadku większości witryn. Jeśli natomiast to Ci nie wystarczy, możesz wykorzystać również szereg bardziej zaawansowanych opcji. Część z nich jest nieco trudniejsza do wdrożenia. Czasem więc warto zwrócić się o pomoc w tej kwestii do profesjonalisty.
O jakich dodatkowych rozwiązaniach mowa? Rozważ wprowadzenie np.:
- monitoring zmian plików z poziomu serwera,
- nadawanie odpowiednich uprawnień do poszczególnych plików,
- monitoring podejrzanego kodu we wszystkich plikach.
Jak sprawdzić stronę internetową pod kątem bezpieczeństwa?
Jak sprawdzić, czy dane miejsce w sieci jest bezpieczne? Oczywiście zawsze najważniejszą kwestią jest korzystanie wyłącznie z wiarygodnych witryn. Gdy widzisz, że danych stron internetowych nie chroni certyfikat SSL (kłódka przy pasku adresu URL jest otwarta lub czerwona), jak najszybciej opuść ten serwis. Na tym jednak nie koniec, bo ta ochrona nie ostrzeże Cię przed wszystkimi niebezpieczeństwami.
Czy strona WWW ma wirusa? 5 darmowych skanerów antywirusowych, które polecamy na naszej stronie, może ustrzec Cię przed prawdziwymi zagrożeniami. Zależnie od wybranego rozwiązania, mogą one wykryć np.:
- przestarzałe wersje CMS-a lub systemu,
- podejrzane linkowania,
- obecność wirusów,
- elementy złośliwego kodu,
- błędy bezpieczeństwa,
- i wiele innych.
Jeśli prowadzisz swoją stronę internetową, warto czasem użyć wobec niej skanerów antywirusowych. Internetowi oszuści czasem są bardzo przebiegli i potrafią działać niepostrzeżenie. Możesz zatem nawet nie zauważyć, że Twoja witryna padła ofiarą ataku. W jej tle natomiast dochodzić będzie do niepożądanych działań. Regularnie wykonywane skany, jako dodatkowe zabezpieczenia, mogą pomóc Ci szybko zorientować się, że dzieje się coś złego. Z ich pomocą szybko zlokalizujesz zagrożenie i zminimalizujesz straty.