Jak zabezpieczyć stronę na WordPress? – część 2

Blog WordPress

Dalsza część konfiguracji wtyczki Better WP Security, która służy do zwiększenia bezpieczeństwa Twojego bloga na WordPressie.

 

Jak zabezpieczyć swojego bloga przed hakerami? – część 2

 

Zakładka Dir

Ta opcja może bardzo utrudnić działanie hakerom. Jednak jest ona trudniejsza do wdrożenia niż inne opcje. Działa ona tak, że zmienia nazwę katalogu wp-content, w którym są przechowywane wszystkie pliki, które zmienia użytkownik. Są tam katalogi z plikami motywów, wtyczek i plików wrzucanych do galerii do katalogu o nazwie uploads.

Zakładka Dir wtyczka Better WP Security

Zmiana nazwy tego katalogu spowoduje, że linki prowadzące do plików przestaną działać, bo została zmieniona nazwa katalogu. Tą opcję najlepiej wprowadzić na czystej instalacji WordPressa. Jednak może pojawić się inny problem. Piszę może, bo jak nagrywałem ten film nie sprawdzałem tej informacji. Chodzi o to, że jak będziesz chciał dodać pliki do galerii, to WordPress dalej będzie wrzucał pliki do starego katalogu wp-content, który już nie istnieje. Lepiej pominąć tą opcję i nie komplikować dodatkowo sprawy, bo inne opcje w tej wtyczce wprowadzają i tak dużo zabezpieczeń.

Aktualizacja!

Przetestowałem tę opcję na WordPress w wersji 3.5.1 i na wersji wtyczki 3.4.9.

Jeśli masz już jakieś dodane pliki do galerii, to faktycznie obrazki nie będą widoczne na stronie. Trzeba ponownie załadować wszystkie do wpisów, aby została nadana nowa ścieżka do pliku.

Natomiast poprawnie działa opcja dodawania nowych plików do galerii WordPressa. Pliki są wrzucane do nowego katalogu i są widoczne na stronie. Jak stawiasz nowego bloga, to śmiało przetestuj tą opcję u siebie. Jak poprawnie u Ciebie też zadziała, to masz dodatkowe mocne zabezpieczenie. Mocna, bo skrypty szkodzące są napisane pod znaną strukturę WordPressa. Jak taki skrypt nie znajdzie katalogu wp-content w Twoim WordPressie, to przestanie działać. Na podobnej zasadzie działa inne zabezpieczenie w tej wtyczce, odnośnie prefiksu tabel w bazie danych.

 

Zakładka Backup

W tym miejscu możesz stworzyć kopię bazy danych za pomocą przycisku Create Database Backup. Kopia zostanie przesłana na adres e-mail podany w polu poniżej. Gdy nagrywałem ten film i robiłem testy, to kopia bazy stworzona z tej wtyczki nie do końca dobrze działała. Mogło to wynikać z wtyczek i ustawień na moim blogu testowym. Jednak jeśli ręcznie przez mnie stworzona kopia bazy działała poprawnie, to nie zaufałem tej opcji. Możliwe że teraz już to działa dobrze. Jedyny sposób, to sprawdzić to na swoim blogu testowym. Najpierw zrób kopię w tradycyjny sposób, np. przez panel phpMyAdmin.

Zakładka Backup wtyczka Better WP Security

Wtyczka oferuje też automatyczne tworzenie kopii i wysyłanie ich na podany adres e-mail, co jest przyjemnym rozwiązaniem. Oprócz takich automatycznych kopii, rób od czasu do czasu kopię np. przez phpMyAdmin.

Zaznacz kwadracik obok napisu Enable Scheduled Backups, aby uaktywnić opcję tworzenia zaplanowanych kopii bazy danych. W Backup Interval wpisz co ile godzin, dni lub tygodni ma być tworzona kopia. Dalej zaznacz opcję Send Backups by Email, aby kopie były wysyłane na Twoją skrzynkę pocztową. Niżej wpisz swój adres e-mail, na którym mają być przesyłane kopie.

Jeśli nie zaznaczysz opcji Send Backups by Email, to kopie będę trzymane na serwerze. Nie sprawdziłem czy ta opcja rzeczywiście poprawnie działa, bo nie tworzę kopii przez tą wtyczkę. Niektóre wtyczki mają z tym problem i nie tworzą kopii na serwerze.

W polu Backups to Keep możesz określić ile ostatnich kopii ma być trzymanych na serwerze. Jak będzie ich więcej niż podana liczba w tym polu, to od najstarszej kopii będą usuwane. Liczba 0 w tym polu oznacza, że chcesz trzymać wszystkie kopie na serwerze.

 

Zakładka Prefix

Ogólnie dostępną informacją w Internecie jest wygląd struktury bazy danych, czyli nazw tabel. Domyślnie do nazw tabel dodawany jest przedrostek wp_. W ten sposób można odpowiednim skryptem manipulować zawartością bazy danych WordPressa. Po co ułatwiać zadanie takim skryptom. Lepiej zmienić nazwy tabel. Całych nazw nie zmienisz, bo wtedy WordPress przestałby działać. Jednak możesz zmienić ten przedrostek. Warto to zrobić w trakcie instalacji WordPressa.

Zakładka Prefix wtyczka Better WP Security

Jeśli tego nie zrobiłeś, to dzięki tej wtyczce w tej zakładce możesz to szybko zrobić. Wystarczy, że klikniesz przycisk Change Database Table Prefix. Po kilku sekundach zostanie wygenerowany losowy ciąg znaków, który zostanie przypisany każdej tabeli w bazie danych, zamiast domyślnego wp_.

Pamiętaj, aby przez taką operacją zrobić kopię bazy danych. Nigdy nie wiadomo, kiedy coś może pójść nie zgodnie z planem i warto mieć zabezpieczenie.

 

Zakładka Hide

Ta opcja jest idealna, jeśli samemu prowadzisz bloga i tylko Ty będziesz logował się do panelu WordPressa. Kolejną ogólnie znaną informacją jest, że strona do logowania do panelu WordPressa to http://nazwaTwojejDomeny/wp-login.php lub wp-admin. Na takiej stronie pojawia się okienko do wpisania nazwy użytkownika i hasła.

Odpowiednim skryptem można odgadnąć hasło i użytkownika na siłę, czyli sam skrypt sprawdza różne kombinacje, aż znajdzie właściwą. Taki skrypt można zblokować na 2 sposoby. Teraz pokażę Ci pierwszy z nich.

Ukryj ogólnie znaną stronę do logowania pod inną nazwą. Zamiast ogólnie znanej końcówki w adresie wp-login.php zamień na np. loguj, a jeszcze lepiej na coś bardziej wyszukanego. Jak ktoś wpisze lub skrypt będzie chciał zalogować się do Twojego bloga, to nie znajdzie Twojej strony do logowania.

Zakładka Hide wtyczka Better WP Security

Ta opcja będzie dostępna tylko wtedy, gdy uaktywnisz nadawanie własnych nazw w linkach. To możesz zrobić w Ustawieniach -> Bezpośrednie odnośniki. Wybierz tam opcję Nazwa wpisu lub Własny format. Do uaktywnienia tej opcji zaznacz kwadrat przy napisie Enable Hide Backend.

W każdym z 3 pól poniżej nadaj nazwy, jakie Ci odpowiadają dla poszczególnych sposobów logowania i do rejestracji nowego konta. Ostatniej opcji z generowaniem nowego klucza odradzam ruszać.

Niestety podczas moich testów pojawił się problem. Gdy chciałem zarejestrować nowe konto poprzez stronę do rejestracji, to konto nie zostało utworzone i mail automatycznie wygenerowanym hasłem nie został wysłany. Z tego względu zrezygnowałem z tej opcji podczas tworzenia mojej strony szkoleniowej. Jednak tę opcję można śmiało użyć, jeśli tylko będziesz się logował.

 

Zakładka Detect

Ta strona dotyczy monitorowania otwarć stron 404. Strona 404 pojawia się, gdy wpisany adres w przeglądarce internetowej prowadzący do zasobu w Internecie nie istnieje. Normalnie takie sytuacje zdarzają się sporadycznie. Gdy ktoś ręcznie wpisuje adres strony i np. zrobi literówkę w adresie.

Gdy w krótkim czasie jest wiele otwarć nie istniejących stron to oznacza, że jakiś skrypt skanuje Twój serwer, aby sprawdzić jakie pliki masz na swoim serwerze. W takim przypadku warto zblokować taki skrypt, aby nie mógł dalej skanować.

Zakładka Detect strony 404 wtyczka Better WP Security

Zaznacz dwie pierwsze opcje, aby uaktywnić tą opcję oraz przesyłać informację o otwarciach stron 404 na Twojego maila.

W polu Check Period wpisz w ilu minutach ma być brane pod uwagę ilość otwarć stron 404 dla danego numeru IP. Lepiej tutaj wpisać niską cyfrę, domyślne 5 minut może być. Dłuższy czas może spowodować, że zostaną blokowani prawdziwi użytkownicy, a nie tylko roboty, które skanują Twój serwer.

W polu Error Threshold wpisz po ilu otwarciach stron 404, dany adres IP ma zostać zblokowany.

W polu Lockout Period wpisz na ile minut ma zostać zblokowany adres IP, który przekroczył dozwoloną ilość otwarć stron 404 w określonym czasie.

Jeśli ten sam adres IP będzie wielokrotnie chciał skanować Twój serwer, to warto dodać go do listy zblokowanych na stałe numerów IP, tzw. lista zbanowanych użytkowników. Możesz zaznaczyć opcję Blacklist Repeat Offender, aby automatycznie dodawać takie numery IP do tej listy. Takie numery IP zostaną dodane automatycznie do listy po określonej ilości tymczasowych blokad. Tą ilość możesz ustawić w polu Blacklist Threshold.

Można w ten sposób samemu się zblokować na stałe, dlatego najlepiej dodać numer IP swojego komputera to tzw. białej listy, czyli zaufanych adresów. Tak jak wcześniej pokazywałem można dodać numery IP zblokowane na stałe, tak w polu poniżej 404 White List można dodać zaufane adresy IP. U mnie z tą opcją jest taki problem, że mam zmienne IP i nie mogę jej wykorzystać.

Zakładka Detect śledzenie zmian w plikach wtyczka Better WP Security

Niżej tej strony można włączyć opcję, aby śledzić zmiany w plikach WordPressa. W ten sposób możesz się przekonać, czy ktoś wszedł na Twój serwer i dodał, zmienił lub usunął pliki. Zaznacz kwadracik przy napisie Enable File Change do włączenia tej opcji.

Zaznacz opcję Email File Change Notification, aby dostawać powiadomienia na swojego maila.

Z listy Include/Exclude List wybierz Exclude i wypisz pliki i katalogi w polu File/Directory Check List, których nie chcesz śledzić. Jak wybierz z listy Include to możesz dopisać inne pliki do śledzenia, które niekoniecznie są w katalogu WordPressa. Każdy wpis dajesz w nowej linijce.

 

Zakładka Login

To opcję koniecznie włącz. To jest drugi sposób na ochronę przed atakami typu „brutal force”, czyli zgadywaniem do skutku hasła. Zaznacz Enable Login Limits, aby uaktywnić tą opcję. Dzięki tej opcji po kilku próbach niepoprawnego zalogowania dany numer IP zostanie zblokowany.

Zakładka Login wtyczka Better WP Security

W polu Max Login Attempts Per Host wpisz maksymalną ilość logowań z błędem z tego samego numeru IP. Po osiągnięciu tylu prób dany numer IP zostanie zblokowany. Można przecież zmienić komputer lub numer IP komputera i próbować zalogować się dalej, dlatego jest druga opcja Max Login Attempts Per User. Działa podobnie jak poprzednia opcja, ale zlicza ilość prób zalogowania dla wybranej nazwy użytkownika. Nie zwraca uwagi na numer IP komputera.

W polu Login Time Period wpisz przez ile minut mają być zliczane próby zalogowania dla danego numeru IP lub nazwy użytkownika. Skrypty działają intensywnie w krótkim czasie, więc 5 minut będzie dobrym wyborem.

W polu Lockout Time Period wpisz przez ile minut zostanie zblokowany numer IP, który przekroczy bezpieczną ilość prób zalogowania.

Opcje Blacklist Repeat Offender  i Blacklist Threshold działają tak samo jak przy zakładce Detect ze stronami 404. Można dzięki nim na stałe zblokować numery IP, które powtarzalnie są blokowane.

Zaznacz pole Email Notifications, aby dostawać powiadomienia na podany niżej adres e-mail o blokadach numerów IP po nieudanych próbach zalogowania.

 

Jakie jest Twoje zdanie na temat możliwości tej wtyczki?


Jeśli podoba Ci się artykuł to kliknij poniżej przycisk „Lubię to!”.

Paweł Protaś podpis

Kolejna część artykułu i filmu

Podziel się na:
  • Facebook
  • Wykop
  • Twitter
  • Blip
  • Śledzik
  • Google Bookmarks
  • Gadu-Gadu Live
  • Blogger.com
  • co-robie
  • Forumowisko
  • Kciuk.pl
  • LinkedIn
  • Drukuj

Komentarze: 6

  1. Lupus pisze:

    Kolejny bardzo przyjazny artykuł, gdy tylko znajdę czas zacznę wprowadzać w życie, coby się ustrzec przed przyszłymi internetowymi adwersarzami chętnymi połakomić się na mojego biednego wordpresika ;)
    Lupus ostatnio opublikował..Statystyki społeczności League of LegendsMy Profile

  2. Mariusz pisze:

    Cześć Paweł. Wczoraj konfigurowałem Better WP Security według Twojego poradnika. Strona działa, z nią wszystko jest OK. Mam jednak problem z zalogowaniem się do panelu administracyjnego. Zmieniłem w ustawieniach wp-admin na własna nazwę i wpisując wg schematu http://www.mojadomena/nowa_nazwa_admina wywala mi błąd 404 z komunikatem The request /…/ was not found on this server. Czy masz pomysł, gdzie pogrzebać, żeby to naprawić?

    • Cześć Mariuszu. Taki komunikat pojawia mi się, gdy wpiszę właśnie domyślny adres do logowania czyli nazwaDomeny/wp-admin. Wystarczy wpisać jeden źle znak i nie będzie działało. Teraz, aby zalogować się po staremu do WordPressa skopiuj sobie plik .htaccess za pomocą programu FTP na dysk twardy z serwera, gdzie masz swoją stronę na WordPressie. Następnie usuń ten plik z serwera. Sprawdź w ustawienia wtyczki jak dokłanie wpisałeś adres strony do logowania. Jeśli użyłeś w adresie polskie znaki, znaki specjalne lub spacje, to może być problem i lepiej je wyrzuć z adresu. Zapisz ponownie zmiany oraz w zakładce Ustawienia -> Bezpośrednie odnośniki zapisz ponownie zmiany. Polecam wybrać opcję Nazwa wpisu, aby linki były czytelne dla ludzi. Napisz jaki Ci to dało efekt.

      • Mariusz pisze:

        Dzięki za podpowiedź :) Polskich znaków ani spacji nie używałem, jestem w miarę ogarniety ;) W Ustawieniach miałem zaznaczone już wcześniej Bezpośrednie odnośniki. Wykasowałem z FTP-a plik .htaccess i to rzeczywiście to pomogło zalogować się na końcówkę /wp-admin. Dzięki :) W zakładce Tweaks poodznaczałem wszystko, co było na żółtym tle i jeszcze kilka rzeczy, żeby nie mieć (do czasu, kiedy zrozumiem w pełni poszczególne funkcje i ich działanie w praktyce) chwilowych problemów z logowaniem. Nadal jednak nie mogę zalogowac się na wymyśloną przeze mnie końcówkę adresu do logowania do panelu administracyjnego. Adres skopiowałem z okienka, więc nie ma mowy o pomyłce. Wywala mi moją stronę z informacją o błędzie 404. Za to, mimo zaznaczoonej funkcji logowania się na inny adres mogę zalogować się na http://nazwamojej strony/wp-admin, choć przy wpisaniu tego adresu i kliknięciu ENTER dopisuje mi bardzo długi link i wyskakuje okno do logowania, ale mogę za to się zalogować bez problemu. Jak zacząłem mieć możliwośc logowania, to z kolei przestały wyświetlać mi sie podstrony :) Wyświetlała się tylko strona główna. Muszę jeszcze raz na spokojnie krok po kroku prześledzić Twój poradnik. Jest to już ostatnia rzecz na mojej stronie, by wprowadzić ją w „życie” :)

        • Nie miałem takiej sytuacji jak u Ciebie. Wszystko zachowuje się odwrotnie niż powinno. Na tą chwilę nie przychodzi mi do głowy, co jeszcze można sprawdzić. W takich przypadkach szukam pomocy u innych, a przede wszystkim u twórców wtyczki. Opisz swój problem na forum tej wtyczki pod tym adresem: http://wordpress.org/support/plugin/better-wp-security Może w ten sposób szybciej uzyskasz odpowiedź, co jest przyczyną problemu.

          • Mariusz pisze:

            Mimo wszystko dzięki za zaangażowanie. Odinstaluję wtyczkę i spróbuję raz jeszcze krok, po kroku. A teraz zmykam oglądać kolejny moduł na Twoim szkoleniu :)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

CommentLuv badge

Czemu służy to pytanie?