При управлінні веб-сайтом на 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. Завжди робіть резервну копію сайту перед внесенням будь-яких змін і тестуйте його після відключення, щоб переконатися, що жодна функція не порушена.