Донецкий техникум промышленной автоматики

Що таке xmlrpc.php в WordPress і навіщо його відключати

  1. Що таке Xmlrpc.php?
  2. Навіщо був створений Xmlrpc.php і як він використовувався?
  3. XML-RPC сьогодні
  4. Властивості XML-RPC
  5. Навіщо відключати Xmlrpc.php
  6. Метод 1: відключення Xmlrpc.php за допомогою плагіна
  7. Метод 2: відключення Xmlrpc.php вручну
  8. заключні думки

У WordPress завжди був вбудований інструмент для віддаленого звернення до вашого сайту. Дійсно, іноді потрібно дістатися до свого сайту, а комп'ютер далеко від вас. Тривалий час рішенням був файл під назвою xmlrpc.php. Однак останніми роками цей файл став більшою проблемою, ніж рішенням.

Нижче ми докладніше розберемо xmlrpc.php і чому він був створений. Ми також розглянемо загальні проблеми безпеки, які він може викликати і як їх виправити для вашого сайту на WordPress.

Що таке Xmlrpc.php?

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

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

Головним функціоналом xmlrpc.php є можливість підключатися до сайту з смартфона, реалізація трекбеків і лінкбеков з інших сайтів і деякі функції, пов'язані з плагіном Jetpack.

Навіщо був створений Xmlrpc.php і як він використовувався?

Реалізація XML-RPC йде далеко в ранні дні WordPress і навіть до того, як WordPress став WordPress-ом.

Повертаючись в ті часи, коли інтернет тільки недавно з'явився, з'єднання були дуже повільними і процес запису і публікації в інтернеті був набагато складніше і времязатратнее. Замість внесення змін відразу через браузер, більшість робили їх в офлайні і потім копіювали і вставляли свій контент вже онлайн. І цей процес був далекий від ідеалу.

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

XML-RPC сьогодні

У 2008 році з версією 2.6 WordPress, з'явилася опція включення і виключення XML-RPC. Однак з релізом WordPress додатки для iPhone, підтримка XML-RPC була включена за замовчуванням і не було можливості для відключення. Так залишилося і понині.

Звичайно функціональність, що надається цим файлом значно зменшилася з часом, і розмір файлу зменшився з 83kb до 3kb, він вже не відіграє такої ролі, як раніше.

Властивості XML-RPC

З новим інтерфейсом програмування додатків (API) WordPress ми можемо очікувати, що XML-RPC буде вже відключений повністю. Сьогодні цей новий API все ще на етапі випробувань і може бути включений тільки через спеціальний плагін.

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

Новий API не ідеальний, але він забезпечує хорошу надійний захист, на відміну від xmlrpc.php.

Навіщо відключати Xmlrpc.php

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

Звичайно ви можете захиститися дуже надійний паролем і плагінами WordPress, що забезпечують безпеку. Але найкращим режимом захисту буде просто його відключити.

Є два основних слабких місця XML-RPC, які використовували в минулому.

Перше - використовує атаку шляхом прямого підбору пароля (brute force attacks) для отримання доступу до вашого сайту. Атакуючий спробує отримати доступ до вашого сайту, використовуючи xmlrpc.php підбираючи різні комбінації імен користувачів і паролів. Вони можуть ефективно використовувати одну команду для тестування сотень різних паролів. Це дозволяє їм обходити інструменти безпеки, які зазвичай виявляють і блокують атаки прямого підбору.

Друге - переведення сайту в офлайн шляхом DDoS атаки. Хакери будуть використовувати зворотне повідомлення в WordPress для відправки його тисячам сайтів одночасно. Цей функціонал xmlrpc.php дає хакерам майже нескінченну кількість IP-адрес для поширення атаки DDoS.

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

Якщо ви отримаєте повідомлення про успішне завершення, ви можете зупинити xmlrpc.php одним з двох підходів нижче.

Метод 1: відключення Xmlrpc.php за допомогою плагіна

Відключити XML-RPC на вашому сайті WordPress неймовірно просто.

Перейдіть в розділ Модулі> Додати новий у вашій адмін консолі WordPress. Знайдіть плагін Disable XML-RPC і встановіть його, він виглядає як на картинці нижче:

Знайдіть плагін Disable XML-RPC і встановіть його, він виглядає як на картинці нижче:

Активуйте плагін і все готово. Цей плагін автоматично вставить необхідний код для відключення XML-RPC.

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

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

  • Stop XML-RPC Attack . Цей плагін зупинити все XML-RPC атаки, але він дозволити продовжити роботу таких плагінів як Jetpack і інші автоматичні інструменти і плагіни, надаючи їм доступ до файлів xmlrpc.php.
  • Control XML-RPC Publishing . Це дозволяє вам зберегти контроль і використовувати віддалено публікації.

Метод 2: відключення Xmlrpc.php вручну

Якщо ви не хочете використовувати плагін і вважаєте за краще робити це вручну, дотримуйтесь цього підходу. Він зупинить всі вхідні запити xmlrpc.php до того, як він буде переданий в WordPress.

Відкрийте файл .htaccess. Можливо, вам доведеться включити 'показати приховані файли' в файловому менеджері або FTP-клієнті, щоб знайти цей файл.

Вставте цей код в файл .htaccess:

# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny, allow deny from all allow from 123.123.123.123 </ Files>

заключні думки

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

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

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

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

Php?
Php і як він використовувався?
Php?
Php і як він використовувався?
Ви заблокували доступ до XML-RPC через плагін або вручну?
Або виникли будь-які проблеми з безпекою через те, що він був перш за активним?