Как правильно отключить XML-RPC

Сегодня в статье поговорим о WordPress и его функционале. Начиная с первых версий у WordPress есть функция удаленного управления сайтом с помощью специальных приложений.






XML Remote Procedure Call — (Вызов удаленной процедуры) используется для подключения к сайту через мобильное приложение WordPress (androidios).




Эта же функция используется для трекбэков и пингбэков (оповещает владельца сайта о том, что где-то оставили ссылку на его сайт), и используется плагином Jetpack.




История XML-RPC




Когда к интернету подключались через модем и скорость подключения была низкой, публиковать страницы было трудно. Чтобы обойти эту проблему, решили создавать контент на компьютере и потом публиковать его на сайте.




Сервис Blogger создал API и оффлайн-приложение для создания контента, и пользователи стали загружать контент через XML-RPC. После этого остальные блог-платформы сделали то же самое у себя.




В 2008-2009 годах компания Automattic, которая поддерживает плагины WP Super Cache, WooCommerce, Jetpack, VaultPress и другие, выпустила приложение WordPress для мобильных, которое использует интерфейс XML-RPC.




XML-RPC был в Вордпресс с самого начала, но по умолчанию он был выключен. После выхода мобильного приложения, начиная с версии 3.5, функцию включили по умолчанию.




Проблема XML-RPC




Проблема включенного XML-RPC заключается в том, что роботы подбирают логин и пароль к сайту через файл xmlrpc.php практически без ограничений. Если на главной странице входа на сайт можно установить ограничение попыток авторизации, то через файл xmlrpc.php с помощью нескольких запросов можно попробовать сотни логинов и паролей.




Другая проблема в том, что злоумышленник может использовать пингбэк-сеть WordPress сайтов для DDoS атаки на один из этих сайтов, то есть не взломанные сайты сети атакуют выбранный сайт.




В итоге роботы своими запросами расходуют большое количество ресурсов сервера, и могут подобрать правильный логин и пароль. Если вы не пользуетесь этим функционалом, его лучше выключить.




В этой статье вы узнаете 3 способа отключить XML-RPC.




Как отключить XML-RPC в wp-config.php




Для отключения добавьте это правило в конце wp-config.php после строки require_once(ABSPATH . 'wp-settings.php');




/* Отключение XML-RPC */
add_filter('xmlrpc_enabled', '__return_false');




Как отключить XML-RPC с помощью плагина




Если вы не хотите добавлять код, установите плагин Disable XML-RPC. Этот плагин делает то же самое, что и код в первом способе.




Как отключить XML-RPC в .htaccess




Хотя эти 2 способа хорошо работают, они не запрещают роботам подключаться к XML-RPC. Когда хакбот приходит на сайт и перебирает комбинации логинов и паролей, он использует ресурсы вашего сервера.




Чтобы отключить xmlrpc.php и не дать хакерам нагрузить сервер, отключите xmlrpc в файле .htaccess. В этом случае запрос не будет передаваться в WordPress, и робот не получит разрешения для подключения к XML-RPC.




Этот способ не будет нагружать сервер. Это самый правильный способ отключить XML-RPC.




Добавьте этот код в .htaccess:




# Block XML-RPC requests
<Files xmlrpc.php>
  Order Allow,Deny
  Deny from all
</Files>




Частичное отключение XML-RPC




Чтобы отключить XML-RPC частично, добавьте следующие строки в .htaccess:




# Block XML-RPC requests
<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
  Allow from 192.168.1.1
  Allow from 10.0.0.0/100
</Files>




Измените адреса на те, которым вы хотите разрешить подключение к XML-RPC. Добавьте столько адресов, сколько вам нужно.




Если вы не хотите добавлять код, используйте плагин Stop XML-RPC Attack, он создает правило в файле .htaccess, которое разрешает использовать XML-RPC только плагину Jetpack и другим инструментам Automattic.




Плагины iThemes SecurityAnti-Malware Security and Brute-Force Firewall и All in One WP Security & Firewall ограничивают попытки авторизации на стандартной странице входа на сайт и через XML-RPC.




All in One WP Security & Firewall может частично отключить XML-RPC, чтобы работал функционал Jetpack.




Wordfence не отключает XML-RPC, так как разработчики считают, что Вордпресс улучшил встроенную защиту этой функции.



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2021-07-15T20:09:34
WordPress