jak zabezpieczyć wordpress

Tym razem będzie o zabezpieczaniu, ale spokojnie – nie będę prawić tutaj morałów na temat współżycia : P Mowa będzie o zabezpieczaniu strony na WordPress przed włamaniami, atakami brute force, malware i innymi świństwami, które mogą nam wleźć na stronę. Jak w życiu tak i kwestiach bezpieczeństwa WP nie ma 100% ochrony, ale można zniwelować ryzyko stosując się do kilku zasad, które opiszę poniżej.

Od razu na wstępie mówię, że nie będzie nic na temat wtyczek – no może kilka słów, ale nie w kontekście jakich używać. Jakiś czas temu na jednej z grup zostałam za to nieco zlinczowana, że jak to tak bez wtyczek. Ano tak to. Każda wtyczka to potencjalne zagrożenie – szczególnie jak się instaluje “dla testów” wtyczki z mało legalnych źródeł, albo chociażby nie aktualizuje wtyczek na bieżąco. Dużo osób poleca Wordfence – niby fajna, ale jakiś czas temu miała dziury i zamiast chronić, wpuszczała “szkodniki” na stronę. Tak, więc mam do niej ograniczone zaufanie 😉

No to czas na bezwtyczkowe sposoby na zwiększenie bezpieczeństwa strony postawionej na systemie WordPress. Z pewnością nie wyczerpię tematu, ale liźniecie nieco podstaw, dzięki którym Wasza strona stanie się bezpieczniejsza.

ODPOWIEDNIO DOBIERAMY HOSTING

Poczytajcie opinie o hostingach pod względem ich bezpieczeństwa. Współdzielone hostingi, w których do tego nie ma separacji serwisów, mają to do siebie, że łatwo pomiędzy stronami mogą przechodzić różne świństwa. Warto więc rozważnie wybrać hostingodawcę 🙂

NIE UŻYWAMY LOGINU ADMIN

Jaki jest najczęściej wybierany podczas instalacji WordPressa (zresztą nie tylko WordPressa) login? admin. Jakiego loginu jako pierwszego przy włamaniu na stronę próbuje haker? admin. Jaki z tego morał? Stosować mniej oczywistą nazwę użytkownika, który ma uprawnienia administratora.

STOSUJEMY SKOMPLIKOWANE HASŁA

Bardzo często by łatwo zapamiętać stosujemy banalne hasło jak qwerty123. Głupota. W połączeniu z niemniej ambitnym loginem admin otwieramy drzwi na oścież hakerom. Nie żartuję. Kiedyś obserwowałam sobie (haa w Wordfence)  jak jakieś ruskie raz za razem próbowały wleź na stronę wpisują zestawienie admin / qwerty123, admin / aaa123. Tak, więc wybierajcie bardziej skomplikowane hasła, najlepiej by zawierały i wielki i małe litery, a także znaki specjalne i liczby. Jeszcze jednak uwaga – nie dawajcie tego samego hasła do panelu WordPress, do bazy danych, jako hasło do ftp lub innego powiązanego z Waszą witryną miejsca. I ostatnia rada związana z hasłami – do wszystkich miejsca powiązanych ze stroną dawajcie trudne hasła. Aaa i jeszcze jedno – to już ostatnie – nie zapisujcie haseł w przeglądarce 😉

AKTUALIZUJEMY MOTYWY, WTYCZKI I SAMEGO WORDPRESSA

Często o tym zapominamy, choć jak byk po wejściu w panel WP widać komunikaty o nie zaktualizowanych elementach strony. Kliknijcie te aktualizacje. To zajmuje kilka minut, a może Wam uratować tyłek. UWAGA: przed przystąpieniem do aktualizacji warto sobie zrobić backup strony – są sytuacje, że coś może pójść nie tak, szczególnie jak dłuższy czas się czegoś nie aktualizowało i nagle przeskoczyć chce się kilka wersji wyżej.

USUWAMY NIEUŻYWANE I ZBĘDNE WTYCZKI ORAZ MOTYWY

Często testujemy różne motywy i wtyczki, które potem sobie leżą nieaktywne lub aktywne, ale i tak nieużywane. Zróbcie przegląd zbędnych dodatków i usuńcie niepotrzebne. Będzie i bezpieczniej i lżej, a przy okazji zrobi się więcej miejsca na serwerze 🙂

KORZYSTAMY WYŁĄCZNIE Z ZAUFANYCH ŹRÓDEŁ WTYCZEK I MOTYWÓW

Nie instalujcie wtyczek / motywów z przypadkowych źródeł, tym bardziej nielegalnych. Pomijając aspekt prawny, wiele takich dodatków zawiera w bonusie wirusy.

WYŁĄCZAMY MOŻLIWOŚĆ REJESTRACJI PRZYPADKOWYCH OSOBNIKÓW

Jeśli nie jest Ci potrzebna opcja rejestracji użytkowników – wyłącz ją. Można tego dokonać w Ustawienia – Ogólne i podpunkt Członkostwo.

INSTALUJEMY CERTYFIKAT SSL

SSL to nie tylko zielona kłódeczka – on realnie zwiększa bezpieczeństwo danych przesyłanych za pomocą strony www. O tym jak zainstalować certyfikat SSL w WordPress pisałam w artykule https://sylwiastein.pl/wordpress/jak-dodac-certyfikat-ssl-w-wordpress/

 

A teraz wyższa szkoła jazdy…. 😉

USTAWIAMY INNY PREFIX DLA TABEL W BAZIE DANYCH NIŻ TEN STANDARDOWY

Standardowy prefix bazy danych to wp_ – można to zobaczyć w pliku wp-config.php. Podczas instalacji WordPressa (później też się da, ale to już bardziej skomplikowane) warto zamiast wp podać własny zlepek liter, które będą stanowił prefix naszej bazy.

GENERUJEMY WŁASNE KLUCZE ZABEZPIECZAJĄCE DANE PRZECHOWYWANE W CIASTECZKACH

W pliku wp-config.php zawarte są również klucze zabezpieczające dane przechowywane w ciasteczkach. Chodzi o coś takiego:

zabezpieczanie wp

Własne klucze można wygenerować tutaj: https://api.wordpress.org/secret-key/1.1/salt/

PRZENOSIMY DANE BAZY

Skoro jesteśmy w pliku wp-config.php to szukamy fragmentu:

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’, ”);

i kopiujemy je do innego pliku – przykładowo wp-config-data.php a następnie w pliku wp-config.php dodajemy

require_once “wp-config-data.php”;

UKRYWAMY BŁĘDY

Nadal zostajemy w pliku wp-config.php. Szukamy teraz

define(‘WP_DEBUG’, false);

i zamieniamy ten fragment na:

define(‘WP_DEBUG’, false);

if ( ! WP_DEBUG ) {
ini_set(‘display_errors’, 0);
}

INNA NAZWA BAZY DANYCH I JEJ UŻYTKOWNIKA

Dobrze jest dla bazy danych i dla użytkownika wybrać różne nazwy o ile jest taka możliwość. Niestety są hostingi, które nam narzucają dwie te same nazwy, wtedy no trzeba to przeboleć i przynajmniej wybrać skomplikowane hasło 😉

WYŁĄCZAMY MOŻLIWOŚĆ EDYCJI PLIKÓW MOTYWU I WTYCZEK PRZEZ PANEL WORDPRESS

Standardowo w WordPressie dostępna jest możliwość edytowania plików motywu oraz wtyczek bezpośrednio z panelu tzw. Edytor. Jako, że do panelu WP łatwiej się zwykle włamać aniżeli na hosting to warto wyłączyć tę opcję. Można tego dokonać w pliku wp-config.php dopisując do niego o taki fragment “krzaczków”:

define(‘DISALLOW_FILE_EDIT’, true);

USUWANY INFORMACJE O WERSJI WORDPRESSA

Żeby ukryć wersję WP, której używamy wystarczy w pliku functions.php dodać taki oto fragment kodu:

function remove_version_info() {

return ”;

}

add_filter(‘the_generator’, ‘remove_version_info’);

remove_action(‘wp_head’, ‘wp_generator’);

BLOKUJEMY DOSTĘP DO PLIKU wp-login.php

Najprostsza metoda zabezpieczenia tegoż pliku to dodanie w .htaccess takie cuda:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://(.*)?.nasza-domena.pl [NC]
RewriteCond %{REQUEST_URI} ^/wp-login\.php(.*)$
RewriteRule ^(.*)$ – [R=403,L]
</IfModule>

BLOKUJEMY DOSTĘP DO PLIKU xmlrpc.php

Plik ten jest drugim w kolejności, który jest najczęściej atakowany (pierwszy to wp-login.php). Jeśli nie korzysta się z interfejsu XML-RPC to można go całkowicie zablokować dodając w .htaccess:

<files xmlrpc.php>
order deny,allow
deny from all
</files>

BLOKUJEMY DOSTĘP DO KOLEJNYCH PLIKÓW

Są pliki, do których nikt z zewnątrz nie powinien mieć nigdy dostępu. Nie będę ich omawiać, ale podam Wam “krzaczki”, które należy wpisać w pliku .htaccess

<FilesMatch “wp-config.*\.php|\.htaccess|readme\.html”>
   Order allow,deny
   Deny from all
</FilesMatch>

WŁĄCZAMY ZABEZPIECZENIA DLA wp-includes

W katalogu wp-includes tworzymy plik .htaccess i dodajemy do niego

<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ŁĄCZAMY ZABEZPIECZENIA DLA wp-content

W katalogu wp-content tworzymy plik .htaccess i dodajemy do niego

<FilesMatch “\.(?i:php)$”>
Order allow,deny
Deny from all
</FilesMatch>

UWAGA: mogą przestać działać niektóre wtyczki, czasem i motywy więc koniecznie przetestujcie jak jest u Was

SPRAWDZAMY UPRAWNIENIA DO KATALOGÓW

Jeśli nic nie grzebaliście w uprawnieniach to nie powinno być tutaj nic do zrobienia. Standardowy schemat uprawnień wygląda mniej więcej tak:

  • katalog główny / – 644
  • /wp-admin – 644
  • /wp-includes – 644
  • /wp-content/uploads – 755

DWUSTOPNIOWE LOGOWANIE DO PANELU WORDPRESS

Niektóre hostingi jak np. atthost czy superhost umożliwiają włączenie dodatkowego okienka logowania przed wejściem w panelu WordPressa. Jeśli nie macie takiej możliwości w panelu można to zrobić na piechotę – jeśli będziecie ciekawi jak to dajcie mi znać 🙂

Inną opcją zabezpieczenia panelu WordPress jest zmiana ścieżki do logowania z wp-admin na inną, bardziej zaskakującą. Są osoby to praktykujące, gdzieś jednak wyczytałam, że takie rozwiązanie generuje niepotrzebne przekierowania obciążające serwis.

 

Dodatkowe środki bezpieczeństwa

WYKONUJ CODZIENNIE BACKUPY

Backupy są ważne nie tylko wtedy, gdy coś psujecie. Warto je robić na bieżąco by w razie wstrzyknięcia złośliwego kodu lub innego ustrojstwa mieć z czego przywrócić stronę.

KORZYSTAJ Z ANTYWIRUSA

Logując się przez FTP możesz przenieść “syf” ze swojego komputera na stronę. Warto więc zainstalować sobie antywirusa i systematycznie “przelecieć” nim komputer i usunąć ewentualne wirusy.

 

To tyle mojego gderania – działajcie 🙂 W razie problemów zapraszam na grupę – Biznes Bliższy Kobiecie 🙂

Share: