Jak skutecznie i za darmo zabezpieczyć stronę w WordPress-ie?

Dzisiaj opiszę, w jaki sposób można skutecznie i bez opłat zabezpieczyć stronę w WordPress-ie. Olbrzymia dostępność i popularność systemu WordPress sprawia, że strony na nim oparte często stają się łatwym celem ataków. Zaatakowana strona może być następnie wykorzystana np. do rozsyłania z niej spamu. Niestety, „czysty” WordPress nie oferuje opcji zabezpieczeń, które mogłyby nas uchronić przed przykrymi konsekwencjami przejęcia strony.

Warto zatem zainstalować wtyczkę, która daje takie możliwości i – co ciekawe – oferuje naprawdę solidny zestaw opcji bez żadnych opłat. Przykładem takiej wtyczki jest iThemes Security. Stosuję ją na każdej uruchamianej przeze mnie stronie i jeszcze nigdy mnie nie zawiodła. Poniżej opisałem szczegółowo moją checklistę związaną z zabezpieczeniami strony w WordPress-ie.

Zainstaluj i aktywuj wtyczkę iThemes Security

Pierwszy krok to oczywiście instalacja oraz aktywacja wtyczki. Jej darmowa wersja jest dostępna do pobrania w typowy dla WordPress-a sposób.

Aby zainstalować oraz aktywować wtyczkę iThemes Security:

  1. Z menu po lewej stronie wybierz polecenie Wtyczki, a następnie wybierz polecenie Dodaj nową.
  2. Na ekranie Dodaj wtyczki w pole Szukaj wtyczek… wpisz ithemes security i naciśnij klawisz Enter.
  3. W ramce wtyczki iThemes Security wybierz przycisk Instaluj, a następnie Aktywuj.
Zainstaluj i aktywuj wtyczkę iThemes Security
Zainstaluj i aktywuj wtyczkę iThemes Security

Włącz zalecane zabezpieczenia strony

Wtyczka iThemes Security oferuje dziesiątki opcji zabezpieczeń. Początkowo ciężko przebrnąć przez nie wszystkie, dlatego warto skorzystać z sugestii autorów i włączyć zabezpieczenia zalecane dla niemal każdej strony w WordPress-ie.

Zalecane zabezpieczenia strony to m.in.:

  • Włączenie listy zablokowanych użytkowników.
  • Włączenie wykonywania kopii zapasowych.
  • Włączenie ochrony przed atakami siłowymi.
  • Wymuszenie tworzenia bezpiecznych haseł.
  • Włączenie opcji zaawansowanych WordPress-a (tzw. WordPress Tweaks).

Włączenie listy zablokowanych użytkowników

Ta funkcja pozwala określać adresy IP komputerów oraz nazwy przeglądarek, które nie będą miały dostępu do Twojej strony WWW.

Włączenie wykonywania kopii zapasowych

Kopia zapasowa bazy danych to jedna z najlepszych form ochrony Twojej strony WWW przed awarią. Włączenie opcji wykonującej kopie zapasowe jest ważne, ale warto jeszcze zaplanować harmonogram jej wykonywania – opisałem to poniżej, jako oddzielny krok do wykonania.

Włączenie ochrony przed atakami siłowymi

Jeśli ktoś miałby nieograniczony czas i chciał wypróbować nieograniczoną liczbę kombinacji haseł, aby dostać się na Twoją stronę WWW, w końcu by to zrobił, prawda? WordPress jest bardzo podatny na tę metodę ataku, zwaną siłowym, ponieważ nie kontroluje liczby prób zalogowania się użytkownika. Ochrona przed atakami siłowymi polega na włączeniu limitów logowania, dzięki czemu po osiągnięciu określonego progu nieudanych prób zalogowania, użytkownik zostanie zablokowany.

Włączenie opcji zaawansowanych WordPress-a (tzw. WordPress Tweaks)

Włączenie zaawansowanych opcji WordPress-a (zwanych WordPress Tweaks) można wykorzystać w celu dalszego zwiększenia bezpieczeństwa strony, np. poprzez wyłączenie edytora plików dostępnego w panelu administracyjnym.

Włączenie zalecanych zabezpieczeń strony

Aby włączyć zalecane zabezpieczenia strony:

  1. Z menu po lewej stronie wybierz polecenie Security, a następnie wybierz polecenie Security Check.
  2. W oknie Security Check wybierz przycisk Secure Site.
Włącz zalecane zabezpieczenia strony
Włącz zalecane zabezpieczenia strony

Po wybraniu przycisku Secure Site ponownie zostanie wyświetlone okno Security Check, w którym należy dodatkowo włączyć ochronę przed atakami siłowymi.

W tym celu, w oknie Security Check:

  1. W polu Email Address wpisz adres e-mail, na który będą przesyłane informacje o próbach ataków siłowych.
  2. Wybierz przycisk Activate Network Brute Force Protection.
  3. Wybierz przycisk Close.
Włącz zalecane zabezpieczenia strony
Włącz zalecane zabezpieczenia strony

Włącz wykrywanie błędów 404

Błąd 404 pojawia się, gdy w przeglądarce zostanie otwarta strona, która nie istnieje. Choć początkowo brzmi to dziwnie, taka sytuacja najczęściej ma miejsce, gdy próbujemy odwiedzić stronę, na której kiedyś już byliśmy. Jednak w międzyczasie autor strony albo ją usunął albo przeniósł w inne miejsce. Informacja o tym, że strona nie istnieje, jest wyświetlana w postaci tzw. błędu 404.
Wykrywanie błędów 404 z perspektywy bezpieczeństwa ma sens dlatego, że wiele osób lub częściej robotów „skanuje” nasze strony próbując otworzyć je poprzez podanie adresu, licząc że „w końcu się uda” i trafią na stronę, która będzie „furtką” do naszego systemu.

Aby włączyć wykrywanie błędów 404:

  1. Z menu po lewej stronie wybierz polecenie Security, a następnie wybierz polecenie Settings.
  2. W ramce 404 Detection wybierz przycisk Enable.
Włącz wykrywanie błędów 404
Włącz wykrywanie błędów 404

Włącz automatyczne tworzenie kopii zapasowych bazy danych

Po wybraniu opisanego powyżej polecenia Secure Site została włączona opcja tworzenia kopii zapasowych bazy danych. Warto dodatkowo włączyć automatyczne wykonywanie tej kopii zapasowej np. co 3 dni.

Aby włączyć automatyczne tworzenie kopii zapasowej bazy danych:

  1. Z menu po lewej stronie wybierz polecenie Security, a następnie wybierz polecenie Settings.
  2. W ramce Database Backups wybierz przycisk Configure Settings.

    Włącz automatyczne tworzenie kopii zapasowych bazy danych
    Włącz automatyczne tworzenie kopii zapasowych bazy danych
  3. W oknie Database Backups:
    1. Włącz opcję Enable Scheduled Database Backups.
    2. W pole Backup Interval wpisz 3.
    3. Wybierz przycisk Save Settings.
Włącz automatyczne tworzenie kopii zapasowych bazy danych
Włącz automatyczne tworzenie kopii zapasowych bazy danych

Skonfiguruj ustawienia zaawansowane systemu (tzw. System Tweaks)

Zaawansowane ustawienia systemu (zwane System Tweaks) umożliwiają dodanie kolejnych warstw zabezpieczeń związanych m.in. zablokowaniem złośliwego kodu, który mógłby zostać podstępnie wgrany na serwer.

Aby skonfigurować ustawienia zaawansowane systemu (tzw. System Tweaks):

  1. Z menu po lewej stronie wybierz polecenie Security, a następnie wybierz polecenie Settings.
  2. W ramce System Tweaks wybierz przycisk Enable, a następnie wybierz przycisk Configure Settings.
  3. W oknie System Tweaks:
    1. Włącz opcję Protect System Files, dzięki której zabezpieczone zostaną dostępne publicznie pliki WordPress-a niepowiązane bezpośrednio ze stroną, jak m.in. readme.html, wp-config.php i inne.
    2. Włącz opcję Disable Directory Browsing, dzięki której niemożliwe stanie się wyświetlenie zawartości dowolnego folderu, nawet jeśli nie będzie on zawierał domyślnego pliku index.
    3. Włącz opcję Filter Request Methods, dzięki której zostaną zablokowane wszystkie żądania śledzenia stron.
    4. Włącz opcję Filter Suspicious Query String in the URL, dzięki której wyeliminujemy częste próby dostępu do naszej strony WWW.
    5. Włącz opcję Filter Non-English Charaters, dzięki której wszystkie znaki inne, niż angielskie zostaną wyeliminowane z zapytań przekazywanych w adresach stron WWW.
    6. Włącz opcję Filter Long URL String, dzięki której zostanie ograniczona liczba znaków, jaką może zawierać adres strony WWW.
    7. Włącz opcję Remove File Writing Premissions, która uniemożliwi edycję plików wp-config.php oraz .htaccess zarówno przez skrypty, jak i przez użytkowników.
    8. Włącz opcję Disable PHP in Uploads, która uniemożliwi wykonywanie kodu zapisanego w plikach PHP przesyłanych do folderu /uploads.
    9. Włącz opcję Disable PHP in Plugins, która uniemożliwi wykonywanie kodu zapisanego w plikach PHP przesyłanych do folderu /plugins.
    10. Włącz opcję Disable PHP in Themes, która uniemożliwi wykonywanie kodu zapisanego w plikach PHP przesyłanych do folderu /themes.
    11. Wybierz przycisk Save Settings.
Skonfiguruj ustawienia zaawansowane systemu (tzw. System Tweaks)
Skonfiguruj ustawienia zaawansowane systemu (tzw. System Tweaks)
Skonfiguruj ustawienia zaawansowane systemu (tzw. System Tweaks)
Skonfiguruj ustawienia zaawansowane systemu (tzw. System Tweaks)

Ukryj panel logowania

Każda strona WordPress ma formularz logowania, który umożliwia dostęp do tzw. kokpitu, czyli panelu administracyjnego strony w WordPress-ie. Do formularza logowania nie prowadzi bezpośrednio żaden link ze strony, ale w przypadku standardowej instalacji WordPress-a można bardzo łatwo wyświetlić ten formularz. Wystarczy w pasku adresu przeglądarki internetowej do adresu strony, którą oglądamy, dopisać /wp-admin.

Wtedy zostanie wyświetlony formularz logowania do panelu administracyjnego. Teraz „wystarczy” wpisać login oraz hasło, aby uzyskać dostęp do „wnętrzności” naszej strony. Oczywiście, login i hasło nie są łatwe do odgadnięcia, ale już samo udostępnienie formularza logowania pod znanym wszystkim adresem jest niebezpieczne. Umożliwia to bowiem możliwość przeprowadzenia ataku siłowego poprzez kolejne próby wpisywania loginów oraz haseł.

Ukrycie panelu logowania sprawi, że adres strony z formularzem logowania będzie znany tylko Tobie. Dzięki temu, zabezpieczymy się przed próbami ataku siłowego na panel administratora.

Aby ukryć panel logowania:

  1. Z menu po lewej stronie wybierz polecenie Security, a następnie wybierz polecenie Settings.
  2. W oknie iThemes Security w górnej części wybierz Advanced, aby wyświetlić zaawansowane moduły wtyczki iThemes Security.

    Ukryj panel logowania
    Ukryj panel logowania
  3. W ramce Hide Backend wybierz przycisk Configure Settings.
  4. W oknie Hide Backend:
    1. Włącz opcję Enable the hide backend feature.
    2. W pole Login Slug wpisz nazwę, która będzie nowym adresem pod którym będzie dostępny formularz logowania do panelu administracyjnego strony WWW.
    3. Wybierz przycisk Save Settings.
Ukryj panel logowania
Ukryj panel logowania

A jak Ty zabezpieczasz swoją stronę w WordPress-ie?

Korzystasz z tej wtyczki, by zabezpieczać swoją stronę w WordPress-ie? Albo używasz jakichś jej dodatkowych ustawień? A może korzystasz z zupełnie innego narzędzia? Daj znać w komentarzu.

Dodaj komentarz