Jak chronić stronę na WordPressie przed brute force i innymi zagrożeniami?
Ten materiał ma 5 lat — ceny i warunki mogły się zmienić.
Ataki brute force to działania mające na celu uzyskanie nielegalnego dostępu do strony albo do informacji na serwerze przez sprawdzanie kolejnych kombinacji hasła i loginu. Bruteforce tłumaczy się dosłownie jako „brutalna siła”.
Wydaje Ci się, że Twojego serwisu problem nie dotyczy? Owszem, najpewniej nie prowadzisz portalu medialnego z dziesiątkami tysięcy wizyt dziennie ani dużego marketplace'u. Ale atakowane są nie tylko duże serwisy.
Rzecz w tym, że ostatecznym celem napastników często nie jest sama strona, tylko serwer. Po włamaniu zasoby bywają wykorzystywane do przechowywania wirusów, rozsyłania spamu i innych nielegalnych działań.
Poświęć maksimum uwagi ochronie panelu administracyjnego. To konieczność i Twój wkład we wspólne bezpieczeństwo. Jakkolwiek solidne byłyby zabezpieczenia dostawcy hostingu, brak ochrony przed brute force potrafi uczynić je nieskutecznymi.
Omówimy kilka sposobów na zabezpieczenie panelu administracyjnego przed atakami bruteforce.
Utwórz mocne hasło
Brute force to sprawdzanie haseł po kolei. Logiczne jest więc utworzenie mocnego hasła i zmienianie go co jakiś czas — wtedy prawdopodobieństwo odgadnięcia spada. Zasada dotyczy wszystkich użytkowników, nie tylko administratorów.
Mocne hasła z cyframi i znakami specjalnymi trzeba ustawić również na panelu zarządzania hostingiem i na wszystkich innych kontach powiązanych ze stroną.
Co cechuje niezawodne hasło?
- Łączna długość ponad dziesięciu znaków. Idealnie byłoby od dwudziestu do dwudziestu pięciu.
- Cyfry w haśle.
- Kilka znaków specjalnych w haśle.
Jeśli chcesz mieć hasło łatwe do zapamiętania, użyj trzech albo czterech słów, które nie są ze sobą logicznie powiązane i nie składają się w zdanie. Między nimi można wstawić cyfry albo znaki specjalne.
Trzecia dopuszczalna strategia to wziąć spójne zdanie w swoim języku ojczystym i wpisać je przy angielskim układzie klawiatury.
Zmień login na koncie pierwszego użytkownika strony
Zakładaj konta o nieoczywistych loginach. Nazwy w rodzaju admin czy administrator łatwo odgadnąć. Znane są realne przypadki, gdy loginem było Admin i hasłem również Admin — taką kombinację odgadnie się od razu, zwłaszcza jeśli nie zmieniłeś standardowej strony logowania.
Gdy nowe konto użytkownika jest już utworzone, skasuj to pierwsze.
Wyłącz xmlrpc.php
Ataki z automatycznymi żądaniami do tego pliku zdarzają się bardzo często. Powód jest taki, że ta metoda pozwala sprawdzić od razu dziesiątki tysięcy kombinacji: czas potrzebny na włamanie maleje, a obciążenie serwera rośnie.
Żeby nie dawać napastnikom takiej przewagi, dostęp do pliku wyłącza się albo ogranicza.
W większości przypadków plik w ogóle nie jest używany. Jeśli nie masz pewności, zrób kopię zapasową strony, zanim wykonasz poniższe czynności.
Wyłączanie za pomocą wtyczek WordPressa
Żeby szybko wyłączyć plik, pobierz i włącz jedną z dedykowanych wtyczek WordPressa. Wystarczy wpisać „xmlrpc” w pole wyszukiwania na oficjalnym marketplace WordPressa.
Koniecznie aktywuj wybraną wtyczkę i włącz wszystkie potrzebne funkcje w menu jej ustawień.
Zablokowanie dostępu do pliku przez .htaccess
Możesz wprowadzić zmiany w pliku .htaccess w katalogu głównym strony. Krótki fragment kodu wyraźnie poprawi tam ochronę serwisu.
Jest i drugi wariant:
Tutaj wpisuje się adresy, z których plik pozostanie dostępny, jeśli to konieczne.
Zmień adres panelu administracyjnego
To sposób trudniejszy, ale bardzo skuteczny. Chodzi o to, żeby napastnicy po prostu nie mogli znaleźć adresu panelu administracyjnego. Zmienić go można ręcznie albo wtyczkami w rodzaju WPS Hide Login.
Po instalacji i standardowej aktywacji menu wtyczki znajdziesz w sekcji Ustawienia.
Kolejność czynności przy zmianie ręcznej:
- Zmień nazwę pliku wp-login.php w katalogu głównym strony. Użyj nieoczywistego ciągu słów rozdzielonych myślnikami, na przykład new-hidden-login-page.php.
- W samym pliku zamień wszystkie wystąpienia wp-login.php na nową nazwę, którą mu nadałeś.
- To samo trzeba zrobić jeszcze w kilku plikach katalogu głównego.
Nie pomijaj ani jednego punktu z tej listy. Pliki znajdziesz szybciej menedżerem plików w Plesku.
Dopiero po wykonaniu wszystkich trzech kroków strona logowania będzie pod nowym adresem yourwebsite.com/new-hidden-login-page.php. O wiele prościej i szybciej jest zmienić adres wtyczką. Ale jeśli z jakichś powodów nie chcesz polegać na dodatkach innych producentów albo lubisz grzebać w plikach, opisany wyżej sposób sprawdzi się bez zarzutu.
Ochrona możliwościami Pleska
Klienci Host4Biz zarządzają swoimi stronami przez Plesk Panel. Jeden z powodów, dla których wybraliśmy właśnie to narzędzie, tkwi w jego możliwościach: Plesk daje sposoby na ochronę strony.
Metoda Fail2Ban — blokowanie dostępu do strony po adresach IP. Pozwala to chronić stronę przed atakami polegającymi na sprawdzaniu kolejnych loginów i haseł. Narzędzie skanuje logi strony w poszukiwaniu podejrzanych zdarzeń, a gdy liczba podejrzanych prób logowania z jednego IP osiągnie określony próg, blokuje ten adres. Możliwy jest też drugi, łagodniejszy wariant, w którym narzędzie wysyła powiadomienie na e-mail, a ostateczna decyzja należy do administratora strony — ale zalecamy tę drogę tylko doświadczonym użytkownikom.
Ogólną logikę działania Fail2Ban wyznaczają jaile. Tak nazywa się zestaw reguł w konkretnym scenariuszu i to właśnie od ustawień jaila zależą działania podejmowane po wykryciu ataku.
Fail2Ban jest w Plesk Obsidian włączony domyślnie, a wszystkie dostępne jaile działają od startu. W większości sytuacji najlepszą decyzją będzie zostawienie ustawień domyślnych.
Jeśli rozumiesz, co i po co robisz, ustawienia można zmienić ręcznie. Opiszemy to etapami:
- W sekcji Bezpieczeństwo znajdź zakładkę Blokowanie adresów IP (Fail2Ban).
- Następnie otwórz Ustawienia. Można tu zmienić kilka parametrów:
- Okres blokady IP. Przedział czasu (w sekundach), na jaki blokowany jest dostęp do strony z podejrzanego adresu. Po jego upływie odblokowanie następuje automatycznie.
- Interwał wykrywania kolejnych ataków. Przedział czasu, w którym system liczy próby logowania i inne szkodliwe bądź podejrzane działania. Załóżmy, że parametr ustawiono na 600 sekund: jeśli w tym czasie padnie X nieudanych prób logowania, adres zostanie zablokowany.
- Liczba dopuszczalnych nieudanych logowań. Ten parametr wiąże się z poprzednim — decydujesz, po ilu nieudanych próbach blokować dostęp z danego IP.
Możesz też dodać zaufane adresy IP, które nie będą blokowane pod żadnym warunkiem.
Przejdź w tym celu do Blokowanie adresów IP (Fail2Ban) > Zaufane adresy IP > Dodaj zaufany adres IP.
Odpowiedzi na inne pytania o korzystanie z Fail2Ban znajdziesz w dokumentacji.
Wtyczki do ochrony przed brute force i innymi zagrożeniami
Stronę na WordPressie można chronić przed brute force i innymi zagrożeniami nawet bez głębokiej znajomości kodu i CMS-a. Wystarczy zainstalować odpowiednie wtyczki i poprawnie je skonfigurować. Opowiemy o kilku narzędziach do zapewnienia bezpieczeństwa.
iThemes Security — kompleksowa ochrona przed wszystkimi głównymi zagrożeniami
To jedno z mocniejszych narzędzi do ochrony sklepu, portalu albo strony firmowej, z ponad 30 wbudowanymi usługami do ochrony logowania, odzyskiwania po włamaniach i nie tylko. Wtyczka rozpoznaje podatności, przestarzałe wersje WordPressa i PHP oraz hasła podatne na odgadnięcie.
W darmowej wersji dostępne są wszystkie podstawowe funkcje bezpieczeństwa. Przy poważnych, mocno obciążonych projektach warto jednak przejść na iThemes Security Pro za 80 dolarów rocznie. Dostajesz za to priorytetowe wsparcie techniczne z systemem zgłoszeń, a pakiet obejmuje dwie strony. Jeśli chcesz zabezpieczyć więcej, jest też droższy, zaawansowany plan.
Teraz kilka słów o funkcjach wersji PRO. iThemes Security Pro chroni hasła, blokuje napastników, wykonuje kopie zapasowe bazy danych i dodaje uwierzytelnianie dwuskładnikowe.
Cechy i zalety, dla których warto zainstalować tę wtyczkę:
- Integracja Google reCAPTCHA jako dodatkowej ochrony strony logowania.
- Wymuszenie SSL na wszystkich adresach w serwisie, o ile serwer to obsługuje.
- Rozpoznawanie i blokowanie kilku typów ataków na serwer i Twój system plików.
- Śledzenie nieautoryzowanych zmian w systemie plików i sygnalizowanie takich zdarzeń.
- Zmiana prefiksu bazy danych.
- Utworzenie nowej ścieżki do folderu wp-content, żeby lepiej go chronić.
- Wtyczka okresowo skanuje Twoje pliki, porównując WordPressa zainstalowanego na serwerze z bieżącą wersją CMS-a. Chodzi o to, żeby szybko wykryć wstrzyknięty złośliwy kod.
- Odświeża klucze salt WordPressa, czyniąc je mocniejszymi.
- Ustawienie maksymalnego czasu ważności wszystkich haseł. To bardzo wygodne i poważnie podnosi bezpieczeństwo, bo na pewno zmienisz hasła do wszystkich kont.
- Nietypowy „tryb nieobecności”. Tę funkcję można włączyć na okres, w którym nie planujesz żadnych zmian: przez cały ten czas dostęp do panelu administracyjnego jest całkowicie zablokowany, a po upływie ustawionego terminu włącza się automatycznie.
- Inne ważne funkcje. Wśród nich wykrywanie błędów 404, ochrona przed brute force i sprawdzanie siły hasła.
Wordfence Security
Tu łączą się prostota i mocne narzędzia do usuwania głównych zagrożeń, wśród nich funkcje bezpiecznego logowania i narzędzia do szybkiego odzyskiwania strony po włamaniu. Jedną z zalet Wordfence jest analityka, która pomaga zbadać ogólne tendencje w ruchu i w próbach włamania.
Wordfence oferuje świetny darmowy zestaw narzędzi bezpieczeństwa. Obejmuje wszystko, od zapory po odpieranie ataków brute force.
Wersja premium kosztuje od 99 dolarów rocznie, a pakiet obejmuje jedną stronę. Twórcy proponują świetne warunki dla deweloperów, dając duże rabaty tym, którzy opiekują się kilkoma serwisami: kupując 15 licencji albo więcej, dostaniesz 25% zniżki, czyli 74,25 dolara za licencję. Wordfence wychodzi taniej, jeśli tworzysz kilka stron i chcesz chronić je wszystkie.
Funkcje, dla których warto zainstalować WordFence Security:
- Darmowa wersja wystarczy do skutecznej ochrony niewielkiej strony firmowej albo sklepu internetowego.
- Wygodne plany dla twórców stron z subskrypcją wielolicencyjną.
- Pełny zestaw wbudowanych zapór. Są narzędzia do blokowania po kraju, wybiórczego blokowania ręcznego, ochrony przed brute force oraz monitoringu i blokowania zagrożeń w czasie rzeczywistym.
- Wtyczka monitoruje odwiedziny w czasie rzeczywistym. Algorytm analizuje aktywność skanowania Google, rytm logowań i wylogowań oraz to, którzy odwiedzający są wyraźnie ludźmi, a którzy botami.
- Wraz z wtyczką dostajesz kilka bardzo wygodnych narzędzi, na przykład możliwość logowania się do panelu administracyjnego telefonem i sprawdzania odporności haseł.
- Filtr spamu w komentarzach zdejmuje konieczność instalowania osobnej wtyczki do tego celu.
- Wtyczka pilnuje Twoich dodatków i informuje, czy któryś nie został usunięty z repozytorium wtyczek WordPressa — zwykle dlatego, że okazał się niebezpieczny albo zhakowany.
Acunetix WP Security
Wtyczka działa jak skaner podatności i proponuje rozwiązania wszystkich problemów z ochroną strony. Narzędzie sprawdza każdy aspekt bezpieczeństwa:
- hasła;
- uprawnienia dostępu;
- ochronę bazy danych;
- wyświetlanie wrażliwych informacji i tak dalej.
Poważną zaletą narzędzia jest to, że jest w stu procentach darmowe.
Jego główne możliwości i zalety:
- praca z multisite'ami;
- wbudowane narzędzie do kopii zapasowej bazy danych;
- wyłączenie podpowiedzi o błędnym loginie i haśle na stronie logowania;
- ukrywa wersję WordPressa wszędzie poza panelem administracyjnym;
- raporty z wyników skanowania oraz z uprawnień dostępu do strony i plików;
- zmiana prefiksów bazy danych i nie tylko.
WP fail2ban — narzędzie do blokowania napastników po IP
WP fail2ban realizuje tylko jedną, ale bardzo ważną funkcję: chroni przed atakami bruteforce, blokując dostęp do strony z określonych adresów IP. Metoda jest dość radykalna, ale często właśnie ona okazuje się najskuteczniejsza.
Dodatek nieustannie zapisuje wszystkie próby logowania, niezależnie od ich charakteru i powodzenia, do dziennika systemowego przez LOG_AUTH. Możesz ustawić blokadę miękką albo twardą, co odróżnia go od bardziej tradycyjnego podejścia z jednym wariantem do wyboru.
WP fail2ban nie wymaga konfiguracji. W praktyce wystarczy go zainstalować i pozwolić mu działać. Narzędzie jest przy tym całkowicie darmowe.
Cechy, które czynią WP fail2ban świetnym rozwiązaniem:
- Wybór między blokadą twardą a miękką.
- Integracja z CloudFlare i serwerami proxy.
- Zapobieganie spamowi i szkodliwym komentarzom na podstronach.
- Wtyczka rejestruje też informacje o spamie, pingbackach i innych działaniach szkodliwych dla strony.
All In One WP Security & Firewall
Interfejs wtyczki jest intuicyjny. Nawet początkujący zobaczy czytelnie takie wskaźniki jak poziom bezpieczeństwa, a w menu pojawiają się również rekomendacje dotyczące ochrony strony.
Funkcje podzielono na trzy poziomy: podstawowe, średnie i zaawansowane. Główne możliwości tej wtyczki:
- ochrona kont wszystkich użytkowników,
- blokowanie prób brute force;
- dodatkowa ochrona przy rejestracji nowych kont;
- zaawansowane zabezpieczenia plików i bazy danych.
Możliwości i zalety tego dodatku:
- Jest funkcja czarnej listy, w której ustawisz warunki automatycznego blokowania niechcianych użytkowników i adresów.
- Szybkie i proste kopie zapasowe plików .htaccess i .wp-config, z wbudowanym przywracaniem.
- Wszystkie funkcje narzędzia są dostępne za darmo.
Podsumowanie
Każdy z wymienionych sposobów zmniejsza prawdopodobieństwo włamania metodą brute force, a razem dają najsilniejszy efekt. Wybraliśmy i opisaliśmy zabezpieczenia, które da się wdrożyć nawet bez głębokiej wiedzy z programowania i administrowania systemami — te wskazówki przydadzą się więc każdemu. Wdrażaj je już dziś.
Chroń i rozwijaj swoją stronę, a zespół Host4Biz zapewni niezawodny hosting i pomoże Ci w tym.