Недавно у меня стали возникать перегрузки на ВПС сервере, где я держу несколько своих сайтов. Анализ логов показал, что на одном из ресурсов постоянно идет обращение к файлу xmlrpc.php. Вероятно взломщики ищут какую-то уязвимость, которая судя по сообщениям, присутствовала в прошлых версиях движка.
XML-RPC — это API (интерфейс), с помощью которого сайтом на wordpress можно управлять удаленно с помощью приложений сторонних разработчиков. С его помощью можно получить управление над ресурсом и публиковать на нем записи, изменять настройки и т.д.
Поискал в интернет информацию о моей проблеме — атаке на сайт с помощью xmlrpc.php. Оказалось, она довольно распространена, просто я с ней еще не сталкивался. Раньше в WordPress была возможность отключить xmlrpc в админке, однако с какой-то версии такую возможность убрали.
Использование плагина
Для отключения интерфейса созданы плагины, например, Disable XML-RPC. После его установки и активации XML-RPC будет недоступен.
Отключение через htaccess
Мне возможности xmlrpc не нужны, поэтому я решил закрыть его самым простым способом — через htaccess.
Для этого нужно в файл .htaccess, находящийся в корневой папке сайта добавить инструкцию:
1 2 3 4 |
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files> |
После файл xmlrpc.php становится недоступен для обращений извне.
Удаление метатега c сайта
Также можно убрать метатеги с вызовом xmlrpc из кода сайта. Для этого нужно открыть файл header.php вашей темы и там в разделе head найти строку
1 |
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> |
и удалить ее или закомментировать.
В Вордпресс довольно много лишнего кода, подобного описанного в этой статье. Его можно убрать «оптом». Необходимый код описан в статье Как убрать лишний код с сайта.