При управлении сайтом WordPress безопасность и производительность всегда являются главными приоритетами. Один из файлов, который часто всплывает при обсуждении этих двух вопросов, – xmlrpc.php. В этой статье мы расскажем, что делает этот файл, почему он считается риском для безопасности и как его можно отключить, если он не нужен.

Что такое xmlrpc.php?

Файл xmlrpc.php – это основной компонент WordPress, который обеспечивает удаленное взаимодействие между вашим сайтом WordPress и внешними приложениями. Он использует протокол XML-RPC для отправки данных, что позволяет реализовать такие функции, как:

  • Удаленная публикация контента через мобильное приложение WordPress или внешние инструменты для ведения блогов

  • Trackbacks и pingbacks

  • Jetpack и другие функции плагинов, которые полагаются на удаленный доступ

В ранних версиях WordPress (до появления REST API) xmlrpc.php был необходим для выполнения удаленных операций. Однако с тех пор REST API стал современной и более безопасной альтернативой.

Почему xmlrpc.php представляет опасность для безопасности?

Хотя xmlrpc.php служит для законных целей, его часто используют для вредоносных действий, особенно если он не защищен должным образом. К распространенным угрозам относятся:

  • Атаки грубой силы: Хакеры могут использовать его для перебора тысяч комбинаций имени пользователя и пароля в одном запросе.

  • DDoS-атаки: Файл может быть использован для отправки пингбэков с вашего сайта на другие, участвуя в распределенных атаках типа “отказ в обслуживании”.

  • Уязвимости удаленного выполнения кода: Старые или плохо настроенные версии WordPress могут быть подвержены риску.

Если вы не используете какие-либо сервисы или плагины, которые полагаются на xmlrpc.php, лучше отключить его.

Как отключить xmlrpc.php

1. С помощью плагина

Самый простой способ отключить xmlrpc.php – это использовать плагин безопасности, например:

  • Wordfence Security

  • Отключить XML-RPC

  • All In One WP Security & Firewall

Эти плагины позволяют одним щелчком мыши отключить доступ к файлу.

2. Отключение через .htaccess

Если вы используете сервер Apache, вы можете заблокировать доступ к xmlrpc.php, добавив это правило в ваш файл .htaccess в корневой директории:

.
Запретить, разрешить
Запретить для всех

3. Использование Nginx

Для серверов Nginx добавьте следующее в файл конфигурации:

location = /xmlrpc.php {
запретить все;
access_log off;
log_not_found off;
}

4. Отключение через functions.php (ограничено)

Вы также можете отключить некоторые методы xmlrpc, добавив следующее в functions.php вашей темы:

add_filter('xmlrpc_enabled', '__return_false');

Примечание: Это не предотвращает доступ к файлу, а только отключает функциональность.

Когда следует держать его включенным?

Вам может понадобиться держать xmlrpc.php включенным, если:

  • Вы используете мобильное приложение WordPress для публикации

  • Вы полагаетесь на Jetpack или другие инструменты удаленной публикации

  • Ваш сайт интегрируется с устаревшими системами или приложениями, которым требуется XML-RPC

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

Заключение

Файл xmlrpc.php в WordPress когда-то был критически важным компонентом для обеспечения удаленного доступа, но сейчас он часто рассматривается как угроза безопасности. Если вы не используете активно функции, которые от него зависят, отключение xmlrpc.php – простой и эффективный способ защиты вашего WordPress-сайта. Всегда делайте резервную копию сайта перед внесением изменений и тестируйте его после отключения, чтобы убедиться, что функциональность не нарушена.