Wordpress

WordPress i plik xmlrpc.php – dlaczego warto go zablokować?

Jeżeli dobrze przyjrzałeś/ś się instalacji WordPressa na swoim hostingu, to z pewnością zauważyłeś/aś, że w katalogu ze stroną widoczny jest plik xmlrpc.php. Ta enigmatyczna nazwa wiąże się z protokołem XML-RPC, który jest używany przez WordPressa do komunikacji z innymi systemami zewnętrznymi. Sama jego obecność nie jest jeszcze tak niebezpieczna, jak jego bezpośrednie użycie.

Do czego służy plik xmlrpc.php?

WordPress jest oprogramowaniem, z którego można korzystać nie tylko po zalogowaniu się do panelu administracyjnego, ale także z wykorzystaniem aplikacji zewnętrznych. Plik xmlrpc.php jest odpowiedzialny za umożliwienie komunikacji z i do aplikacji z wykorzystaniem funkcji XML-RPC, która jest dostępna w WordPressie niemal od początków jego istnienia. Z biegiem lat okazało się, iż owa funkcja stwarza potencjalnie niebezpieczne możliwości i ułatwia włamanie na strony internetowe, korzystające z aplikacji WordPress.

Jedną z opcji, która korzystała z funkcji XML-RPC były pingbacki i trackbacki dla danej witryny. Jeżeli przeglądasz ustawienia swojego WordPressa, to z pewnością natkniesz się na te nazwy w ustawieniach Dyskusja.

Jakie zagrożenia niesie ze sobą aktywny plik xmlrpc.php?

Plik xmlrpc.php i funkcja XML-RPC, jeśli są aktywne, są bardzo łatwym kąskiem dla potencjalnego hakera. Możliwości wykorzystania tej opcji są szerokie, ale najczęściej dochodzi do 2 przypadków wykorzystania luki w tym skrypcie:

  • nieautoryzowana wysyłka spamu
  • ataki DDOS na stronę internetową

Warto przy tym wspomnieć, że XML-RPC jest stosowany w obecnym środowisku WordPressa o wiele rzadziej niż jeszcze kilka lat temu. Nie mniej, jego obecność jest potencjalnym zagrożeniem dla samej witryny.

Jak zablokować plik xmlrpc.php?

Wyłączenie funkcji XML-RPC nie wiąże się z usunięciem samego pliku (czego nie warto i tak robić), ale przede wszystkim z blokadą potencjalnego ruchu, który może uzyskać do niego dostęp. Do ochrony swojej strony wykorzystaj opcje udostępnione przez hosting oraz samą aplikacje WordPress.

Blokada pliku xmlrpc.php z wykorzystaniem WordPress

Do tego rodzaju blokady użyj pliku functions.php, który znajdziesz w zakładce Wygląd-Edytor motywu. Do obecnych już funkcji (ten plik może być również pusty) dodaj linijkę:

add_filter('xmlrpc_enabled', '__return_false');

Blokada pliku xmlrpc.php z wykorzystaniem pliku .htaccess na hostingu

Dzięki funkcjonalności hostingu możesz taki plik zablokować również edytując plik .htaccess w katalogu ze stroną internetową. Do zawartości pliku dodaj linijkę o treści:

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

Nie wiesz jak poprawnie edytować ten plik? Sprawdź przykładową instrukcję, która wyjaśnia jak używać pliku .htaccess na hostingu home.pl.

Jak sprawdzić, czy strona internetowa na WordPressie korzysta z XML-RPC?

Na pierwszy rzut oka nie możesz stwierdzić, czy Twoja strona WWW posiada aktywną funkcję XML-RPC. Aby wykonać test, przejdź do serwisu pod adresem https://xmlrpc.eritreo.it/ i wpisz pełny adres URL swojej strony internetowej.

Jeżeli test zakończy się powodzeniem (zielonym ptaszkiem) – strona korzysta z tej funkcji i jest niezabezpieczona. Czerwony krzyżyk oznacza, że dostęp do skryptu i funkcji jest zablokowany.

Zapoznaj się również z naszymi dodatkowymi poradnikami dla użytkowników WordPressa: