Zabezpieczenie WordPress w wersji prawie PRO

Poleć:
Informacje o artykule: Poziom trudności: 4/44-4-80 Dostęp: Freesilver-80

W innym rozdziale omówiliśmy instalację i podstawową konfigurację tzw. wtyczki bezpieczeństwa. Usilnie jednak przypominamy, że nie wolno poprzestawać wyłącznie na zaufaniu do tego typu rozwiązania, a wręcz – powinniśmy je traktować z pełną podejrzliwością. Wtyczka może być co najwyżej uzupełnieniem szerszego procesu. Dlaczego? Szczegóły znajdziesz w tym poradniku, nie ignoruj proszę tych ostrzeżeń!

W tym rozdziale znajdziesz listę rozwiązań, które powinieneś podjąć samodzielnie, aby zwiększyć poziom bezpieczeństwa swojej witryny do akceptowalnego (idealny nigdy nie będzie). Autorzy poradnika mają pełną świadomość, że przynajmniej niektóre z tych podpowiedzi mogą wydać Ci się trudne do realizacji. Nie poddawaj się jednak, pracuj nad poszerzaniem swojej wiedzy i świadomości i staraj się wdrożyć jak największą ilość poniższych porad. Nawet, jeśli nie dasz rady zrealizować tego na początku, zaplanuj sobie możliwie jak najszybszy powrót do tego zadania.

Przyjdzie taki moment, że docenisz podjęty wysiłek. Szczególnie, gdy natrafisz na listę lub grupę, na łamach której ktoś inny będzie szukał pomocy, bo wcześniej nie zrobił tego, co – mamy nadzieję – Ty. Włamania realizowane przez naprawdę dobrych crackerów, rzadko obejmują takie serwisy, jak Twój. W przypadku ‘zwykłych’ witryn, w ponad 90% przypadków szkody przynoszą różnego rodzaju automaty, które przeszukują serwis i automatycznie próbują różnych metod. Dlatego, podjęcie n/w działań prewencyjnych, zazwyczaj będzie skuteczne.

I jeszcze jedna uwaga: potraktuj proszę poniższą listę jako wyznacznik, drogowskaz pokazujący kierunek. Każde bowiem działanie, które w przyszłości podejmiesz samodzielnie, będzie kolejnym krokiem w kierunku osiągnięcia celu. A, czym mniej typowe rozwiązanie wymyślisz i zastosujesz, tym lepszą ochronę zapewni ono Twojej stronie i większy spokój Twoim snom ;).

Checklista, czyli spis działań i dobrych metod, których należy przestrzegać, aby zwiększyć poziom bezpieczeństwa WordPress’a do akceptowalnego poziomu:

Niby banały, ale… (wielu nie chce się, a potem płacz):

  1. Świadomie wybierz dostawcę hostingu, który zapewni Ci minimum:
  • możliwie najnowszą wersję PHP,
  • wsparcie w postaci polityki backupów (kopii bezpieczeństwa),
  • separację różnych domen,
  • własne mechanizmy blokujące ataki,
  • szyfrowane połączenia FTP (SFTP),
  • łatwo dostępną pomoc,
  • cieszy się w większości dobrymi opiniami.
  1. Zadbaj, aby dane dostępowe do hostingu były trudne do odgadnięcia – stosuj różne, silne i skomplikowane loginy i hasła.
  2. Zawsze dbaj o porządek na serwerze – usuwaj niepotrzebne pliki, stosuj własną, ale czytelną strukturę dodatkowych plików, panuj nad bazami danych (tylko aktywne, odrębne, z silnymi hasłami).
  3. Nie używaj auto-instalatorów, zawsze panuj nad wszystkimi etapami procesu instalacji.
  4. Zawsze i jak najszybciej aktualizuj WordPress’a, wtyczki i motywy do najnowszych wersji.
  5. Używaj wyłącznie wtyczek i motywów, których naprawdę potrzebujesz i, które są na bieżąco aktualizowane przez twórców. Nigdy nie używaj wtyczek z niepewnych źródeł oraz nie skuś się na ofertę płatnej wtyczki/motywu za darmo.
  6. Jeżeli z czegoś już nie korzystasz – odinstaluj, usuń.
  7. Używaj wyłącznie silnych haseł oraz wymuś ich stosowanie przez wszystkie osoby, mające dostęp do kokpitu.
  8. Używaj różnych loginów i haseł (hosting ¹ WordPress ¹ htaccess ¹ nazwa bazy ¹ login bazy).
  9. Podczas instalacji, ani nigdy później nie używaj loginów w rodzaju ‘admin’, ‘administrator’, ‘root’, ‘user’, ‘test’, ‘support’, ‘nazwa-Twojego-serwisu’, ‘Twoja-domena’, itp.
  10. Podczas instalacji zmień prefiks tabel na nietypowy ciąg różnych znaków, zakończony podkreślnikiem (np.: ‘dE12k_’). Zadbaj, aby dane dostępowe do bazy były inne i również silne, stosuj różne nazwy bazy i nazwy użytkownika.
  1. Nieco większe wyzwania:
  1. Stosuj podwójne logowanie, jeśli tylko możesz. W przypadku otwartej możliwości rejestracji użytkowników, zabezpiecz w ten sposób przynajmniej część administracyjną (punkt ‘k)’ poniżej). Np. w pliku ‘.htaccess’ w katalogu głównym dodaj:

<Files wp-login.php>

       AuthType Basic

       AuthGroupFile /dev/null

       AuthName "Dostep zabroniony"

       AuthUserFile /sciezka-do-hasla/.htpasswd

       require valid-user

</Files>

  1. Jeśli nie używasz / nie ustawiłeś tego w kombajnie bezpieczeństwa – uruchom metodę, dzięki której będą blokowane próby logowania na siłę i ogranicz możliwość nieudanych prób maksymalnie do kilku. Można to zrobić na przykład za pomocą wtyczki Limit Login Attempts.
  2. Wykonuj własne kopie bezpieczeństwa i przechowuj je w bezpiecznym miejscu, poza serwisem. Rób to automatycznie i na tyle często, abyś mógł cofnąć się do akceptowalnej dla Ciebie historii.
  3. Wygeneruj i zmień klucze w pliku ‘wp-config.php’. Własny zestaw możesz uzyskać bezpłatnie np. na stronie: https://api.wordpress.org/secret-key/1.1/salt/
  4. Sprawdź uprawnienia katalogów, które powinny mieć ustawione uprawnienia 755 lub 750, a pliki 644 lub 640. Plik ‘wp-config.php’ powinien mieć 600. Uprawnienia możesz zmieniać np. korzystając z klienta FTP – w przypadku WinSCP prawoklik na pliku:

  1. Zmień lokalizację danych dostępowych do bazy. Możesz to osiągnąć np. tak:
  • w pliku ‘wp-config.php’ znajdź:

define('DB_NAME', 'xyz');

define('DB_USER', 'xyz');

define('DB_PASSWORD', 'xyz');

define('DB_HOST', 'xyz');

define('DB_CHARSET', 'utf8');

define('DB_COLLATE', '');

  • usuń i skopiuj do innego pliku np. ‘d9x00-db-config.php’:

  • a w ‘wp-config.php’, w miejsce usuniętego, umieść fragment kodu:

require_once " d9x00-db-config.php";

  1. Wyłącz możliwość edycji plików w panelu administracyjnym. Do pliku ‘wp-config.php’ dodaj następującą linię:

define('DISALLOW_FILE_EDIT', true);

  1. Jeśli nie używasz / nie ustawiłeś tego w kombajnie bezpieczeństwa – regularnie skanuj swoją stronę. Możesz użyć bezpłatnego skanera online lub np. wtyczki Sucuri Scanner. Warto również zapoznać się z listą firewalli dla aplikacji internetowych (WAF), które mogą pomóc chronić witrynę przed atakami zewnętrznymi: https://comparite.ch/best-waf
  2. Ukryj pliki, których nikt nie powinien podejrzeć. W pliku ‘.htaccess’ dopisz na początku:

<FilesMatch "wp-config.*\.php|\.htaccess|readme\.html">

Order allow,deny

Deny from all

</FilesMatch>

  1. Uruchom i wymuś używanie SSL’a, przynajmniej dla panelu administracyjnego.
  2. Ogranicz dostęp do administracji. W katalogu ‘wp-admin’ dodaj plik ‘.htaccess’ o zawartości, a przynajmniej tę pogrubioną część:

AuthType Basic

AuthGroupFile /dev/null

AuthName " Dostep zabroniony "

AuthUserFile /sciezka-do-hasla/.htpasswd

require valid-user

<FilesMatch "admin-ajax\.php|admin-post\.php">

            Order allow,deny

            Allow from all

            Satisfy any

</FilesMatch>

  1. W katalogu ‘wp-includes’ dodaj plik ‘.htaccess’ o zawartości:

<FilesMatch "\.(?i:php)$">

Order allow,deny

Deny from all

</FilesMatch>

<Files ms-files.php>

Allow from all

</Files>

<Files wp-tinymce.php>

Allow from all

</Files>

  1. W katalogu ‘wp-content/uploads/’ dodaj plik ‘.htaccess’ o zawartości:

<FilesMatch "\.(?i:php)$">

Order allow,deny

Deny from all

</FilesMatch>

  1. Śledź w Sieci informacje dot. bezpieczeństwa WordPress’a i staraj się wyciągać z nich wnioski.

 

Przykłady narzędzi online do generowania haseł .htaccess:

 

Udostępnij:

Dodaj komentarz

Zgoda na cookies. (info)

Aby zapewnić Tobie najwyższy poziom realizacji usługi, opcje ciasteczek na tej stronie są ustawione na "zezwalaj na pliki cookies". Kontynuując przeglądanie strony bez zmiany ustawień lub klikając przycisk "Akceptuję" zgadzasz się na ich wykorzystanie.

Zamknij