Zabezpieczenie WordPress – 8 metod bez wtyczek

2024-06-17
Chcesz dowiedzieć się, jak skutecznie zadbać o zabezpieczenie strony WordPress i ochronić ją przed atakami? Zapraszam do artykułu

Emil Patyk
Emil Patyk Ekspert w budowaniu stron www, Marketingowiec, Założyciel Irego

W tym przewodniku dowiesz się w jakim celu i jak atakowane są strony internetowe oraz jak ręcznie zabezpieczyć stronę WordPress bez używania wtyczek. Wyjaśnimy, dlaczego tradycyjne wtyczki bezpieczeństwa mogą stanowić zagrożenie oraz jak zastosować autorskie metody ochrony serwera. Przedstawimy również praktyczne porady i fragmenty kodu, które możesz wdrożyć od razu. Jeśli chcesz zrozumieć bezpieczeństwo wordpressa w pełni oraz zależy Ci aby zabezpieczyć swoją stronę na najwyższym poziomie, jesteś we właściwym miejscu!

Jak złośliwe oprogramowanie przejmuje stronę? – główne zagrożenia bezpieczeństwa

WordPress to najpopularniejszy system zarządzania treścią (CMS) na świecie, obsługujący ponad 40% wszystkich stron internetowych. Popularność ta ma jednak swoją cenę – według danych z grudnia 2024 roku, można oszacować, że około 519 milionów stron na świecie jest stworzonych przy użyciu tego CMS. Każda z nich ma ten sam silnik, jest tak samo zbudowana. Nietrudno doświadczonym programistom jest znaleźć luki bezpieczeństwa. A patrząc przez pryzmat, że większość stron jest de facto źle zabezpieczona lub tych zabezpieczeń nie ma wcale, to jest to łatwy kąsek do pozyskania… No właśnie, czego?

Cele ataków

Hakerzy nie włamują się samodzielnie, tylko mają stworzone do tego specjalne boty, czyli programy, które podejmują tysiące takich prób dziennie na tysiące stron. To właśnie ze względu na skalę jest to łatwy kąsek. Tylko po co im ten włam? Przy najlepszych (dla nich) wiatrach, wykradną dane płatnicze np. jeśli jest to sklep internetowy, czy dane użytkowników, takie jak adres e-mail.

Inne cele ataków to również między innymi:

  • przejęcie kontroli nad stroną, aby opublikować spam lub złośliwe oprogramowanie,
  • Ataki DDoS: zablokowanie działania przez przeciążenie jej ruchem,
  • umieszczanie niechcianych linków w celu poprawienia pozycji innych stron,
  • czy wykorzystanie przejętej strony do oszukiwania innych użytkowników.

Dlaczego wtyczki zabezpieczające WordPress mogą stanowić zagrożenie?

Aby zabezpieczyć stronę WordPress, pierwszym rozwiązaniem, które przychodzi do głowy, są często wtyczki bezpieczeństwa. W końcu oferują łatwe wdrożenie i obiecują zabezpieczenie strony internetowej jednym kliknięciem. Niestety, korzystanie z nich niesie za sobą pewne ryzyko.

Wtyczki to kawałki dodatkowego kodu, które mogą zawierać błędy, luki, czy obciążać stronę. Co ciekawe, zdarzają się przypadki, potwierdzone raportami, że wtyczki bezpieczeństwa zawierają luki, które umożliwiają hakerom zdalne wykonanie złośliwego kodu. W takiej sytuacji była jedna z najpopularniejszych wtyczek WordFence.

Konflikty technologiczne i problemy z wydajnością

Im więcej wtyczek zainstalujesz, tym większe ryzyko, że wystąpią między nimi konflikty. Mogą one powodować błędy, spowalniać działanie strony, a nawet doprowadzić do jej awarii. To są bardzo częste sytuacje.

1. Bezpieczeństwo strony zacznij od fundamentów

Przejdźmy zatem do konkretów – jak zabezpieczyć stronę WordPress? Bezpieczeństwo WordPressa zaczyna się już na etapie budowy strony. Fundamentem solidnej ochrony jest odpowiednia technologia, dobrze dobrany motyw i minimalizacja używanych wtyczek. Te decyzje mają ogromny wpływ na bezpieczeństwo i wydajność witryny. Jak więc podejść do tego tematu w sposób odpowiedzialny?

Wybór odpowiedniego motywu i unikanie gotowych szablonów

Podstawą bezpieczeństwa wordpressa jest motyw z pewnego źródła. Wybieraj motywy dostępne w oficjalnym repozytorium lub od zaufanych dostawców. Unikaj pirackich motywów – często zawierają złośliwy kod, który może zagrażać Twojej stronie. Gotowe szablony do kupienia z popularnych platform marketplace są piękne, ale również bywają przeładowane funkcjami, które zwiększają ryzyko ataków. Jeśli źle trafisz, to nawet wtyczki bezpieczeństwa nie pomogą.

Popularny marketplace z gotowymi motywami do WordPressa

Nie używaj nazwy użytkownika ‘admin’

Zmiana domyślnego loginu administratora jest niezbędna. Domyślna nazwa użytkownika „admin” to pierwsze, co próbują wykorzystać hakerzy podczas ataków brute force. Jeśli Twoje konto administracyjne nadal używa tej nazwy, znacząco ułatwiasz pracę potencjalnym napastnikom. Ustaw nazwę użytkownika na bardziej unikalną.

Panel logowania WordPressa

Jak zmienić login do panelu administracyjnego?

Z racji, że nazwy użytkownika nie da się zmienić, to najprostszym sposobem jest utworzenie nowego administratora. Przejdź do: Użytkownicy – Utwórz użytkownika i wypełnij dane. Gdy się uda i z sukcesem zalogujesz się na nowe konto, usuń poprzedniego użytkownika z nazwą logowania 'admin’.

Panel użytkowników w WordPress

Certyfikat SSL

Czym jest certyfikat SSL? To podstawowy element zabezpieczenia każdej strony internetowej. Zapewnia on szyfrowanie danych przesyłanych między użytkownikiem a serwerem, co chroni je przed przechwyceniem przez osoby trzecie. Strony z aktywnym certyfikatem SSL wyświetlają w przeglądarce ikonę kłódki i korzystają z protokołu HTTPS zamiast HTTP.

2. Aktualizacje WordPressa

Częste aktualizacje to jeden z podstawowych elementów dbania o bezpieczeństwo wordpressa. Każda najnowsza wersja nie tylko wprowadza ulepszenia funkcjonalne, ale przede wszystkim łata wykryte luki bezpieczeństwa. Zaniedbanie aktualizacji sprawia, że Twoja strona staje się łatwym celem dla hakerów, którzy aktywnie poszukują witryn z nieaktualnym oprogramowaniem.

Wersja PHP

Regularna zmiana wersji PHP to jeden z kluczowych kroków, aby zabezpieczyć swoją stronę przed zagrożeniami.

Dlaczego zmiana wersji PHP jest ważna?

  1. Bezpieczeństwo – Nowe wersje zawierają poprawki, które pomagają zabezpieczyć swoją stronę przed najnowszymi zagrożeniami.
  2. Wydajność – Aktualna wersja sprawia, że strona działa szybciej i bardziej efektywnie.
  3. Kompatybilność – Najnowsze wtyczki i motywy często wymagają aktualnych wersji.

To prosty sposób, aby zabezpieczyć swoją stronę i zapewnić jej lepszą wydajność. Jeśli nie jesteś pewien, jak wykonać zmianę wersji PHP, skontaktuj się z dostawcą hostingu, który pomoże Ci przejść przez ten proces.

Aktualizuj wtyczki oraz motyw

Dobrze funkcjonująca strona internetowa działa w taki sposób, że aktualizacje motywu oraz (kilku) wtyczek odbywają się automatycznie – od razu po premierze aktualizacji. I to jest już pewnego rodzaju standardowe zabezpieczenie strony. Problem z większością witryn jest taki, że automatyczne, ale i również te ręczne aktualizacje mogą powodować konflikty technologiczne. Strona nam się rozwali, a my przez jakiś czas nawet o tym nie będziemy wiedzieć. Dlaczego? Ponieważ przy nadmiarze wtyczek łatwo o to, że coś może działać dziś, ale jutro, po aktualizacji już nie będzie ze sobą współgrać. Efektem takich sytuacji są zniszczone strony pod względem wizualnym oraz funkcjonalnym.

Jak zaktualizować wtyczki oraz motyw?

W panelu admina w lewej kolumnie przejdź do: Wtyczki – Zaznacz wtyczkę i kliknij aktualizuj. W celu aktualizacji motywu przejdź do: Wygląd – Motywy – Kliknij motyw i kliknij aktualizuj.

3. Zabezpieczenie strony hasłem do panelu administracyjnego

Panel administracyjny strony to serce Twojej strony – jeśli ktoś uzyska do niego dostęp, może całkowicie przejąć kontrolę nad witryną. Dlatego zabezpieczenie dostępu do panelu logowania jest kluczowe.

Jak skutecznie zabezpieczyć panel administracyjny? Ustaw silne hasło – hasło najlepiej jakby składało się z co najmniej 50 znaków, zawierając wielkie i małe litery, cyfry oraz znaki specjalne. W tym celu skorzystaj z generatora haseł. Dzięki temu Twój panel logowania będzie o wiele bardziej bezpieczny.

Generator haseł

4. Kopie bezpieczeństwa

Zabezpieczyć stronę WordPress możesz również przez tworzenie kopii bezpieczeństwa, co jest absolutną podstawą. Kopie zapasowe umożliwiają szybkie przywrócenie strony w przypadku awarii, ataku hakerskiego lub przypadkowego usunięcia danych. Nawet najlepiej zabezpieczona strona może paść ofiarą nieprzewidzianych zdarzeń, dlatego warto zadbać o regularne backupy.

Jak tworzyć kopie zapasowe w WordPress?

Najprostszym i najszybszym sposobem na tworzenie kopii zapasowych jest skorzystanie z dedykowanej wtyczki. Warto jednak pamiętać, że po wykonaniu kopii zapasowej nie ma potrzeby trzymania wtyczki na stałe – możesz ją bezpiecznie usunąć, aby nie stanowiła potencjalnego zagrożenia.

Jak to zrobić krok po kroku?

  1. Zainstaluj zaufaną wtyczkę do tworzenia kopii zapasowych (np. All-in-One WP Migration and Backup, czy UpdraftPlus).
  2. Wykonaj pełną kopię zapasową, obejmującą pliki strony oraz bazę danych.
  3. Zapisz kopię zapasową na zewnętrznym nośniku, w chmurze (np. Google Drive, Dropbox) lub na dysku lokalnym.
  4. Po zakończeniu procesu usuń wtyczkę, aby zminimalizować ryzyko związane z jej potencjalnymi lukami bezpieczeństwa.
Wtyczka WP All In One Migration

Gdy Twoja strona jest regularnie modyfikowana, jedna kopia zapasowa mija się z celem. Nie będziesz w stanie przywrócić aktualnej wersji, dlatego aby w pełni zabezpieczyć swoją stronę zadbaj o automatyczne kopie bezpieczeństwa.

Automatyczne kopie zapasowe

Zamiast polegać na wtyczkach, które mogą obciążać serwer i stanowić dodatkowy punkt ryzyka, warto wybrać hosting dla WordPress, który oferuje regularne i niezawodne automatyczne kopie zapasowe. Dzięki temu masz pewność, że Twoja strona jest chroniona bez potrzeby ręcznego zarządzania backupami.

Dobry hosting dla WordPress zapewnia automatyczne zabezpieczenie WordPress w postaci regularnych kopii zapasowych całego serwera. Przykładem takiego rozwiązania jest CyberFolks, który tworzy automatyczne kopie zapasowe nawet co 3 godziny. To oznacza, że w razie awarii lub ataku hakerskiego możesz szybko przywrócić swoją stronę do wcześniejszego stanu bez utraty danych.

Korzystając z usług hostingu dla WordPress, który oferuje automatyczne zabezpieczenie WordPress, eliminujesz konieczność instalowania dodatkowych wtyczek. To nie tylko zwiększa bezpieczeństwo, ale także poprawia wydajność strony. Dzięki regularnym backupom na poziomie serwera masz pewność, że Twoja witryna jest chroniona w sposób niezawodny i profesjonalny.

Wybór odpowiedniego hostingu dla WordPress to inwestycja w spokój i bezpieczeństwo. Automatyczne zabezpieczenie WordPress przez dostawcę hostingu pozwala skupić się na rozwijaniu strony, mając pewność, że w razie problemów zawsze możesz szybko odzyskać wszystkie dane.

5. Zabezpieczenie strony WordPress przez plik .htaccess

Plik .htaccess to potężne narzędzie, które może znacznie zwiększyć bezpieczeństwo strony WordPress. Za jego pomocą można skonfigurować różne reguły, które ograniczą dostęp do kluczowych plików i katalogów, zablokują niechciane działania i poprawią ogólną ochronę serwera. Odpowiednio skonfigurowany plik .htaccess działa jak dodatkowa warstwa zabezpieczeń, skutecznie chroniąc stronę przed atakami.

Wtyczka File Manager

Aby wprowadzić zmiany w pliku .htaccess, masz dwie główne opcje: za pomocą wtyczki File Manager bezpośrednio z panelu WordPressa lub przez klienta FTP, takiego jak FileZilla.

Skonfigurujemy Ci .htaccess bezpłatnie

Dużo nas to nie kosztuje – mamy gotowe kody i wiemy jak to zrobić w 5 minut. Dla osoby, która nie zna podstaw programowania może to spędzać sen z powiek, dlatego pomożemy Ci bezpłatnie i niezobowiązująco.

Emil Patyk, założyciel Irego

Emil Patyk

Zablokuj dostęp do pliku xmlrpc.php

Plik xmlrpc.php umożliwia zdalne publikowanie treści i komunikację z WordPressem przez aplikacje zewnętrzne. Niestety, jest on często wykorzystywany do ataków typu brute force oraz DDoS. Jeśli nie korzystasz z funkcji zdalnego publikowania, warto całkowicie zablokować dostęp do tego pliku, aby zmniejszyć ryzyko ataków.

Wizualizacja pliku .htaccess

Poniżej znajdziesz gotowy kod do umieszczenia w pliku .htaccess, który skutecznie zablokuje dostęp do xmlrpc.php.

<Files xmlrpc.php>
 Order deny,allow
 Deny from all
</Files>

Zabezpieczenie pliku wp-config.php

Plik wp-config.php zawiera kluczowe dane konfiguracyjne, takie jak informacje o bazie danych, klucze bezpieczeństwa i inne ustawienia. Jeśli haker uzyska dostęp do tego pliku, może przejąć pełną kontrolę nad Twoją stroną. Dlatego warto zadbać o dodatkową ochronę wp-config.php.

Możesz to zrobić za pomocą reguły w .htaccess, która uniemożliwi dostęp do tego pliku z zewnątrz. Gotowy kod znajdziesz poniżej.

# Deny access to wp-config.php file
<files wp-config.php>
order allow,deny
deny from all
</files>

Inne formuły, które również warto uwzględnić

Poniżej przedstawiamy zestaw dodatkowych reguł do pliku .htaccess, które zwiększają bezpieczeństwo strony WordPress. Te formuły blokują dostęp do krytycznych plików, uniemożliwiają indeksowanie katalogów oraz chronią przed niektórymi atakami XSS.

# Deny access to all .htaccess files
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

# Disable directory browsing
Options All -Indexes

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Blocks some XSS attacks
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F,L]
</IfModule>

# Restricts access to PHP files from plugin and theme directories
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*\.php)$ - [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L]

<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

6. Konfiguracja uprawnień plików i katalogów

Odpowiednia konfiguracja uprawnień plików i katalogów w WordPressie to jeden z podstawowych elementów zabezpieczenia strony. Nieprawidłowe ustawienia mogą pozwolić nieautoryzowanym osobom na odczyt, modyfikację, a nawet usunięcie plików na serwerze.

Katalog/plikRekomendowane uprawnienia
wp-admin755
wp-content755
wp-includes755
wp-config644
.htacess644
pozostałe pliki644

7. Zmiana domyślnej ścieżki logowania do panelu WordPressa

Zmiana domyślnej ścieżki logowania do panelu administracyjnego strony może stanowić dodatkową ochronę przed atakami brute force. Domyślne ścieżki, takie jak /wp-login.php czy /wp-admin, są dobrze znane botom i hakerom. Dzięki zmianie możesz częściowo zablokować dostęp do strony logowania dla nieuprawnionych osób.

Jednak jeśli strona posiada już odpowiednie zabezpieczenia, takie jak silne hasła, reguły w pliku .htaccess i jest odpowiednio zbudowana, zmiana ścieżki dostępu do panelu logowania nie jest koniecznością, a dodatkiem.

Warto pamiętać, że próba ukrycia panelu administracyjnego strony może skomplikować logowanie dla administratorów i współpracowników. Lepiej więc skupić się na solidnych metodach ochrony, które skutecznie zablokują dostęp do strony logowania dla nieautoryzowanych użytkowników.

8. Zmiana prefiksów tabel w bazie danych

Zmiana prefiksu bazy danych to prosty sposób na zwiększenie bezpieczeństwa strony. Domyślny prefiks tabel to wp_, co ułatwia hakerom przeprowadzanie ataków typu SQL Injection. Najlepiej jest wykonać zmianę prefiksu bazy danych już na etapie instalacji, gdy konfigurujesz podstawowe ustawienia strony. Dzięki temu unikniesz konieczności późniejszej modyfikacji bazy danych, co jest bardziej skomplikowane i zminimalizujesz ryzyko błędów.

Dlaczego warto dokonać zmiany prefiksu bazy danych?

  • Utrudnienie ataków SQL Injection – boty nie będą mogły łatwo zgadnąć nazw tabel.
  • Zwiększenie bezpieczeństwa bazy danych – zmniejszasz ryzyko przejęcia danych.

Zamiast domyślnego wp_, użyj bardziej złożonego prefiksu, np. x91ep_ lub twojanazwa123_.

Zmiana prefiksu tabel to prosty krok, który może znacząco podnieść poziom bezpieczeństwa Twojej strony WordPress.

Podsumowanie

Zadbane i odpowiednio skonfigurowane zabezpieczenie strony internetowej to podstawa jej stabilności i odporności na ataki. Warto pamiętać, że standardowe zabezpieczenie strony zaczyna się już na etapie jej budowy, a regularne aktualizacje, silne hasła oraz ręczne metody ochrony zapewniają maksymalną ochronę. Zastanawiasz się jak zabezpieczyć witrynę, aby nie popełnić błędu? Lub jak chronić witrynę automatycznie? Nie wahaj się szukać pomocy.

Jeżeli masz jakiekolwiek pytania dotyczące zabezpieczenia strony internetowej, nie jesteś pewien, jak wdrożyć konkretne rozwiązania, lub napotkałeś trudności na którymkolwiek etapie – skontaktuj się z nami! Doradzimy Ci, a w przypadku drobnych zadań z przyjemnością pomożemy bezpłatnie.