Aktualnie stronę internetową może posiadać każdy. Mnogość rozwiązań oferowanych w internecie pozwala stworzyć witrynę nawet początkującym użytkownikom. Niestety, wraz z rozwojem technologii, w sieci pojawia się coraz więcej pułapek i zagrożeń czyhających na właścicieli serwisów internetowych. Czy zabezpieczenie WordPress jest możliwe? Jak go dokonać?
Dlaczego WordPress jest narażony na ataki?
WordPress jest od dawna najpopularniejszym systemem CMS na świecie. Jak widzimy na poniższej grafice obsługuje on ponad 62% wszystkich stron opartych o jakikolwiek System Zarządzania Treścią. Dodatkowo – o WordPress jest opartych 35% wszystkich stron w internecie!
Łatwość obsługi, mnogość darmowych rozwiązań, duże możliwości dla developerów – wszystkie te zalety przyczyniły się do jego popularności. Jednak WordPress – tak samo jak każdy system informatyczny – wymaga opieki, a zaniedbanie go może być fatalne w skutkach dla Twojej strony. Więcej na ten temat przeczytasz w jednym z poprzednich wpisów na temat opieki nad stroną opartą o WordPress.
Zabezpieczenie WordPress – zacznij od serwera.
Podstawowym zagadnieniem jest wybór bezpiecznego hostingu. Duża część udanych ataków na strony internetowe wynika z luk w zabezpieczeniach serwera. Jaki hosting zatem wybrać? Przy wyborze zwróć uwagę na:
- Wersję języka PHP obsługiwaną przez serwer.
- Dostępność Supportu (najlepiej 24/7).
- Kopie bezpieczeństwa.
- Dostępność połączenia SFTP.
- Zapewnienie mechanizmów blokujących ataki DDoS.
- Opinie użytkowników na temat dostawcy usług 🙂
We własnym zakresie zadbaj o swój serwer.
Najlepszy serwer nie uchroni przed atakiem, jeśli nie zadbasz o trudny do „zgadnięcia” login oraz mocne hasło do panelu użytkownika. Pamiętaj też, że Twój serwer to nie śmietnik. Nie traktuj go jak chmury do przechowywania plików, jeśli obok umieszczona jest Twoja strona. Zadbaj o odpowiednią strukturę katalogów, odseparuj od siebie domeny (jeśli posiadasz kilka).
Kolejną ważną sprawą jest instalacja WordPressa – nie używaj autoinstalatorów, ręczna instalacja tego CMS jest banalnie prosta, a zapewnisz sobie kontrolę nad tym co dzieje się na serwerze.
Zabezpieczenie bazy danych WordPress.
Baza SQL jest sercem Twojej strony – tam przechowują się wszystkie gromadzone na niej dane oraz treści, które udostępniasz. Pamiętaj aby nazwa użytkownika bazy różniła się od nazwy samej bazy, a hasło było odpowiednio mocne. Instalując WordPressa ustaw inny prefiks tabel niż bazowe „wp_”, nie używaj nazw administratora „admin” (na prawdę, z pozoru banał, ale zapomina o tym zdecydowanie zbyt wiele osób). Pamiętaj o mocnym haśle do użytkownika WordPress – zwłaszcza administratora.
Pilnuj porządku na swojej stronie.
O tym jak zadbać o stronę internetową pisałem w artykule dotyczącej opieki nad blogiem, który możesz przeczytać tutaj. W dużym skrócie pamiętaj o:
- Aktualizacji WordPress.
- Aktualizacji wszystkich wtyczek i motywów, których używasz.
- Nie pobieraj narzędzi z niezaufanych stron – zwłaszcza narzędzi premium.
- Dbaj o cykliczny backup swojej strony.
Zabezpieczenia WordPress – o co warto zadbać?
Klucze szyfrujące.
Podstawa zabezpieczenia. W pliku wp-config znajdziesz standardowe używane przez WordPress klucze. Warto wygenerować własne 🙂
Zawartość tej strony wklej do swojego pliku wp-config, zastępując domyślne klucze.
Odseparuj dostępy do bazy danych.
Przenieś wszystkie dane dostępowe do swojej bazy z pliku wp-config, czyli:
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD', '');
define('DB_HOST', '');
define('DB_CHARSET', '');
define('DB_COLLATE', '');
do innego, utworzonego przez siebie pliku – np wp-config-database.php. Następnie odwołaj sie do niego w wp-config za pomocą polecenia:
require_once "wp-config-database.php";
Zablokuj dostęp do plików konfiguracyjnych.
Dodaj do pliku .htaccess wpisy:
<FilesMatch "wp-config.*\.php|\.htaccess|readme\.html">
Order allow,deny
Deny from all
</FilesMatch>
Ukryj wersję WordPress wyświetlaną w kodzie strony.
W pliku functions.php swojego motywu dodaj następującą linijkę:
remove_action('wp_head', 'wp_generator');
Oraz zablokuj wyświetlanie jej w skryptach. Tu pomoże Ci prosta funkcja w php:
function remove_version_wp( $src ) {
global $wp_version;
$version_str = '?ver='.$wp_version;
$offset = strlen( $src ) - strlen( $version_str );
if ( $offset >= 0 && strpos($src, $version_str, $offset) !== FALSE )
return substr( $src, 0, $offset );
return $src;
}
add_filter( 'script_loader_src', 'remove_version_wp' );
add_filter( 'style_loader_src', 'remove_version_wp' );
Ogranicz dostęp do katalogu wp-admin.
W katalogu /wp-admin utwórz plik .htaccess, a następnie dodaj do niego wpis:
AuthType Basic
AuthGroupFile /dev/null
AuthName "Dostęp zablokowany"
AuthUserFile /tu_wstaw_sciezke_do_htpasswd/.htpasswd
require valid-user
<FilesMatch "admin-ajax\.php|admin-post\.php">
Order allow,deny
Allow from all
Satisfy any
</FilesMatch>
Tworząc użytkowników zadbaj o to, aby ich loginy nie były takie same jak „user_nicename”.
Zablokuj katalog /wp-includes oraz /uploads.
W katalogu /wp-includes utwórz plik .htaccess, a w nim dodaj poniższy kod:
<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>
Pozostałe zabezpieczenia WordPress.
Podstawowym zabezpieczeniem, które powinno znaleźć się na Twojej stronie jest certyfikat SSL. Więcej na jego temat przeczytasz w tym obszernym artykule.
Czego nie warto robić?
Wielu twórców stron, administratorów, programistów i hostingodawców poleca rozmaite wtyczki zabezpieczające WordPress. Niestety, nie warto ich używać. Wszelkie „kombajny” posiadają wiele luk w bezpieczeństwie i potencjalnych podatności na ataki. Dodatkowo zapewniają jedynie fałszywe poczucie bezpieczeństwa.
Kolejną częstą, lecz w najlepszym wypadku niepotrzebną praktyką jest zmiana ścieżki do logowania /wp-admin. Przekierowanie jej na inny adres (zwłaszcza za pomocą wtyczki) nie przyniesie efektu. Zwłaszcza jeśli zadbaliśmy o ich zabezpieczenie w poprzednich krokach 🙂
Podsumowanie.
Zabezpieczenie WordPress jest bardzo rozległym zagadnieniem. System jest ciągle rozwijany, rośnie liczba użytkowników, dostępnych narzędzi – wtyczek, motywów i innych dodatków. Dlatego pamiętaj o najważniejszych rzeczach – zadbaj o aktualizacje, kopie bezpieczeństwa oraz silne hasła dostępowe do panelu administracyjnego oraz bazy danych. Poniżej znajdziesz infografikę, która pomoże Ci zebrać wszystkie zamieszczone informacje na temat podstawowych kwestii bezpieczeństwa Twojej strony.
Dodaj komentarz