Bezpieczeństwo panelu administracyjnego WordPress

Coraz częściej użytkownicy aplikacji WordPress narażeni są na próby przechwycenia danych oraz włamań, głównie do panelu administracyjnego wp-admin. Bieżące aktualizacje i dodatki do CMS WordPress zazwyczaj radzą sobie z zabezpieczeniem naszej strony WWW przed popularnymi zagrożeniami, które wynikają z popularności systemu WordPress. Warto jednak zastanowić się nad dodatkowym zabezpieczeniem naszej strony WWW, która oparta jest o CMS WordPress.

Dodatkowa ochrona panelu administracyjnego WordPress może być realizowana poprzez:

 

Zachowanie bezpieczeństwa strony WWW to fundamentalna zasada jej tworzenia oraz udostępniania w sieci.

Prosta obsługa i dostępność popularnych systemów zarządzania treścią (np. WordPress), spowodowały że utworzenie strony internetowej pozostaje kwestią minut. Popularność systemu CMS sprawia także, że staje się on ulubionym celem, np. hakerów. O ile duża część użytkowników wprowadza dodatkowe zabezpieczenia, większość nadal korzysta z podstawowych ustawień aplikacji, co powoduje, że wystawieni są na różnego rodzaju ataki, które wykorzystują sprawdzone luki w bezpieczeństwie systemu.

Czy powinieneś się bać ataku na swoją stronę? Nie ma 100% gwarancji, że Twoja strona, czy to wizytówka czy portal społecznościowy liczący miliony użytkowników, nie zostaną zaatakowane. Warto jednak zadbać o bezpieczeństwo na etapie tworzenia strony, niż po jej uszkodzeniu.

Fundamentalną zasadą jest przede wszystkim utrzymywanie i wykonywanie kopii zapasowych. Na ich podstawie będziesz w stanie nie tylko przywrócić stronę WWW, ale i zidentyfikować ewentualne zmiany, jakie zostały wykonane podczas ataku.

Kliknij tutaj, aby przeczytać o zabezpieczaniu panelu administracyjnego systemu CMS Joomla i metodach zabezpieczenia panelu administracyjnego.

Ograniczenie dostępu do panelu z jednego adresu IP

Najpopularniejszym i zarazem najprostszym sposobem zabezpieczenia panelu administracyjnego CMS WordPress jest ograniczenie dostępu do niego, tylko dla połączeń z danego adresu IP.

Przed wykonaniem tej konfiguracji, warto upewnić się, że przydzielony nam adres IP jest stały. Takie informacje uzyskasz od dostawcy Internetu. W przypadku zmiennego adresu IP, jego aktualizację wykonasz modyfikując regularnie plik .htaccess lub dodając pulę adresów IP (jest to mniej bezpieczne rozwiązanie).

Aby ograniczyć dostęp do katalogu tylko dla jednego adresu IP, w pliku .htaccess umieść poniższe dyrektywy:

AuthName "Example Access Control"
AuthType Basic

order deny,allow
deny from all
allow from 46.242.149.10

Zamiast adresu “46.242.149.10” wpisz adres IP, który ma mieć dostęp do panelu administracyjnego wp-admin. Przygotowany w ten sposób plik .htaccess należy umieścić w katalogu wp-admin.

Kliknij tutaj, aby dowiedzieć się więcej o tworzeniu i możliwościach zastosowania pliku .htaccess.
WAŻNE! Plik .htaccess z powyższą dyrektywą należy umieścić w podkatalogu /wp-admin/. W miejsce adresu “46.242.149.10” wpisujemy nasz stały publiczny adres IP. Jeśli masz wątpliwości, czy dostawca Internetu przydzielił Ci stały adres IP, skontaktuj się z nim w celu ustalenia szczegółów.

BasicAuth, czyli podwójne logowanie do zaplecza strony

W zależności od naszych możliwości i potrzeb, możemy rozszerzyć utworzony wcześniej plik .htaccess o dodatkowe wymuszanie autoryzacji dodatkowym loginem i hasłem.

Stosując podwójną autoryzację, w pierwszej kolejności wywołanie panelu administracyjnego, skutkować będzie prośbą “od serwera” o podanie uprawnień dostępu do katalogu /wp-admin, dopiero po pierwszej autoryzacji nastąpi wywołanie okna logowania do panelu wp-admin, gdzie podajesz właściwe dane dostępowe do konta administratora w WordPress.

W ten sposób możemy ograniczyć dostęp do panelu administratora i wszystkich jego plików nie tylko z jednego adresu IP (jak podaliśmy w poprzednim punkcie), ale także za pomocą dodatkowego loginu i hasła dostępu (przydatne, jeśli w jednej sieci na jednym adresie IP pracuje więcej niż jeden użytkownik).

Aby wprowadzić dodatkowe okno autoryzacji (z osobnym loginem i hasłem), utwórz lub edytuj plik .htaccess w katalogu /wp-admin. W pliku .htaccess umieścić poniższe dyrektywy:

AuthType Basic
AuthName "Wymagana autoryzacja:"
AuthUserFile .htpasswd
Require valid-user

Następną wymaganą czynnością jest utworzenie pliku .htpasswd, który będzie zawierał nazwy użytkowników oraz ich hasła dostępu. Zawartość pliku .htpasswd tworzy się według poniższego schematu:

nazwa_uzytkownika:hasło_dostępu

Odpowiednie loginy i hasła do pliku .htpasswd możesz zakodować pod tym adresem. Pamiętaj, aby na podanej stronie wybrać algorytm kodowania o nazwie crypt(). Więcej informacji na temat pliku .htpasswd w home.pl możesz przeczytać pod tym adresem.

W powyższym przykładzie „hasło_dostępu” jest odpowiednio zakodowane algorytmem crypt(). Przykładowo dla użytkownika „kowalski” i hasła „haslodostepu”, plik .htpasswd powinien mieć poniższą zawartość:
kowalski:OUAjBiIAMyfvg

Oba pliki .htaccess oraz .htpasswd umieść w katalogu /wp-admin na serwerze FTP w katalogu ze stroną internetową. Pamiętaj, aby podczas kodowania hasła wybrać algorytm kodowania o nazwie crypt(). Efektem powyższych działań, będzie każdorazowe pojawienie się dodatkowego okna logowania podczas uruchamiania panelu administracyjnego WordPress.

WAŻNE! Zadbaj o to, aby login i hasło do obu autoryzacji (.htpasswd oraz panelu WP) różniły się od siebie. W ten sposób skutecznie zwiększysz poziom bezpieczeństwa Twojej aplikacji CMS.

Dodatkowy plik index.html w katalogu /wp-admin

Podczas wywoływania panelu administracyjnego WordPress, zwykliśmy wpisywać adres w postaci: www.domena.pl/wp-admin. Wywołanie tego adresu powoduje uruchomienie pliku index.php, tj. www.domena.pl/wp-admin/index.php. Plik znajduje się w katalogu /wp-admin i jest odpowiedzialny za wywołanie konsoli logowania.

Warto w tej sytuacji przypomnieć, że w pierwszej kolejności na serwerach hostingu współdzielonego, o ile nie zostały wprowadzone ręczne zmiany w konfiguracji, wywoływane są pliki .html, np. index.html, dopiero w następnej kolejności będą to pliki index z rozszerzeniem .php

Jeśli do katalogu /wp-admin wprowadzimy dodatkowy pusty plik index.html (czyli bez zawartości), to wywołanie domyślnego adresu www.domena.pl/wp-admin, spowoduje wyświetlenie tylko białej strony. Aby w dalszym ciągu móc zalogować się do panelu administracyjnego wp-admin, konieczne będzie ręczne wpisanie adresu w postaci: www.domena.pl/wp-admin/index.php

Powyższe rozwiązanie raczej nie będzie skuteczne w przypadku ataku aplikacji/robota, może jednak skutecznie zniechęcić potencjalnego nowiciujsza, który odkryje w takim działaniu błąd aplikacji i zaniecha dalszych prób “zgadywania” loginu i hasła do panelu administracyjnego.

Jeśli dodatkowo zamiast białej strony chcielibyśmy przekierować użytkownika z adresu www.domena.pl/wp-admin na inny adres, to możemy w pliku index.html dodać poniższy wpis, gdzie zamiast adresu “mojadomena.pl” należy podać adres URL, na który użytkownik ma zostać przekierowany.

 <meta http-equiv="refresh" content="0;url=http://mojadomena.pl">
Więcej na temat definiowania ustawień strony startowej w htaccess znajdziesz pod tym adresem.

Dodatek do WordPress iThemes Security (Better WP Securit)

Innym sposobem zabezpieczenia panelu administracyjnego jest instalacja odpowiednich dodatków, np. rozszerzenia  iThemes Security, które można pobrać ze strony http://wordpress.org/plugins/better-wp-security/. Jedną z możliwości rozszerzenia  iThemes Security jest ochrona panelu administracyjnego przed atakami typu “Brute-force”.

Dodatkowo rozszerzenie “Better WP Security” umożliwia m.in.:

  • zmianę domyślnego użytkownika admin,
  • cyklicznie wykonywanie kopii zapasowej bazy danych,
  • zmiana nazwy przedrostka w tabeli MySQL,
  • ochrona przed Botami,
  • wprowadza dodatkowe zabezpieczenia podczas logowania, np. kody SMS,
  • zabezpieczenia typu ReCaptcha,

Z pełną listą możliwości rozszerzenia zapoznasz się na stronie http://wordpress.org/plugins/better-wp-security/ .

Warto także zweryfikować działanie podobnych wtyczek, dostępnych bezpłatnie lub odpłatnie w sieci Internet. W przypadku korzystania z mniej wiarygodnych i nieaktualizowanych wtyczek, może się okazać, że w przypadku ataku na stronę WWW rozszerzymy tylko obszar jaki może być wzięty za cel przez intruza. Stanie się tak właśnie za sprawą dodatkowych plików wtyczki, które mogą zawierać niezaktualizowane luki bezpieczeństwa.

Dlatego niezależnie czy zdecydujecie się na korzystanie z samego WordPressa, czy także z dodatków zwiększających jego bezpieczeństwo, zawsze sprawdzajcie dostępne aktualizacje.

Usuń informacje o wersji WordPress jaką używasz

W nagłówku strony utworzonej w CMS WordPress zapisywane są między innymi informacje o wersji używanej przez nas aplikacji. Znaczenie tej informacji jest takie, że wprawiony użytkownik jest w stanie szybko odszukać wszystkie informacje dotyczące potencjalnych dziur w zabezpieczeniach oraz sprawdzonych sposobów na ingerencję w stronę WWW.

Usunięcie tej informacji nie zwalnia nas z regularnych aktualizacji oprogramowania. I odwrotnie.

Informacje dotyczące wersji systemu WordPess odnajdziesz w pliku functions.php, który znajduje się w katalogu skórki. Dodaj do tego pliku poniższy kod, aby usunąć informacje o używanej wersji oprogramowania:

<?php remove_action('wp_head', 'wp_generator'); ?>

W zależności od używanej skórki, informacje o wersji WordPress mogą być często dostępne także w pliku header.php. W tym wypadku, po prostu skasuj  w tym pliku poniższy wpis:

<meta name=“generator” content=“WordPress <?php bloginfo(’version’) ?>” />

Login Admin – statystycznie najczęściej atakowany

Najczęściej wybieranym loginem do jakiegokolwiek systemu jest słowo admin lub twoje imię.nazwisko. Jeśli więc przyjmiemy, że robot lub człowiek, który będzie chciał złamać hasło dostępu, zacznie swoje próby złamania hasła dostępu od loginu admin. W praktyce oznacza to, że intruz statystycznie zna login do większości systemów. Pozostaje mu tylko zdobyć hasło.

Wychodząc od tej krótkiej informacji radzimy, aby nie ustawiać loginów, ale także haseł, które są logicznym ciągiem znaków, popularnymi słowami lub domyślnymi wartościami proponowanymi przez system. Każda modyfikacja tych danych, np. przez przestawienie znaków lub dodanie własnych znaków specjalnych, spowoduje że złamanie naszych danych dostępowych będzie o wiele trudniejsze!

Ochrona komputera (oprogramowanie antywirusowe)

Działania zmierzające do ochrony komputera, to przede wszystkim stosowanie programów antywirusowych, np. Kaspersky Internet Security oraz korzystanie ze sprawdzonych klientów FTP/SSH. Warto także pamiętać o nie zapisywaniu haseł bezpośrednio w pamięci aplikacji (np. klientów FTP).

Te pozornie proste i błahe metody są często pomijane w ochronie stron WWW, poczty i swoich danych, tymczasem warto pamiętać, że posiadanie wirusa czy innego programu szpiegującego na komputerze, może łatwo doprowadzić do wycieku naszych danych w tym loginów i haseł.

WAŻNE! W ramach oferty home.pl możesz skorzystać z usługi SiteLock, czyli rozwiązania dla klientów, którzy chcą zabezpieczyć swoją stronę WWW przed atakami hakerów, jak i również „wyleczyć” ją, kiedy ta zostanie już zainfekowana złośliwym oprogramowaniem. Usługa SiteLock działa bezpośrednio na serwerze, na którym znajduje się strona WWW. Możesz także zakupić oprogramowanie antywirusowe firmy Kaspersky, które gwarantuje kompleksową ochronę antywirusową oraz bezpieczeństwo w Internecie. Kliknij tutaj, aby dowiedzieć się więcej o konfiguracji w/w usługi i oprogramowania.

Jeśli już zrealizowaliśmy pierwszy punkt, instalując odpowiednie oprogramowanie ochraniające komputer, nie zapominajmy mimo wszystko o właściwym przechowywaniu danych dostępowych:

  • nie zapisujemy ich w notatniku i nie umieszczamy na Pulpicie, korzystamy z menadżerów haseł, np. darmowego KeePass lub Kaspersky Password Manager (Android),
  • unikamy zapamiętywania loginów i haseł w przeglądarce lub innych aplikacjach jak np. klient FTP, SSH,
  • regularnie aktualizujemy hasła i pamiętamy o stosowaniu wielu, różnych znaków, niekoniecznie układających się w logiczną całość.
Kliknij tutaj, aby dowiedzieć się więcej o budowie silnego i bezpiecznego hasła.
  • Czy artykuł był pomocny?
  • TAK   Nie
Tematy powiązane
Więcej informacji na forum dyskusyjnym:   Kliknij tutaj, aby przejść na forum.home.pl