Przeczytaj naszych 15 sposobów na zabezpieczenie strony WordPress. Z roku na rok coraz częściej zgłaszają się do mnie właściciele stron internetowych opartych na WordPressie, którzy zmagają się z problemem zawirusowanej witryny. Z jednej strony nie powinno mnie to dziwić, w końcu WordPress jest najpopularniejszym systemem CMS na świecie i z roku na rok grono jego entuzjastów się zwiększa, ale z drugiej strony zwiększa nam się również baza przydatnych porad i artykułów, co powinno wpływać na większą świadomość w kontekście zabezpieczenia stron internetowych. Zamiast leczyć, lepiej zapobiegać i już wcześniej zabezpieczyć swoją witrynę od momentu umieszczenia jej na serwerze produkcyjnym. Oszczędzisz w ten sposób wiele nerwów, a przy tym i pieniędzy.
- 1 Popularne wirusy WordPress
- 2 Konsekwencje z zawirusowanej strony
- 3 Czy WordPress jest niebezpieczny?
- 4 15 sposobów na zabezpieczenie strony WordPress
- 4.1 WordPress blokowanie strony
- 4.2 WordPress zabezpieczenie strony hasłem
- 4.3 Niestandardowy adres logowania do panelu administracyjnego
- 4.4 W celu zabezpieczenia strony WordPress zwiększ siłę hasła
- 4.5 Certyfikat SSL WordPress
- 4.6 Zmiana loginu WordPress
- 4.7 Blokada edycji plików
- 4.8 Zabezpieczenie strony WordPress – Aktualizacja oprogramowania
- 4.9 Zabezpieczenie plików na serwerze
- 4.10 Zmień prefix tabeli bazy danych
- 4.11 Zabezpieczenie strony WordPress – Twórz regularnie backupy
- 4.12 Zabezpieczenie strony WordPress – Wyłącz możliwość przeglądania katalogów przez .htaccess
- 4.13 Zablokuj XML-RPC
- 4.14 Ukrywanie wordpress
- 4.15 Usuń niepotrzebne pluginy oraz motywy
- 5 Zabezpieczenie strony WordPress – podsumowanie
- 6 Zabezpieczenie strony WordPress - oferta
Popularne wirusy WordPress
Jeżeli chodzi o same wirusy, które atakują WordPressa to nie możemy zaliczyć ich do jednej grupy, przybierają się one różne postaci, np:
- dodanie do zawartości strony linki do stron trzecich;
- wykorzystywanie funkcji phpmail() na serwerze w celu wysyłanie spamu;
- obciążanie serwera (DDOS'owanie);
- wrogie przejęcie witryny, podmienienie widoku głównego strony;
- uszkodzenie bazy danych;
- wykradnięcie wrażliwych danych, w przypadku korzystania z Woocommerce podmienienie danych płatności;
- wstrzyknięcie złośliwego kodu do plików szablonowych / wtyczek;
Konsekwencje z zawirusowanej strony
Zapewne się zastanawiasz jaką mogą być konsekwencje z tego tytułu? Zdecydowanie nieprzyjemne, np:
- spadek pozycji w wyszukiwarkach internetowych;
- oznaczenie przez Google strony jako złośliwej i niebezpiecznej;
- utrata zaufania Klientów;
- w przypadku braku kopii zapasowej - permanentna utrata danych;
- spadek ruchu;
- utrata wrażliwych danych, konsekwencje prawne
Czy WordPress jest niebezpieczny?
Absolutnie nie. Nie w tym rzecz. WordPress po prostu daje bardzo łatwą możliwość doinstalowania różnych komponentów i bardzo często w ten sposób hakerzy przedostają się do Twojej witryny. Wiele osób uważa również, że skrypt z otwartym kodem źródłowym (open source) jest podatny na różnego rodzaju ataki. Dlaczego? Z prostego względu – potencjalni hakerzy mogą przecież przeglądać kod źródłowy i wyszukiwać potencjalnych luk w oprogramowaniu. Ale to nie do końca prawda. WordPress posiada bardzo dużą społeczność, która szybko reaguje. Jeżeli taka luka faktycznie znajduje się w systemie to aktualizacja nowej wersji WordPressa wychodzi bardzo szybko. Wystarczy zaktualizować stronę… No właśnie, a z tym bywa u większości właścicieli stron na WordPressie różnie.
Zabezpieczenie strony WordPress powinno leżeć w interesie właściciela strony internetowej. Jeżeli myślisz, że nieaktualizowany i autorski system CMS uchroni Cię przed potencjalnymi atakami to jesteś w wielkim błędzie.
Przeczytaj kilka naszych wskazówek na temat zabezpieczeń strony WordPress. Jeżeli chciałbyś się czegoś dopytać, czy dowiedzieć – zawsze możesz się z nami skontaktować. Chętnie pomożemy.
15 sposobów na zabezpieczenie strony WordPress
Zabezpieczenie panelu administracyjnego jest jedną z ważniejszych czynności w kontekście bezpieczeństwa strony opartej na CMS WordPress. Wszyscy, którzy choć raz mieli do czynienia z WordPressem od strony administratora znajdą doskonale adres logowania do panelu admina.
Z poziomu panelu administratora możemy w pełni modyfikować zawartość strony, a nawet pliki znajdujące się na serwerze. Dlatego też często hakerzy używają różnych metod, m.in. brute-force do złamania hasła do panelu administracyjnego – z tego poziomu mogą zrobić dosłownie już wszystko ze stroną, jeżeli nie jest prawidłowo zabezpieczona.
WordPress blokowanie strony
Zapewne nie zależy Ci na użytkownikach, którzy przebywają na Twojej stronie jedynie po to, aby uzyskać dostęp do panelu administracyjnego. Pomyśl nad wprowadzeniem blokady dla użytkowników, którzy kilka razy wpiszą niepoprawne dane do logowania. Uchroni Cię to przed atakami typu brute-force. Minusem takiego rozwiązania jest to, że czasem po prostu samemu niechcący możesz sobie zablokować dostęp do swojego serwisu. Do użycia takiego zabezpieczenia, polecamy sprawdzony plugin: iThemes Security (wcześniej Better WP Security)
Sprawdź też: Depozycjonowanie – Techniki depozycjonowania
WordPress zabezpieczenie strony hasłem
Dobrym pomysłem jest również wprowadzenie dodatkowego zabezpieczenia w postaci dwuetapowego uwierzytelnienia na stronie logowania. W momencie logowania do panelu administracyjnego oprócz hasła oraz loginu, trzeba podać jeszcze dodatkowe dane, np. tajny kod lub odpowiedź na specjalne pytanie. Do tego możemy użyć pluginu: Two factor authentication
Sprawdź też: Najlepsze wtyczki SEO do WordPress – ranking 9 najlepszych dodatków dla pozycjonerów!
Niestandardowy adres logowania do panelu administracyjnego
Zmiana adresu logowania do panelu administracyjnego nie jest skomplikowanym procesem. Domyślnie do panelu administracyjnego uzyskasz dostęp po dodaniu ścieżki /wp-login.php lub /wp-admin do adresu głównego.
Haker znający adres do Twojego panelu administracyjnego może spróbować złamać hasło do Twojej strony. Najczęściej atak odbywa się przez metodę brute-force, hakerzy posiadają bazy danych z milionami prawdopodobnym haseł oraz na ich podstawie próbują uzyskać dostęp.
Adres do panelu administracyjnego dla laika najłatwiej zrobić przez wtyczkę, możemy użyć wcześniej polecaną przez nas „iThemes Security”, ale możemy również zmienić adres logowania do panelu administracyjnego bez konieczności instalacji żadnych wtyczek.
Wystarczy, że w pliku .htaccess na serwerze dodasz poniższą linijkę kodu:
W pliku .htaccess zamieszczamy poniższą linijkę kodu:
RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING}
Gdzie signin to nasz adres nowy, czyli jak chcemy aby nasz nowy adres logowania do panelu administracyjnego wyglądał w ten sposób: https://mojastrona.pl/signin
Oraz w pliku functions.php, który znajduje się w głównym folderze szablony którego używamy:
add_filter( ‘login_url’, ‘my_login_page’, 10, 2 );
function my_login_page( $login_url, $redirect ) {
return str_replace(“wp-login.php”,”signin”,$login_url);}
add_action( ‘login_form’, ‘replace_login_submit_form’,1);
function replace_login_submit_form() {
$your_content = ob_get_contents();
$your_content = str_replace(“wp-login.php”,”signin”,$your_content);
ob_get_clean();
echo $your_content;}
Jeżeli do tego momentu zastosowałeś się do wszystkich sugerowanych przez nas porad dotyczących bezpieczeństwa, najprawdopodobniej niemalże w 100% ochroniłeś swoją witrynę przed ewentualnymi próbami ataku typu brute-force.
W celu zabezpieczenia strony WordPress zwiększ siłę hasła
Rozważ również poprawę siły swojego hasła – im będzie trudniejsze, tym mniejsze prawdopodobieństwo, że ktokolwiek je zgadnie lub złamie. Być może przez niektórych ta porada zostanie odebrana jako trywialna, ale w dalszym ciągu często spotykam się z ustawianiem haseł takich jak „admin”, czy „imie12” do panelu administracyjnego. Jeżeli nie masz pomysłu na wygenerowanie silnego hasła, możesz użyć generatora poniżej:
https://passwordsgenerator.net/
Zabezpieczenie strony WordPress możesz właśnie zacząć od ustawienia silnego hasła.
Certyfikat SSL WordPress
Wdrożenie certyfikatu SSL jest sprytnym i mądrym posunięciem. W ten sposób zabezpieczysz swój panel administracyjny: protokół SSL zapewnia bezpieczny transfer danych pomiędzy przeglądarką, a serwerem, co dla hakerów jest oczywiście dodatkowym utrudnieniem.
Na większości z moich witryn posiadam certyfikaty SSL od Let’s Encrypt, większość dobrych firm hostingowych oferuje możliwość ich wygenerowania, np. Zenbox, ale niestety w dalszym ciągu duża część hostingodawców wciąż nie oferuje takiej możliwości i jeżeli chcemy zainstalować certyfikat SSL na swojej stronie to musimy przygotować się na min. Kosztuje ok. 70 zł rocznie.
Warto skonfigurować certyfikat SSL na stronie również ze względu na większe zaufanie wśród użytkowników i … Google. Tak, certyfikat SSL wpływa również na ranking Twojej witryny w Google.
I nie jest to żadna nowość. Czytaj więcej:
https://security.googleblog.com/2014/08/https-as-ranking-signal_6.html
Także jeżeli chcesz więcej ruchu na stronie lub lepszych pozycji w wyszukiwarkach – zaimplementuj SSL.
Sprawdź też: Pozycjonowanie Strony WordPress
Zmiana loginu WordPress
Podczas instalacji WordPressa powinieneś użyć unikalnego loginu. Zamiast „admin” lub „administrator” użyj, np. imienia swojego pupila ☺ „Admin” to login,, który każdy haker będzie znał, a jeśli jest on poprawny to pozostanie jedynie odgadnięcie lub złamanie hasła.
Blokada edycji plików
Zdarza Ci się edytować pliki bezpośrednio przez panel administracyjny? Zapewnie bardzo rzadko lub wcale – raz, że jest to po prostu niewygodne, a dwa, że nie mamy dostępu do wszystkich plików na serwerze. W przypadku wdrożenia zabezpieczona, w momencie kiedy haker uzyskałby dostęp do panelu administracyjnego to mimo wszystko nie będzie w stanie ingerować w pliki na serwerze.
W celu blokady, wystarczy do pliku konfiguracyjnego wp-config.php dodać dwie linijki kodu:
define(‘DISALLOW_FILE_EDIT’, true);
define(‘DISALLOW_FILE_MOD’, true);
Zabezpieczenie strony WordPress – Aktualizacja oprogramowania
Jak już wspominałem, WordPress jest oprogramowaniem OpenSource. Aktualizacje, które wychodzą co jakiś czas, są korzyścią dla wszystkich użytkowników: posiadają pewne usprawnienia oraz często łatki bezpieczeństwa. Jeżeli nie aktualizujesz swojej witryny na bieżąco to zapewne za jakiś czas jakiś haker lub bot wykorzysta to do wrogiego przejęcia witryny. Oprócz samej aktualizacji „systemu”, powinieneś również zadbać o aktualizację motywów oraz wtyczek, które używasz.
Jeżeli chcesz, aby WordPress sam się aktualizował, dodaj do pliku konfiguracyjnego wp-config.php poniższą linijkę kodu:
define(‘WP_AUTO_UPDATE_CORE’, true );
Zabezpieczenie plików na serwerze
Dla bezpieczeństwa ustaw odpowiednie uprawnienia do plików na serwerze. Uniemożliwisz hakerowi wgląd do Twoich plików i ich edycje.
Ustaw na serwerze CHMODy dla:
.htaccess – 444
wp-config.php – 400
foldery, np. wp-content – 555
pliki – 604
Plik konfiguracyjny wp-config.php zawiera najważniejsze informacje związane z Twoją stroną internetową. Jeżeli plik wp-config.php stanie się niedostępny dla osób trzecich, zwiększysz bezpieczeństwo swojej witryny. Oprócz zmiany praw do pliku możesz również przenieść go w inne miejsce, np. poziom wyżej niż katalog główny.
Zmień prefix tabeli bazy danych
Jeśli instalowałeś kiedyś WordPress†a to spotkałeś się z tym, że domyślnie instalacja sugeruje nam skorzystanie z prefixu wp_ dla naszej bazy danych. Polecam jednak zmienić ten prefix na jakiś wyjątkowy. Używanie domyślnego prefiksu naraża Twoją bazę danych na ataki SQL Injection. Jeżeli chcesz temu zapobiec –po prostu zmień prefix na jakiś inny, np. mysite2323_
Zabezpieczenie strony WordPress – Twórz regularnie backupy
Warto upewnić się czy Twój hostingodawca robi to za Ciebie – jeśli tak, to świetnie. Warto też dowiedzieć się na jakich warunkach, często usługodawcy przechowują pliki jedynie z ostatnich 24 godzin. Jeśli masz kopię zapasową, zawsze możesz przywrócić swoją witrynę do wersji do dowolnego stanu w dowolnym momencie.
Zabezpieczenie strony WordPress – Wyłącz możliwość przeglądania katalogów przez .htaccess
Wystarczy, że dodasz do .htaccess poniższą linijkę:
Options All –Indexes
Uniemożliwisz w ten sposób hakerowi przeglądanie folderów na Twoim serwerze.
Zablokuj XML-RPC
W skrócie – dzięki usłudze XML-RPC możemy zdalnie (np. za pomocą API) komunikować się z naszą stroną. Niestety możliwości, jakie daje usługa, cały czas próbują wykorzystywać hakerzy. Najpowszechniejsze oraz najczęstsze próby ataki to DDoS, które mogą obciążyć serwer oraz w dalszej konsekwencji jego blokadę przez usługodawcę.
Jak wyłączyć? Przejdź do pliku functions.php w szablonie którego używasz i dodaj poniższą linijkę kodu:
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
Ukrywanie wordpress
Twój aktualny numer wersji WordPress†a można znależć bardzo łatwo, usytuowany jest w kodzie źródłowym witryny. Jeśli hakerzy znają wersję Twojego WordPressa to łatwiej im dostosować „broń”, którą użyją przeciwko Twojej witrynie.
Wystarczy, że dodasz poniższą linijkę kodu do pliku szablonowego functions.php
function remove_version_info() {
return ”;
}
add_filter(‘the_generator’, ‘remove_version_info’);
Usuń niepotrzebne pluginy oraz motywy
Usuń wszystkie niepotrzebne motywy, których nie używasz oraz nie masz aktywowanych. Pozbądź się również dezaktywowanych wtyczek na serwerze – zrób przy okazji przegląd oraz zastanów się, czy aby na pewno danej wtyczki potrzebujesz. Generalnie im mniej wtyczek tym lepiej – dla Ciebie, dla użytkowników oraz dla Twojej strony. Pamiętaj też o tym, że WordPress nie wydaje aktualizacji wtyczek – robią to wydawcy. WordPress jedynie poinformuje Cię o tym, kiedy wydawca danej wtyczki wprowadzi aktualizację, ale jest masa wtyczek, które od dawna żadnej aktualizacji nie miały, a posiadają poważne błędy w zabezpieczeniu przez co potencjalni hakerzy chcący uzyskać dostęp do Twojej strony to wykorzystają.
Zabezpieczenie strony WordPress – podsumowanie
Mamy nadzieję, że nasze rady okazały się pomocne. Pamiętaj, aby dbać o systematyczne aktualizacje oprogramowania, wtyczek oraz pluginów. Nie korzystaj ze zbyt dużej ilości wtyczek, ponieważ im masz ich więcej, tym potencjalnie wzrasta zagrożenie.
Zabezpieczenie strony WordPress - oferta
Dla początkującego właściciela witryny WordPress być może niektóre operacje wydają się być skomplikowane, ale przynajmniej postaraj się wdrożyć część z nich. Zawsze możesz też wynająć profesjonalistów, którzy zabezpieczą Twoją witrynę. Jeśli masz jakieś pytania zamieść je w komentarzu poniżej, a postaram się odpowiedzieć na każde z nich.
Właściciel ContentNinja.pl – ponad 10 lat doświadczenia w zarządzaniu komercyjnymi projektami internetowymi. Specjalizuje się w projektowaniu stron internetowych oraz szeroko pojętym SEO. Uwielbia realizować cele biznesowe swoich klientów. Prywatnie pasjonat tenisa ziemnego i nowinek technologicznych.
Natalia
says:“Oraz w pliku functions.php, który znajduje się w głównym folderze szablony którego używamy:”
Czy ten plik nie jest nadpisywany przy aktualizacjach? I wtedy zdaje się, że to, co dopisaliśmy zostanie usunięte.
Bartosz Powichrowski
says:Jeśli korzystamy z zew. szablonu – ten plik może zostać nadpisany. Docelowo dlatego stosuje się tzw. child-theme dla szablonu – wtedy przy aktualizacjach zmiany przez nas dodane nie są nadpisywane.
Kamil
says:Kod do ukrycia wersji WordPress nie działa. Dodałem taki jak poniżej i ukryło 🙂
function remove_wp_version() {
return ”;
}
add_filter(‘the_generator’, ‘remove_wp_version’);
Kamil
says:Witam serdecznie,
Panie Bartoszu, wasze zabezpieczenie dotyczące używanej wersji WordPressa nie działa, używacie wersji 5.3.2.
Polecam napisanie bardziej rozbudowanego kodu zawierającego:
1) Usuwanie wersji z wp_head
2) Usuwanie wersji z RSS feed (https://contentninja.pl/feed/)
3) Usuwanie wersji ze skryptów i style
Pozdrawiam
Bartosz
says:Dzięki za merytoryczny komentarz – już niedługo, zgodnie z propozycją, nasz artykuł zostanie rozszerzony, a zmiany zaimplementujemy też na naszej stronie 🙂
Xylo
says:Niezły artykuł, dużo mięsa! Może coś o optymalizacji szybkości WordPress’a?
Marta
says:Dzięki ogromne za ten post!
Zanim zacznę, chciałabym dopytać o kilka rzeczy:
– czy jeśli wp był instalowany z kokpitu, a nie przez FTP, to użyto tego automatycznego loginu “amidn”? Czy dla bezpieczeństwa sklepu, który powstanie powinnam zrobić kopie tego co już stworzyłam, usunąć wp, zainstalować go przez FTP i wrzucić tam ostatnio zrobione kopie, a dopiero wtedy przejść do dodawania zabezpieczeń?
– czy przy wprowadzaniu tych fragmentów kodu, które podajesz, trzeba je dodać jako pierwszą linijkę w danym pliku, czy ma to być inne, konkretnie wyznaczone miejsce (np po jakieś konkretnej linijce kodu)?
– w jaki sposób zmienić prefix tabeli bazy danych? Będę bardzo wdzięczna za pomoc! 🙂
Pozdrawiam serdecznie!