CMSLinuxWordPress

Защита wordpress от XML-RPC атаки

Некоторое время назад мониторинг показал повышенную нагрузку на веб-сервера. Традиционно сразу же пошел проверять лог веб сервера nginx на предмет подозрительной активности. Активность эта сразу же была замечена в виде запросов к файлу xmlrpc.php. Почитал в интернете, что это за файл и принял решение запретить к нему доступ, так как мне он не нужен.

Признаком повышенного интереса к вашему веб сайту на wordpress будут следующие строки в лог файле:

178.159.37.114 - - [26/Oct/2017:13:01:22 +0300] "POST //xmlrpc.php HTTP/1.1" 200 16014 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"

Для примера, будем считать, что веб сервер настроен по статье — настройка web сервера nginx, php-fpm, php7 на CentOS 7. Там есть такое правило в конце перечисления locations в nginx:

 location ~ /\.ht {
 deny all;
 }

Изменяем его, добавив блокировку файла xmlrpc.php и ставим его в списке самым первым location.

location ~* ^/(\.ht|xmlrpc\.php)$ {
 return 404;
}

Перечитываем конфиг nginx:

# nginx -s reload

Проверяем, работает ли реально блокировка файла xmlrpc.php. Для этого сначала просто пройдите по ссылке — https://домен/xmlrpc.php Это мы проверили GET запрос. Чтобы проверить POST запрос, введите в адресной строке браузера следующую конструкцию:

data:text/html,<form action=https://serveradmin.ru/xmlrpc.php method=post><input name=a></form>

В появившейся форме введите любое значение и нажмите Enter на клавиатуре.

Проверяем лог файл.

# cat ssl-access.log | grep 77.27.225.139
77.27.225.139 - - [18/Dec/2017:15:35:07 +0300] "GET /xmlrpc.php HTTP/2.0" 404 201 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0" "1.30"
77.27.225.139 - - [18/Dec/2017:15:41:44 +0300] "POST /xmlrpc.php HTTP/2.0" 404 201 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0" "1.30"

Все в порядке, веб сервер выдает ошибку 404. Закрыли доступ к файлу xmlrpc.php, через который можно брутфорсить учетки, либо искать уязвимости.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *