Как отключить XML-RPC в WordPress и не сломать удалённый доступ

XML-RPC в WordPress до сих пор нужен не всем, но на многих сайтах он остаётся включённым по умолчанию. Из-за этого лишний endpoint /xmlrpc.php продолжает принимать запросы, хотя сайт уже давно публикуется только через админку или REST API. На практике это лишняя поверхность атаки и ещё один источник шума в логах.

Если вы не пользуетесь мобильным приложением WordPress, внешними сервисами публикации, Jetpack в старом режиме или сторонними клиентами, XML-RPC чаще всего можно отключить. Но делать это нужно аккуратно: на некоторых сайтах он всё ещё завязан на рабочие сценарии.

Когда XML-RPC действительно стоит отключать

Сначала полезно понять, зачем он вообще нужен. XML-RPC — это старый механизм удалённого доступа к WordPress. Через него можно публиковать записи, редактировать контент и выполнять часть действий из внешних клиентов. Если таких сценариев нет, endpoint только создаёт риск и не даёт пользы.

Сценарии, где отключение обычно безопасно

  • контент публикуется только из админки WordPress;
  • нет мобильного приложения WordPress;
  • нет внешних сервисов, которые отправляют записи через XML-RPC;
  • Jetpack не использует XML-RPC для нужных вам функций;
  • сайт не интегрирован со старым софтом, который умеет работать только через XML-RPC.

Когда отключать нельзя без проверки

  • вы публикуете материалы из мобильного приложения WordPress;
  • используете внешние клиенты для постинга;
  • есть интеграции, которые до сих пор обращаются к xmlrpc.php;
  • на сайте есть старые автоматизации, написанные под XML-RPC, а не под REST API.

Диагностика: используется ли XML-RPC на вашем сайте

Перед изменениями проверьте, есть ли реальные обращения к endpoint. Самый простой способ — посмотреть логи веб-сервера или временно открыть страницу /xmlrpc.php в браузере. Нормальная реакция WordPress на GET-запрос обычно выглядит как сообщение о том, что XML-RPC сервер принимает только POST-запросы. Это не значит, что он безопасен, но подтверждает, что файл доступен.

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

grep                 
⭐⭐⭐⭐⭐