Безпека

Вимкнення WordPress XML-RPC: Найшвидший спосіб захиститися від brute force-атак

  • 13 хв читання
  • Команда Hostragons
Вимкнення WordPress XML-RPC: Найшвидший спосіб захиститися від brute force-атак

Вимкнення WordPress XML-RPC — це процес блокування віддалених запитів до файлу xmlrpc.php на вашому сайті, що дозволяє швидко зменшити кількість brute force-спроб, зловживань pingback та непотрібного трафіку ботів. Якщо ви не використовуєте Jetpack, мобільний додаток WordPress, старі інструменти віддаленого публікування або спеціальні інтеграції на базі XML-RPC, вимкнення цього протоколу є безпечним та ефективним кроком для більшості сайтів на WordPress. Найкращий спосіб зробити це — блокувати запити ще на рівні сервера, тобто через правила Apache, LiteSpeed, Nginx або WAF, що зазвичай більш продуктивно, ніж відключення за допомогою плагінів.

У цьому посібнику ви дізнаєтесь, чому варто вимкнути XML-RPC у WordPress, в яких випадках цього робити не слід, а також як безпечно реалізувати це на різних серверних платформах. Незалежно від того, чи працюєте ви на Hostragons або іншому хостингу, головна мета — зменшити вразливі точки, уникнути зайвого навантаження на ресурси та встановити керований рівень безпеки без порушення роботи сайту. Якщо ви шукаєте надійну та швидку основу для свого WordPress-сайту, вибір WordPress хостинг стане важливою складовою цього процесу.

Що таке XML-RPC і яку роль він відіграє у WordPress?

XML-RPC — це застарілий протокол віддаленого зв’язку, який дозволяє різним системам обмінюватися даними у форматі XML через HTTP. У WordPress він реалізований через файл xmlrpc.php у кореневій директорії сайту. Історично цей файл використовувався для публікації постів з мобільного додатку WordPress, керування коментарями, функції pingback та взаємодії з деякими сторонніми сервісами.

Однак з розвитком REST API важливість XML-RPC знизилася, хоча файл досі залишається доступним на багатьох сайтах. Це робить його легкою мішенню для атак, адже для зловмисників це стандартний, добре відомий шлях, який можна автоматизувати. Боти сканують випадкові IP-адреси, і навіть новий домен може за лічені хвилини отримати спроби звернутися до xmlrpc.php. Тому Перевірка домену — це важливий етап, який варто враховувати ще на старті роботи з новим доменом.

Коли XML-RPC може бути необхідним?

Не кожен сайт може безпечно відключити XML-RPC. Деякі старі функції Jetpack, мобільний додаток WordPress, автоматизаційні сервіси або десктопні блог-редактори можуть його використовувати. Також унікальні інтеграції, що працюють через xmlrpc.php, вимагають залишити його активним. Тому перед вимкненням важливо перевірити, чи не порушить це бізнес-процеси вашого сайту.

Простий тест: якщо ви публікуєте контент виключно через адмін-панель WordPress, не використовуєте Jetpack, мобільний додаток або спеціальні інтеграції — швидше за все XML-RPC вам не потрібен. Для корпоративних сайтів, блогів, каталогів, малих бізнесів і більшості магазинів на WooCommerce вимкнення XML-RPC не створить проблем. Але якщо у вас критичні процеси оплати або доставки, рекомендуємо тестувати зміни у години з низьким трафіком.

Чому XML-RPC становить ризик для brute force-атак?

Brute force — це атака, при якій зловмисник автоматично перебирає комбінації логінів і паролів. У WordPress такі спроби зазвичай проходять через wp-login.php, але XML-RPC дає змогу атакувати ефективніше. Деякі методи XML-RPC дозволяють відправляти кілька спроб входу в одному HTTP-запиті, а system.multicall може “зашифрувати” сотні спроб у кілька звернень, що ускладнює виявлення атаки.

Наприклад, 500 спроб через wp-login.php — це 500 окремих запитів, тоді як через XML-RPC їх може бути значно менше. Це ускладнює роботу систем безпеки і логів, призводить до підвищеного навантаження на процесор, зайнятості PHP-воркерів та перевантаження бази даних. В результаті реальні користувачі отримують повільні відповіді, а на спільних хостингах це створює не лише безпекові, а й продуктивні проблеми.

Ще одним ризиком є зловживання pingback. Цей механізм призначений для повідомлення про посилання на ваш контент з інших сайтів, але зловмисники можуть використовувати його для створення DDoS-подібного трафіку або атак на сторонні ресурси. Відключення XML-RPC зменшує не лише кількість спроб входу, а й ймовірність такої експлуатації.

Порівняльна таблиця способів вимкнення XML-RPC

Порівняльна таблиця способів вимкнення XML-RPC
МетодРівень захистуПродуктивністьДля кого підходить?На що звернути увагу
Блокування на рівні сервераВисокийНайкращаСайти на Apache, LiteSpeed, NginxПомилки в правилах можуть порушити сайт, обов’язкове резервне копіювання
Блокування через WAF або фаєрволВисокийДуже хорошаСайти з Cloudflare, серверними WAF або хостингом з безпекоюПравила мають чітко стосуватися лише xmlrpc.php
Вимкнення через плагінСереднійСередняКористувачі з обмеженими технічними знаннямиЗапити все одно доходять до WordPress, можливе навантаження
Відключення через код у темі або плагініСереднійСередняРозробники, які контролюють код теми/плагінаРекомендується використовувати дочірню тему або окремий плагін, щоб не втратити зміни при оновленні
Обмеження частоти запитів (rate limit)СереднійДобраСайти, які частково використовують XML-RPCНе дає повного блокування, потрібно правильно налаштувати поріг

З таблиці видно, що найдієвіший і найшвидший спосіб — це блокування XML-RPC на рівні сервера або WAF, якщо він вам не потрібен. Плагіни зручні для початківців, але при інтенсивних атаках не повністю знімають навантаження. Отже, для сайтів з високим трафіком або електронною комерцією пріоритет — правило на веб-сервері.

Контрольний список перед початком

Перед налаштуванням безпеки важливо дотримуватися простих правил: спочатку робити резервні копії та мати план відкату. Вимкнення XML-RPC переважно безпечне, але всі зміни на живому сайті мають бути обдуманими. Ось що радимо перевірити до початку:

  • Зробіть свіжу резервну копію файлів і бази даних (не старше 24 годин). Це обов’язково для оновлень, зміни безпеки або плагінів.
  • Переконайтесь, що ви не використовуєте Jetpack, мобільний додаток WordPress, віддалене публікування або кастомні інтеграції на XML-RPC.
  • Перевірте логи доступу на наявність запитів до xmlrpc.php. Якщо їх десятки або сотні на хвилину — це ознака атаки.
  • Робіть зміни у часи найнижчого трафіку, особливо якщо у вас WooCommerce — після змін протестуйте кошик, оплату та реєстрацію.
  • Підготуйте спосіб швидко скасувати зміни: збережіть правила у коментарях або майте доступ до файлового менеджера, FTP чи SSH.

Професійне хостинг-середовище з регулярними бекапами, актуальним PHP, ізольованими акаунтами та підтримкою фаєрволів значно полегшує безпеку. Детальніше про вибір інфраструктури можна дізнатися у матеріалах Безпечний веб-хостинг та загальної безпеки сайту — сертифікат SSL.

Спосіб 1: Вимкнення XML-RPC через .htaccess на Apache або LiteSpeed

Для сайтів на Apache або LiteSpeed найбільш поширеним є додавання правила у файл .htaccess у кореневій папці сайту, яке блокує доступ до xmlrpc.php. Оскільки LiteSpeed сумісний з правилами Apache, цей метод працює на багатьох хостингах. Головна перевага в тому, що запит відхиляється ще до запуску ядра WordPress.

Покрокова інструкція

  • Увійдіть до файлового менеджера хостингу або підключіться по FTP до папки public_html.
  • Знайдіть файл .htaccess і зробіть його резервну копію. Якщо його не видно — увімкніть показ прихованих файлів.
  • Не видаляйте існуючі правила WordPress, а додайте зверху правило для блокування XML-RPC.
  • Правило має відхиляти всі звернення до файлу xmlrpc.php.
  • Збережіть зміни і перевірте в браузері за адресою yourdomain.com/xmlrpc.php.

Для Apache 2.4 і LiteSpeed правило виглядає так: Require all denied для xmlrpc.php. В Apache 2.2 використовували Deny from all, але рекомендується оновлювати серверне ПЗ до сучасних версій. Якщо у вас стара версія Apache, це може означати додаткові ризики безпеки.

Успішне блокування має повертати помилку 403 Forbidden, 404 Not Found або інший код відмови. Головне, щоб сторінка не відповідала текстом на кшталт “XML-RPC server accepts POST requests”, адже це свідчитиме про доступність сервісу.

Спосіб 2: Блокування XML-RPC на Nginx

На Nginx не працює .htaccess, тому правило треба додавати у конфігурацію сервера (server block). Якщо ви користуєтесь керованим хостингом, можливо, ви не маєте прямого доступу до цих файлів — у такому випадку зверніться до служби підтримки з проханням заблокувати xmlrpc.php.

Основна ідея — додати блок location = /xmlrpc.php, який відхиляє запити або повертає 404. Для безпеки можна використовувати код 403, щоб явно заборонити доступ, або 404, щоб приховати існування файлу. Після внесення змін перевірте конфігурацію командою nginx -t і перезапустіть сервер. Будьте уважні — помилка у конфігах може призвести до недоступності сайту.

Після зміни слід моніторити логи, щоб переконатися, що звернення до xmlrpc.php отримують 403 або 404. Якщо атаки тривають, додайте додаткові шари захисту, наприклад fail2ban, rate limit або WAF. Для більш глибокої інформації дивіться безпека VPS сервера.

Спосіб 3: Вимкнення XML-RPC через плагін безпеки

Якщо ви не хочете працювати з серверними файлами, плагіни безпеки — зручний варіант. Популярні рішення, як Wordfence, Solid Security, All-In-One Security, часто мають опції вимкнення XML-RPC, блокування pingback і обмеження спроб входу через цей протокол. Це хороший старт для невеликих блогів і базових корпоративних сайтів.

Проте варто розуміти, що плагіни відключають XML-RPC після запуску WordPress, тому запити все одно доходять до PHP, і при інтенсивних атаках навантаження знижується не повністю. Тому плагіни краще використовувати у поєднанні з блокуванням на сервері або через WAF.

Рекомендації при використанні плагінів

  • Завантажуйте плагіни лише з офіційного каталогу WordPress або сайту розробника.
  • Уникайте плагінів, які давно не оновлювалися — актуальність важлива для безпеки.
  • Не встановлюйте кілька плагінів з однаковими функціями, щоб уникнути конфліктів.
  • Після налаштувань перевірте роботу сайту, форми, реєстрації і оплату.
  • Регулярно переглядайте логи плагінів і при потребі блокуйте IP або додавайте правила WAF.

Спосіб 4: Захист через WAF, CDN і фаєрвол хостингу

Веб-аплікаційний фаєрвол (WAF) — це один з найефективніших способів відсікти шкідливі запити до сайту ще до їхньої обробки. CDN-платформи, як Cloudflare, можуть блокувати звернення до xmlrpc.php ще на своїх серверах. Аналогічно ModSecurity або інші WAF-рішення на сервері також можуть фільтрувати запити.

Правила WAF мають чітко орієнтуватися на URI з xmlrpc.php: блокувати або пропонувати додаткову перевірку (challenge). Якщо XML-RPC не потрібен зовсім — простіше заблокувати всі запити. Якщо ж потрібен частково — можна дозволити звернення лише з певних IP (білий список), наприклад, адрес автоматизаційних сервісів. Це баланс між безпекою та функціональністю.

WAF особливо ефективний у поєднанні з SSL. Якщо сайт працює без HTTPS, ризики викрадення даних входу зростають. Тому поряд з вимкненням XML-RPC варто впроваджувати HTTPS, HSTS і контролювати термін дії сертифікатів. Для цього корисні матеріали сертифікат SSL та Встановлення безкоштовного SSL.

Як перевірити вимкнення XML-RPC?

Після внесення змін важливо не лише переконатися, що сайт працює, а й перевірити, чи XML-RPC справді заблокований, чи не постраждала система входу і чи немає побічних ефектів. Ось простий алгоритм перевірки:

  • Відкрийте у браузері yourdomain.com/xmlrpc.php. Має відображатися помилка доступу, 404 або порожня відповідь. Повідомлення “XML-RPC server accepts POST requests” свідчить про активність сервісу.
  • Увійдіть у панель керування WordPress звичайним способом, щоб переконатися, що вхід працює незалежно від XML-RPC.
  • Перевірте роботу контактних форм, коментарів, реєстрації користувачів і оплати WooCommerce.
  • Перегляньте логи доступу сервера, щоб упевнитися, що запити до xmlrpc.php повертають 403 або 404.
  • Якщо використовуєте плагін безпеки — перегляньте його логи, щоб бачити зменшення або блокування атак.

Для більш технічної перевірки можна надіслати POST-запит через термінал, але для більшості власників сайтів достатньо браузера і аналізу логів. Якщо після змін перестають працювати Jetpack, мобільний додаток або інтеграції — значить XML-RPC потрібен, і можна застосувати більш гнучкі стратегії, наприклад, дозвіл за IP або обмеження частоти запитів.

Чи достатньо вимкнути XML-RPC? Інші рекомендації з безпеки

Відключення XML-RPC значно знижує ризик brute force-атак, але не дає повної гарантії. Зловмисники можуть атакувати через wp-login.php, REST API, вразливі плагіни, старі теми або скомпрометовані паролі. Тому важливо впроваджувати комплексний захист WordPress.

Основні кроки для безпеки

  • Використовуйте складні паролі і унікальні імена користувачів. Не використовуйте admin як логін.
  • Впровадьте двофакторну автентифікацію (2FA) для адмін-акаунтів, щоб знизити ризик злому.
  • Обмежте кількість спроб входу (rate limit) через wp-login.php або за допомогою плагінів.
  • Регулярно оновлюйте ядро WordPress, плагіни та теми — старі версії часто мають вразливості.
  • Видаляйте непотрібні плагіни і теми, щоб зменшити потенційні ризики.
  • Перевіряйте права доступу до файлів, уникайте зайвих записів, що можуть дозволити завантаження шкідливих скриптів.
  • Робіть регулярні резервні копії та тестуйте їх відновлення.
  • Обирайте надійний хостинг з ізоляцією акаунтів, підтримкою актуального PHP, WAF та бекапами.

Якщо ви залишаєте XML-RPC вимкненим, але використовуєте прості паролі, це створює слабке місце в захисті. У комплексі сильний пароль, 2FA, регулярні оновлення, WAF та безпечний хостинг значно зменшують ймовірність успішної атаки. Це також важливо для SEO у 2026 році, адже сайти з низькою безпекою ризикують втратити органічний трафік через зловмисні редиректи, спам і проблеми з індексацією.

Вплив вимкнення XML-RPC на продуктивність та SEO

XML-RPC-атаки безпосередньо не впливають на позиції в пошукових системах, проте їхній непрямий ефект дуже значущий. Велика кількість бот-трафіку споживає ресурси сервера, збільшує час відповіді сторінок, погіршує показники Core Web Vitals і знижує якість користувацького досвіду. Часті помилки 500, тайм-аути та перебої з доступністю можуть змусити Googlebot обережніше індексувати ваш сайт.

Наприклад, якщо сторінка головної завантажується за 300 мс, а через запити до xmlrpc.php серверні воркери переповнюються, і час відповіді зростає до 2 секунд, це відчують і користувачі, і пошукові системи. Відключення XML-RPC на рівні сервера допомагає перервати цей ланцюг навантаження ще до запуску WordPress, що стабілізує продуктивність.

Для SEO важлива не лише якість контенту, а й технічна основа сайту: HTTPS, сучасний PHP, швидкі диски, правильне кешування і мінімізація точок атаки. Безпека і швидкість — це одна з причин, чому адміністратори та SEO-фахівці мають співпрацювати. У блогах Hostragons ця тема доповнюється матеріалами Оптимізація швидкості WordPress та контрольний список технічного SEO.

Якщо не можна повністю вимкнути XML-RPC: альтернативні підходи

В деяких випадках XML-RPC не можна повністю відключити — наприклад, якщо мобільний додаток, корпоративні автоматизації або старі інтеграції залежать від нього. Тоді мета — не закривати доступ повністю, а зробити його контрольованим.

Перший варіант — білий список IP-адрес: дозволити доступ лише з довірених сервісів, а всі інші запити блокувати.

Другий — обмеження частоти запитів (rate limiting). Це не дає повного блокування, але знижує об’єм атак.

Третій — відключення лише певних методів, наприклад pingback, а решту залишити активними. Це вимагає більш складної конфігурації і контролю з боку розробника.

Четвертий — додатковий рівень захисту через HTTP basic auth, VPN, корпоративні IP-фільтри або WAF challenge. Це зменшує ризик публічного доступу до уразливого API.

Загалом, найкраще — поступово замінювати старі інтеграції на сучасний REST API, що більш безпечний і гнучкий.

Практичний план для користувачів Hostragons

Якщо ви хостите WordPress на Hostragons, почніть із аналізу потреб XML-RPC, потім оберіть найпростіший спосіб блокування. На спільному хостингу або у WordPress-хостингу зазвичай достатньо відредагувати .htaccess через файловий менеджер. Для VPS чи виділеного сервера можна поєднувати правила Nginx, Apache, LiteSpeed і WAF.

План дій такий: спочатку зробіть бекап, перевірте, чи використовує ваш сайт XML-RPC, заблокуйте доступ на сервері, протестуйте роботу сайту, моніторте логи 24 години. Якщо атаки тривають — додайте WAF-правила, IP-блокування і ліміти спроб входу. Наприкінці впровадьте 2FA, систематичні оновлення, регулярні резервні копії та SSL.

Цей крок — базова гігієна безпеки, а не апгрейд. Якщо у вас старий PHP, мало ресурсів або немає фаєрвола, варто розглянути оновлення хостингу. Оптимізоване для WordPress, з багаторівневим захистом середовище підвищує стійкість до атак і покращує щоденну продуктивність. У цьому контексті рекомендуємо ознайомитися з WordPress хостинг, хмарний сервер та сертифікат SSL для більш глибокого розуміння.

Питання та відповіді

Чи пошкодить сайт вимкнення XML-RPC?

Для більшості стандартних WordPress-сайтів вимкнення XML-RPC не призведе до проблем. Адмін-панель, теми, контент, форми і фронтенд працюють без змін. Однак якщо ви використовуєте Jetpack, мобільний додаток або специфічні інтеграції на XML-RPC, можуть виникнути збої. Тому перед відключенням потрібно перевірити потребу і протестувати ключові функції.

Як перевірити, чи вимкнений XML-RPC?

Відкрийте yourdomain.com/xmlrpc.php у браузері. Якщо бачите повідомлення “XML-RPC server accepts POST requests” — файл доступний. Якщо отримуєте 403, 404 або відмову в доступі — значить правило працює. Для точнішої перевірки дивіться серверні логи і коди відповідей запитів до xmlrpc.php.

Чи зупинить вимкнення XML-RPC всі brute force-атаки?

Вимкнення XML-RPC істотно зменшує число brute force-спроб через цей канал, але не ліквідує їх повністю. Атаки можуть продовжуватися через wp-login.php. Тому важливо поєднувати вимкнення XML-RPC з іншими заходами: складні паролі, 2FA, ліміти спроб, WAF і оновлення системи.

Якщо я користуюсь Jetpack, чи потрібно вимикати XML-RPC?

Деякі функції Jetpack залежать від XML-RPC. Якщо ви його використовуєте, перевірте, які модулі активні. Можна відключити XML-RPC частково, дозволити доступ лише IP-адресам Jetpack або налаштувати контроль через WAF.

Що краще — вимикати через плагін чи на сервері?

Для максимальної продуктивності і безпеки краще блокувати XML-RPC на рівні сервера або WAF, щоб запити не доходили до WordPress і PHP. Плагіни зручні для користувачів з невеликим технічним досвідом, але не завжди ефективні при потужних атаках. Якщо серверне блокування неможливе, поєднуйте плагін з WAF.

Короткий підсумок і подальші кроки

Вимкнення WordPress XML-RPC — це швидкий і дієвий спосіб захиститися від brute force, зловживань pingback та зайвого бот-трафіку, якщо ви не використовуєте цей протокол. Найнадійніше — заблокувати xmlrpc.php на рівні сервера або WAF, а потім посилити захист через 2FA, оновлення, SSL і регулярні резервні копії. Якщо хочете переглянути безпекову базу сайту, ознайомтесь із пропозиціями Hostragons для WordPress-хостингу та зробіть перші кроки вже сьогодні за допомогою невеликого контрольного списку.

Поділитися цією статтею:

Команда Hostragons

Актуальні посібники від нашої команди експертів з хостингу, серверів та доменних імен. Давайте разом знайдемо правильне рішення для вашого проєкту.

Зв'яжіться з нами