В CMS WordPress есть возможность удаленной публикации, редактирования и удаления постов и комментариев. Функциональность реализована через протокол XML-RPC.
До версии 3.5 в настройках WordPress была возможность отключить XML-RPC. Теперь такой возможности нет, протокол подключается по умолчанию с момента установки/обновления CMS.
Как выявить атаку?
Подключитесь к серверу по SSH и выполните команду:
grep -h $(date «+%d/%b/%Y») /var/www/httpd-logs/*.access.log | awk ‘{print $1″ «$7}’ | sort | uniq -c | sort -rnk1 | head -10 | grep -i xmlprc
В ответе на команду отобразятся столбцы: количество_запросов, адрес_запроса и url_запроса.
Пример:
2213 66.249.91.145 /bitrix/tools/conversion/ajax_counter.php
33 22.111.21.123 /bitrix/tools/conversion/ajax_counter.php
2 5.10.12.13 /bitrix/components/bitrix/sale.gift.product/ajax.php
Если среди этих запросов вы видите много обращений к xmlrpc.php, скорее всего ваш сервер атакуют xmlrpc-bruteforce.
Как защититься?
Первый способ: редактируем wp-config.php.
Найдите строку:
require_once(ABSPATH . ‘wp-settings.php’);
После нее допишите:
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
Второй способ: редактируем .htaccess
Добавьте в файл:
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
Если на вашем сервере Apache 2.4 нужно добавить другие строки:
<Files xmlrpc.php> Satisfy any Order allow,deny Deny from all </Files>