Что такое XML-RPC и почему его отключение важно для безопасности WordPress
XML-RPC — это протокол, который позволяет удалённым приложениям взаимодействовать с вашим сайтом на WordPress. С его помощью можно публиковать записи, редактировать их и выполнять другие действия через внешние сервисы и мобильные приложения. Однако, несмотря на удобство, XML-RPC часто становится объектом атак, таких как Brute Force и DDoS. Злоумышленники используют его для перебора паролей или для отправки большого количества запросов, что приводит к нагрузке сервера и потенциальному взлому.
Поэтому отключение XML-RPC, если вы не используете удалённое управление сайтом, — важный шаг для повышения безопасности WordPress.
Как проверить, активен ли XML-RPC на вашем сайте
XML-RPC активен по умолчанию во всех актуальных версиях WordPress. Чтобы проверить, доступен ли он, откройте в браузере URL вашего сайта с добавлением /xmlrpc.php, например:
https://ваш-сайт.ru/xmlrpc.php
Вы увидите сообщение XML-RPC server accepts POST requests only. или аналогичное, если протокол включён. Если страница возвращает ошибку 403 или 404, значит XML-RPC отключён или заблокирован.
Способы отключения XML-RPC в WordPress
1. Отключение через functions.php (кодом)
Самый простой и безопасный способ — добавить фильтр, который отключит обработку XML-RPC запросов в ядре WordPress. Добавьте следующий код в файл functions.php вашей активной темы или в файл основного плагина:
function wpmonitor_disable_xmlrpc() {
return false;
}
add_filter('xmlrpc_enabled', 'wpmonitor_disable_xmlrpc');Этот фильтр полностью деактивирует XML-RPC API, что предотвратит любые попытки взаимодействия через него.
2. Блокировка доступа через .htaccess
Если ваш сайт работает на Apache, можно запретить доступ к файлу xmlrpc.php на уровне веб-сервера. Добавьте в корневой .htaccess следующий блок:
<Files xmlrpc.php>
Order deny,allow
Deny from all
</Files>Это полностью заблокирует все HTTP-запросы к XML-RPC API.
3. Использование специализированных плагинов
Если вы предпочитаете не трогать код, можно установить плагин для управления XML-RPC. Вот несколько популярных:
- Disable XML-RPC — простой плагин для отключения протокола;
- Stop XML-RPC Attack — блокирует попытки атак через XML-RPC;
- Clearfy Pro — в этом плагине есть опция отключения XML-RPC вместе с другими фичами для оптимизации и безопасности WordPress. Подробнее на wpshop.ru.
Плагины позволяют быстро и без риска ошибок отключить XML-RPC, а также дополнительно защитить сайт.
Альтернативы XML-RPC для удалённого управления сайтом
Если вы используете XML-RPC для публикации записей или управления сайтом из внешних приложений, отключать его стоит с осторожностью. Вместо этого рекомендуем настроить REST API WordPress, который более современный, безопасный и гибкий.
REST API поддерживает аутентификацию через OAuth или JWT, что делает его лучше защищённым от несанкционированного доступа.
Пример кода для проверки REST API на сайте:
fetch('https://ваш-сайт.ru/wp-json/wp/v2/posts')
.then(response => response.json())
.then(data => console.log(data));REST API можно использовать для создания собственных плагинов и интеграций, заменяющих функциональность XML-RPC с более тонкой настройкой безопасности.
Рекомендации по безопасности при отключении XML-RPC
После отключения XML-RPC важно проверить, что ваш сайт продолжает работать корректно, особенно если вы использовали мобильные приложения или внешние сервисы для публикации.
Также рекомендуем:
- Регулярно обновлять WordPress, темы и плагины для устранения уязвимостей;
- Использовать сложные пароли и двухфакторную аутентификацию;
- Мониторить логи сервера на предмет подозрительной активности;
- Применять плагины безопасности, например Clearfy Pro, который поможет дополнительно защитить сайт и оптимизировать работу.