- Що таке Xmlrpc.php?
- Навіщо був створений Xmlrpc.php і як він використовувався?
- XML-RPC сьогодні
- Властивості XML-RPC
- Навіщо відключати Xmlrpc.php
- Метод 1: відключення Xmlrpc.php за допомогою плагіна
- Метод 2: відключення Xmlrpc.php вручну
- заключні думки
У 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 і встановіть його, він виглядає як на картинці нижче:
Активуйте плагін і все готово. Цей плагін автоматично вставить необхідний код для відключення 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 через плагін або вручну?
Або виникли будь-які проблеми з безпекою через те, що він був перш за активним?