WordPress na ten moment to najpopularniejsza platforma do tworzenia stron internetowych. Rożne źródła wskazują, że nawet 60% stron w Internecie jest oparta o tą platformę. Popularność WordPressa sprawia, że jest również częstym (i łatwym) celem ataków hakerów. Niezabezpieczona strona może prowadzić do wielu problemów, takich jak kradzież danych, malware, czy utrata zaufania użytkowników. Jak więc skutecznie zabezpieczyć swoją stronę WordPress? Oto kilka kroków, które warto wdrożyć.
Jednym z najprostszych, a zarazem najskuteczniejszych sposobów na zabezpieczenie WordPressa jest regularne aktualizowanie samej platformy oraz wszystkich zainstalowanych motywów i wtyczek. Każda aktualizacja zazwyczaj zawiera poprawki zabezpieczeń i błędów, które mogłyby zostać wykorzystane przez cyberprzestępców. Oczywiście musimy wziąć pod uwagę, że samodzielna aktualizacja może skończyć się tym, że strona przestanie działać. W szczególności gdy ostatni raz aktualizowaliśmy WordPressa kilka miesięcy czy lat temu!
Pro tip: Nie włączaj automatycznej aktualizacji! Nigdy nie wiesz czy strona po samodzielnej aktualizacji będzie działać poprawnie. Sprawdzaj natomiast aktualizacje np. co tydzień. Nie będziesz musiał instalować dodatkowych wtyczek do powiadomień, a sam/a będziesz na bieżąco!
Bezpieczne hasła to klucz do ochrony konta administracyjnego WordPress. Używaj haseł składających się z liter (dużych i małych), cyfr oraz znaków specjalnych. Zrezygnuj z prostych haseł jak „admin123” czy „password”.
Wprowadzenie dwuskładnikowego uwierzytelniania (2FA) znacząco zwiększa bezpieczeństwo. Nawet jeśli ktoś pozna Twoje hasło, nie będzie w stanie zalogować się na Twoje konto bez drugiego elementu autoryzacji, np. kodu wysłanego na telefon, czy maila – chyba że ustawisz takie samo jak do strony 😉
Większość ataków brute-force koncentruje się na domyślnym loginie „admin” czy „administrator”, ponieważ jest to nazwa użytkownika, która zazwyczaj istnieje na wielu stronach WordPress. Zmiana loginu na mniej oczywisty znacznie zmniejsza szanse na powodzenie takich ataków.
Pro tip: W przypadku nowej instalacji WordPressa, podczas zakładania konta użyj unikalnego loginu. Jeśli już masz konto z nazwą „admin”, zmień jego nazwę, lub utwórz nowe konto z nowym loginem i nadaj mu prawa administratora, a stare konto usuń.
Ataki brute-force polegają na próbowaniu różnych kombinacji loginów i haseł. Można temu zapobiec, instalując wtyczki, które ograniczają liczbę prób logowania z jednego adresu IP. Jeśli ktoś spróbuje zalogować się kilkukrotnie z błędnym hasłem, jego adres IP zostanie zablokowany na pewien czas.
Wtyczki takie jak Limit Login Attempts Reloaded czy Login LockDown są popularnymi rozwiązaniami w tej kwestii.
Bezpieczeństwo danych to także regularne kopie zapasowe. Upewnij się, że masz systematycznie robione kopie zapasowe strony, najlepiej w kilku lokalizacjach – lokalnie oraz w chmurze. W przypadku ataku, awarii lub błędu, szybko odzyskasz swoją stronę, a utracisz jak najmniej. Wyobraź sobie sklep z wieloma produktami, klientami itd. bez kopii…
Osobiście sam staram się wprowadzać własne rozwiązanie swoim klientom dotyczące kopii zapasowych składowane na serwerze bez dostępu zewnętrznego, lecz jeśli Ty nie masz takiej opcji sprawdź czy nie oferuje Ci tego Twój hosting, lub odezwij się do mnie 😉
Certyfikat SSL zabezpiecza transmisję danych między przeglądarką użytkownika a serwerem, chroniąc dane, takie jak loginy czy hasła, przed przechwyceniem. Włączenie SSL jest konieczne, zwłaszcza jeśli na stronie są przeprowadzane transakcje lub logowania.
Większość hostingów oferuje darmowe certyfikaty SSL (np. Let’s Encrypt). Jeśli Twój hosting nie oferuje tego w pakiecie, zrezygnuj z jego ofert i nie daj się naciągać!
Plik wp-config.php zawiera najważniejsze informacje o konfiguracji strony, w tym dane logowania do bazy danych. Aby dodatkowo go chronić, można ograniczyć do niego dostęp, dodając poniższy kod do pliku htaccess:
<files wp-config.php>
order allow,deny
deny from all
</files>
Tym samym plik będzie niedostępny dla osób postronnych.
Podczas instalacji WordPressa domyślnym prefiksem tabel w bazie danych jest wp_. Zmiana tego prefiksu na niestandardowy (np. mywp_) może ochronić Twoją stronę przed atakami SQL injection, które są wymierzone w standardowe konfiguracje.
Dobre wtyczki bezpieczeństwa oferują kompleksowe rozwiązania, takie jak monitorowanie złośliwej aktywności, blokowanie ataków brute-force czy skanowanie w poszukiwaniu złośliwego kodu. Popularne wtyczki to:
Wtyczki te oferują zarówno darmowe, jak i płatne wersje, które pomagają w całościowej ochronie strony.
WordPress domyślnie pozwala na edytowanie plików motywów i wtyczek bezpośrednio z panelu administracyjnego. Może to stanowić ryzyko, jeśli ktoś niepowołany uzyska dostęp do Twojego konta. Aby wyłączyć tę funkcję, dodaj poniższą linijkę do pliku wp-config.php:
define(’DISALLOW_FILE_EDIT’, true);
Standardowe logowanie do panelu WordPressa to oczywiście /wp-admin. W tym przypadku na prawdę mało kto zabezpiecza ten link, co zdecydowanie ułatwia dostęp do logowania na stronę. Najprostszym sposobem jest zainstalowanie wtyczki WPS Hide Login. Wystarczy, że zmienisz /wp-admin na sam /admin a już szansa na dostęp do panelu się zmniejszy!
Opisane rozwiązania to oczywiście tylko ułamek możliwych zabezpieczeń, lecz znacznie zmniejszą one szanse na włamanie na Twoją stronę. Pamiętaj, że wtyczka to nie wszystko a instalacja nowych to kolejne furtki do włamania, dlatego nie szalej i nie instaluj wszystkiego co opisałem. Im więcej zrobisz kodem tym lepiej!