При управлінні веб-сайтом на WordPress безпека і продуктивність завжди є головними пріоритетами. Один з файлів, який часто згадується в дискусіях про безпеку та продуктивність, – це xmlrpc.php. У цій статті ми пояснимо, що робить цей файл, чому він вважається загрозою безпеці і як його можна відключити, якщо він не потрібен.

Що таке xmlrpc.php?

Файл xmlrpc.php – це основний компонент WordPress, який забезпечує віддалений зв’язок між вашим сайтом WordPress і зовнішніми додатками. Він використовує протокол XML-RPC для надсилання даних, що дозволяє реалізувати такі функції, як

  • Віддалена публікація контенту через мобільний додаток WordPress або зовнішні інструменти для ведення блогу

  • Відстеження та пінгбеки

  • Jetpack та інші функції плагінів, які покладаються на віддалений доступ

У попередніх версіях WordPress (до появи REST API) файл xmlrpc.php був необхідний для забезпечення віддалених операцій. Однак з тих пір REST API став сучасною і більш безпечною альтернативою.

Чому xmlrpc.php викликає занепокоєння з точки зору безпеки?

Хоча xmlrpc.php служить законним цілям, його часто використовують для зловмисних дій, особливо якщо він не захищений належним чином. До поширених загроз відносяться

  • Атаки грубої сили: Хакери можуть використовувати його для перебору тисяч комбінацій імені користувача та пароля в одному запиті.

  • DDoS-атаки: Файл може бути використаний для надсилання зворотного пінгу з вашого сайту на інші, беручи участь у розподілених атаках на відмову в обслуговуванні.

  • Віддалене виконання коду: Старіші або погано налаштовані версії WordPress можуть бути в зоні ризику.

Якщо ви не використовуєте сервіси або плагіни, які покладаються на xmlrpc.php, краще вимкнути його.

Як вимкнути xmlrpc.php

1. За допомогою плагіна

Найпростіший спосіб відключити xmlrpc.php – за допомогою плагіна безпеки, наприклад:

  • Wordfence Security

  • Вимкнути XML-RPC

  • Все в одному WP Security & Firewall

Ці плагіни пропонують перемикачі для відключення доступу до файлу в один клік.

2. Вимкнення через .htaccess

Якщо ви використовуєте сервер Apache, ви можете заблокувати доступ до xmlrpc.php, додавши це правило до вашого файлу .htaccess в кореневому каталозі:

<Файли xmlrpc.php>
Порядок Deny,Allow
Заборонити від усіх
</Files

3. Використання Nginx

Для серверів Nginx додайте до конфігураційного файлу наступне:

location = /xmlrpc.php {
заборонити все;
access_log off;
log_not_found off;
}

4. Відключення через functions.php (обмежено)

Ви також можете вимкнути деякі методи xmlrpc, додавши наступне до functions.php вашої теми:

add_filter('xmlrpc_enabled', '__return_false');

Примітка: Це не забороняє доступ до файлу, а лише відключає функціональність.

Коли слід залишати його увімкненим?

Вам може знадобитися тримати xmlrpc.php увімкненим, якщо

  • Ви використовуєте мобільний додаток WordPress для публікації

  • Ви покладаєтеся на Jetpack або інші інструменти для віддаленої публікації

  • Ваш веб-сайт інтегрується із застарілими системами або додатками, які вимагають XML-RPC

У цих випадках обов’язково використовуйте заходи безпеки, такі як двофакторна автентифікація, надійні паролі та обмеження швидкості.

Висновок

Файл xmlrpc.php в WordPress колись був критично важливим компонентом для забезпечення віддаленого доступу, але зараз його часто розглядають як загрозу безпеці. Якщо ви не активно використовуєте функції, які від нього залежать, вимкнення xmlrpc.php – це простий і ефективний спосіб захистити ваш сайт на WordPress. Завжди робіть резервну копію сайту перед внесенням будь-яких змін і тестуйте його після відключення, щоб переконатися, що жодна функція не порушена.