UczymyOnline - 20 sposobów na zabezpieczenie strony WP cz.2.
20 sposobów na zabezpieczenie strony opartej o CMS WordPress cz.2.

20 sposobów na zabezpieczenie strony opartej o CMS WordPress cz.2.

Na bezpieczeństwo WordPressa składa się wiele czynników – nie chodzi tu tylko o instalację dedykowanych wtyczek, ale też przestrzeganie sprawdzonych reguł polityki bezpieczeństwa, które dotyczą dowolnej strony internetowej. W poprzedniej części poznałeś 10 sposobów na zabezpieczenie strony opartej o CMS WordPress – dzisiaj kolejnych dziesięć.

11. Ogranicz dostęp dla użytkowników.

Im więcej osób ma dostęp do Twojej witryny tym mniejszy poziom zabezpieczenia. Dobrą praktyką jest przyznanie praw dostępu tylko tym osobom, którym faktycznie jest to niezbędne. Każdy użytkownik powinien mieć takie uprawnienia, które pozwolą mu wykonywać jego czynności i nic ponadto.

12. Ogranicz liczbę prób logowania.

Typowy atak hakera polega na podejmowaniu sekwencyjnych prób odgadnięcia nazwy użytkownika i hasła. Jeśli nie ograniczysz liczby nieudanych prób logowania do swojego systemu, haker może w sposób ciągły i zorganizowany próbować zalogować się na stronie – oczywiście do momentu, aż złamie nasze dane. Możesz skorzystać z pluginów, które właśnie ograniczą liczbę prób logowania z danego adresu IP w określonym przedziale czasowym. Działa to w taki sposób, że jeżeli użytkownik nie poda np. za trzecim razem właściwych danych logowania nie będzie mógł ponowić kolejnej próby przez określony czas.

13. Sprawdź autentyczność motywu i nie instaluj motywów Premium pochodzących z nielegalnego źródła

Zainstaluj specjalny skaner, który będzie wychwytywać złośliwy kod w oprogramowaniu. Podobnie jak instalujesz oprogramowanie antywirusowe na swoim komputerze – tak samo na WordPressie możesz skanować pliki. Popularne w tym temacie mogą być: Sucuri Sitecheck, CodeGuard lub iThemes Security. Motywy występujące w repozytorium WordPressa występują zwykle też w wersji Premium. Jeśli ktoś udostępnia szablon Premium za darmo (na stronie, która w żaden sposób nie jest powiązana z twórcami motywu) jest niemal pewne, że ktoś w nim już umieścił złośliwy kod. Instalując oprogramowanie z wbudowanym kodem hakera może sobie totalnie zniszczyć system. Pokusa zdobycia czegoś za darmo może nas w rezultacie sporo kosztować. Nie ryzykuj tylko po to żeby oszczędzić parę złotych.

14. Zablokuj edytor wtyczek i motywów

Niezmiernie rzadko zdarza się, aby developer wprowadzał modyfikacje kodu wtyczki lub szablonu bezpośrednio w edytorze Panelu Administracyjnego. Szczególnie jeśli zmiany wprowadzane są w środowisku produkcyjnym. Dobrym zabiegiem w zabezpieczeniu WordPress’a jest wyłączenie wbudowanego edytora. W razie włamania, haker który zaloguje się do systemu będzie miał  (z pomocą edytora…) możliwość modyfikacji plików należących do określonej wtyczki lub szablonu. Jeśli więc nie korzystasz regularnie z edytora kodu, po prostu wyłącz go. W pliku wp-config . php umieszczasz następujący kawałek kodu:

define( 'DISALLOW_FILE_EDIT', true );

15. Włącz automatyczną aktualizację dla niektórych wtyczek i szablonów

Uwaga! Ta opcja nie jest dla każdego i należy postępować z rozwagą. Domyślnie włączone są automatyczne aktualizacje dotyczące nowych funkcjonalności oraz bezpieczeństwa silnika WordPress, a także pliki tłumaczeń. Dodatkowo istnieje jeszcze możliwość włączenia automatycznych aktualizacji wtyczek i motywów. Wystarczy zdefiniować odpowiednie filtry :

add_filter( 'auto_update_plugin', '__return_true' );

Odpowiednio dla motywów:

add_filter( 'auto_update_theme', '__return_true' );

Lepszym rozwiązaniem może okazać się włączenie automatycznych aktualizacji dla określonych wtyczek:

function auto_update_myplugins ( $update, $item ) {
    $plugins = array ( 
        'jetpack',
        'wpclef',
    );
    if ( in_array( $item->slug, $plugins ) ) {
        return true; 
    } else {
        return $update; 
    }
}
add_filter( 'auto_update_plugin', 'auto_update_myplugins', 10, 2 );

WordPress.org zaleca, aby definicja filtrów zawarta była w tzw. wtyczce must-use. Nigdy nie umieszczaj filtrów w pliku wp-config . php!

16. Ukrywaj nazwy użytkowników

Bardzo łatwo jest sprawdzić nazwę użytkownika administratora wpisując w przeglądarce http://mojastrona/?author=1. Można się jednak przed tym zabezpieczyć wpisując w pliku funtions . php następujący kod:

add_action('template_redirect', 'bwp_template_redirect');
function bwp_template_redirect() {
if (is_author())
{
wp_redirect( home_url() );
exit;
}
}

Ktokolwiek wpisze w przeglądarce ?author=1 zostanie przekierowany na stronę główną. Przykłady skryptów dotyczących też innych zapytań można znaleźć na stronie BetterWP.

17. Śledź aktywność użytkowników

Jeśli jesteś jedynym użytkownikiem swojej platformy – sprawa nie jest skomplikowana. Jeśli jednak masz dość dużo zarejestrowanych użytkowników warto wgrać narzędzia, które pozwolą Ci śledzić ich poczynania w systemie. Pomocną wtyczką może okazać się WP Security Audit Log, która pokaże Ci dokładnie kiedy użytkownik się logował, czy edytował post, czy wgrywał pliki itd. W ustawieniach możesz włączyć/wyłączyć określone informacje które mają się pojawiać się w systemie.

18. Schowaj stronę logowania

Strona logowania to najczęściej oblegana przez hakerów podstrona danej witryny. Chowając ją, utrudnimy im trochę pracy i uniemożliwimy wykonywanie automatycznych skryptów mających na celu złamanie naszego hasła. W typowej instalacji WordPressa możemy się dostać do strony logowania wpisując w oknie przeglądarki http://mojastrona/wp-login . php lub http://mojastrona/wp-admin. Istnieją wtyczki, które pozwolą modyfikować domyślne ścieżki logowania i np. zamiast http://mojastrona/wp-login . php można logować się ze strony http://mojastrona/mojelogowanie/. Jedną z takich wtyczek jest Custom Login URL, która pozwoli dostosować domyślną stroną logowania WordPressa, stronę z rejestracją użytkowników czy stronę z przypominaniem hasła bez potrzeby modyfikowania jakichkolwiek plików w systemie.

19. Nie pokazuj błędów PHP

Osoba niepowołana nie powinna widzieć błędów kodu na stronie. Od razu widzi z jakim plikiem ma do czynienia, jak wygląda fizyczna ścieżka do tego pliku, której linijki dotyczy błąd, z jakiej funkcji korzystamy itp. Jest to tylko przydatne dla administratora systemu, ale niekoniecznie dla całego świata. Dlatego jeśli błędy nie są systemowo wyłączone w pliku php . ini, musisz dodać następującą linijkę w wp-config . php:

error_reporting(0);
@ini_set(‘display_errors’, 0);

20. Zabezpiecz pliki z .htaccess

Plik .htaccess stanowi istotny element odpowiedzialny za funkcjonowanie systemu WordPress. Przy pomocy tego właśnie pliku możemy określić strukturę linków bezpośrednich oraz definicje bezpieczeństwa. Możesz umieszczać własny kod w pliku .htaccess, musisz tylko pamiętać żeby nie ruszać niczego pomiędzy liniami #BEGIN WordPress and #END WordPress, gdyż możesz zepsuć prawidłowe wyświetlanie strony.

Na początek warto ukryć plik konfiguracyjny wp-config . php gdyż zawarte są w nim dane dla połączenia z bazą i kluczowe ustawienia instalacji WordPress. W pliku .htaccess musisz tylko wpisać następujący fragment kodu:

<files wp-config>
order allow,deny
deny from all
</files>

W bardzo podobny sposób bronisz dostępu do pliku wp-login . php. Możesz też w podobny sposób zabezpieczyć dowolny katalog przed niepowołanym dostępem. Wystarczy w określonym katalogu umieścisz plik .htaccess, a w nim następujący wpis:

order deny,allow 
allow from 10.0.0.9

Podajesz tylko swój adres IP, z którego się łączysz i w ten sposób już możesz zabezpieczyć dostęp do wybranego katalogu, np. wp-admin. Możesz w ten sposób określić dostęp z pojedynczego adresu lub grupy adresów IP. Warto też zablokować możliwość przeglądania katalogów. Zwykle w konfiguracji serwera WWW jest to włączone, jeśli jednak nie to możesz użyć następującej definicji:

Options All -Indexes

 A Ty w jaki sposób dbasz o bezpieczeństwo swojej strony WordPress?

1 komentarz o “20 sposobów na zabezpieczenie strony opartej o CMS WordPress cz.2.”

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany.

Privacy Policy Settings