Mniejszych, lub większych kroków do zwiększania bezpieczeństwa strony na WordPressie jest mnóstwo. Do tematu trzeba podejść zdroworozsądkowo. Jednak jeśli jakiś mały kroczek może zwiększyć bezpieczeństwo choćby o kilka procent, to chyba warto rozważyć jego wdrożenie.
Stąd też na koniec serii z metodami zabezpieczeń, jeszcze kolejna paczka pomysłów i rozwiązań do wdrożenia na Twoją stronę. Pozostało do omówienia kilka istotnych rzeczy, które daje wtyczka iTheme Security – czyli aspekty wciąż techniczne oraz kilka innych kwestii o których warto pamiętać.
W zakładce Wygląd
> Edytor
mamy edytor plików. Pozwala on edytować bezpośrednio pliki szablonu, które umieszczone są na serwerze. Funkcja czasem przydatna, jednak bardzo niebezpieczna. Napastnik, który dostanie się do panelu admina bez wysiłku będzie mógł edytować Twoje pliki. Chyba warto mu to utrudnić?
Zrobimy to za pomocą wtyczki iThemes Security. Po otwarciu okna Wp tweaks zobaczysz checkbox Disable File Editor, zaznacz go i zapisz ustawienia. Teraz zakładka z edytorem będzie niedostępna.
Certyfikat SSL warto zainstalować z wielu powodów. Bezpieczeństwo Twoje, strony, użytkowników, większa wiarygodność a nawet wpływ na pozycjonowanie.
Certyfikat możesz kupić już za ok 100 zł, na okres 1 roku. I sprzeda ci go chyba każdy dostawca hostingu.. ten Twój pewnie też 🙂
Tak, certyfikat możesz mieć za darmo. Więcej o nim możesz poczytać na letsencrypt.org. Jest darmowy, gdyż sponsorują giganci z branży IT, tacy jak facebook, SISCO, OVH.
Jeśli masz hosting na zenbox.pl, możesz tam w bardzo prosty sposób taki certyfikat sobie zainstalować w ok. 4 minuty. Możesz zainstalować go dla domeny głównej i subdomen, a będzie odświeżał się automatycznie.
To temat na osobny co najmniej jeden artykuł. W skrócie, trzeba zadbać o to by wszystkie linki na stronie miały adres https://
, by zewnętrzne skrypty, css itp były z adresów z certyfikatem oraz dodać trzeba przekierowanie z http://
na https://
.
Jeśli instalujesz od nowa WordPressa na domenie z certyfikatem, to nie powinno być problemu, jeśli jednak dodajesz go do istniejącej strony, to w tym wypadku warto użyć wtyczki, która zrobi te czynności instalacyjne za nas.
Na szczęście iThemes Security posiada taką opcję i nie musimy instalować nic nowego.
Jeśli zainstalowałeś już certyfikat dla domeny to włącz okienko z SSL
i przejdź do jego konfiguracji. Zaznacz opcje jak na screenie.
Zostaniesz prawdopodobnie wylogowany. Sprawdź jak działa Twoja strona, czy linki działają prawidłowo, cz faktycznie jest certyfikat, czy po wpisaniu adresu http://
przekieruje na https://
Tak jak nazwy użytkowników, strony logowania tak i nazwy tabel w bazie danych Worpdpress ustala domyślnie i wszędzie takie same. Podczas instalacji WordPressa zapewne była możliwość ustalenia prefiksów, ale podejrzewam, że zostawiłeś domyślne ustawienie wp_
. Czyli tak jak większość instalacji.
Dzięki temu łatwo można odgadnąć jak nazywają się tabele w Twojej bazie wp_users
, wp_posts
, wp_options
.
Po co ułatwiać życie napastnikowi? Zmień te nazwy.
W prosty sposób można zrobić to ręcznie, zmieniając nazwy tabel w phpMyAdmin i potem w pliku konfiguracyjnym zdefiniować inny prefiks.
Wtyczka iThemes Security przychodzi z pomocą. Kliknij ustawienia funkcji Change Database Table Prefix.
Uwaga: Zrób najpierw backup bazy danych, gdyby operacja się nie powiodła od razu.
W okienku zaznacz, że chcesz zmienić i zapisz ustawienia
Sprawdź czy strona działa jak należy, czy nic się nie zepsuło.
Czasem w kodzie szablonu strony jest znacznik z nazwą generatora, który wyświetla aktualną wersję zainstalowanego WordPressa.
Jak tylko robot wykryje, że masz (choćby chwilowo) nieaktualną wersję, to od razu Twoja strona staje się jeszcze większym obiektem zainteresowań atakujących.
Zrobimy to ręcznie. Edytując plik functions.php
Twojego aktualnego szablonu. Znajduje się on w katalogu z szablonem… domyślnie /wp-content/themes/nazwa_twojego_szablonu/functions.php
.
Otwórz ten plik i dodaj w nim taki fragment kodu
remove_action('wp_head', 'wp_generator');
I już.
Możesz też usunąć fragment kodu generator bezpośrednio w pliku header.php
plików szablonu, jednak rozwiązanie powyżej jest skuteczniejsze. Oczywiście nic się nie stanie jeśli zastosujesz dwa sposoby 🙂
We wtyczce iThemes Security otwórz ustawienia File Permissions i załaduj obecne ustawienia.
Na zrzucie widać raport. Sugerowana jest zmiana praw dla plików .htaccess
i wp-config.php
.
Zrobimy to poprzez klienta FTP. Zaloguj się na serwer, gdzie umieszczoną masz stronę. Zaznacz pliki, które chcesz zmienić i włącz opcje zmiany praw plików albo zmianę chmod. W FileZilla kliknij prawym przyciskiem myszy na zaznaczone pliki i wybierz opcję Prawa pliku...
. Potem zmień je na te sugerowane, czyli 444
i zapisz ustawienia.
Jeśli we wtyczce ponownie wykonam test, czyli kliknę Reload File Permission Details, to załadują się nowe ustawienia.
Podczas ataku często są zmieniane pliki na serwerze, wstrzykiwany jest tam dodatkowy kod, dodawane przekierowania, albo tworzone dodatkowe katalogi i pliki. Dlatego właśnie warto obserwować, co się dzieje na serwerze.
We wtyczce iThemes włącz File Change Detection. W ustawieniach możesz zdefiniować jakie pliki chcesz śledzić, albo jakie wykluczyć. Włącz też skanowanie i zerknij w logi. Spokojnie, pamiętaj, że choćby podczas aktualizacji wtyczek niektóre pliki są nadpisywane.
Stawiasz nową stronę, instalujesz wtyczki, motywy, dostosowujesz, konfigurujesz… Kiedy strona będzie gotowa do publikacji, stwórz sobie pierwszy, czysty backup strony i bazy danych. Masz wtedy największą pewność, że ta wersja nie jest jeszcze zainfekowana.
Nigdy nie wiesz, kiedy taka wersja może Ci się przydać 🙂
O regularnych backupach już pisałem, rób je regularnie. Oraz przed zmianami i po zmianach. Zachowuj kilka wersji wstecz. Nigdy nie masz pewności która wersja temu jest tak naprawdę czysta.
Cały czas skupialiśmy się na na samej stronie, wtyczkach i WordPressie. Ale jeśli na Twoim komputerze będą wirusy, albo inne szkodliwe oprogramowanie, to na nic zabezpieczenia WordPressa.
Wyobraź sobie… masz wirusa na komputerze (choć o tym nie wiesz), logujesz się przez klienta ftp na swój serwer. Wirus sczytuje dane logowania, loguje się na serwer i pozamiatane… ma dostęp do całej strony. Nawet jeśli używasz szyfrowanego połączenia i nie zapisujesz hasła w kliencie… to na nic jeśli zapisałeś hasło w pliku tekstowym na pulpicie 🙂
Zachowaj czujność na każdym kroku i pamiętaj o podstawowych zasadach bezpieczeństwa podczas korzystania z komputera i Internetu.
To jak Twój dostawca hostingu dba o bezpieczeństwo tego co jest na Twoim serwerze, również jest bardzo ważne. Czy dane i backupy są odpowiednio przechowywane, czy zachowane są podstawowe zasady bezpieczeństwa?
Wybierając hosting też musisz być czujnym i podjąć te decyzję uprzednio dokonując rozeznania na rynku.
To ostatni wpis tej serii. Przedstawiłem Ci wiele możliwości zabezpieczeń WordPressa. Zapewne nie wszystkie i już w tym momencie można byłoby dodać jeszcze kilka sposobów.
Sam musisz podjąć decyzję, które z zabezpieczeń zastosujesz u siebie. Nic nie stoi na przeszkodzie by zastosować wszystkie wskazówki, jeśli uznasz to za słuszne oczywiście. Wg mnie warto na każdym kroku, choćby najmniejszymi drobiazgami utrudniać atak na stronę.
Pamiętaj jednak, że choćbyś zastosował wszystkie wskazówki i przestrzegał wszelkich zasad bezpieczeństwa, nie da Ci to gwarancji, że nikt nie zaatakuje Twojej strony. Stosując zabezpieczenia zmniejszasz tylko prawdopodobieństwo ataku.
Jeśli masz jakiś problem z wdrożeniem któregoś z rozwiązań to napisz w komentarzu, postaram się pomóc. Napisz też które wg Ciebie sposoby warto wdrożyć od razu, które są mniej skuteczne…
Moje 7, najlepszych, sprawdzonych
sposobów na efektywną pracę zdalną
Do wdrożenia jeszcze dziś!