Нашли причину резкого роста нагрузки на сервера, о которой я писал в посте «Автономный блог: новые проблемы«. Проблема оказалась в том, что одновременно с нескольких адресов пытались подобрать пароли к WordPress. В логах была следующая картина (смотрите файл access.log):

v8pro.ru 185.93.185.49 — — [18/Dec/2015:03:11:32 +0300] «POST /xmlrpc.php HTTP/1.0» 200 370 «-» «-«
v8pro.ru 185.93.185.49 — — [18/Dec/2015:03:11:32 +0300] «POST /xmlrpc.php HTTP/1.0» 200 370 «-» «-«
v8pro.ru 195.62.53.174 — — [18/Dec/2015:03:11:37 +0300] «POST /xmlrpc.php HTTP/1.0» 200 370 «-» «-«

 

Вот 3 шага, которые помогли остановить атаку на WordPress

Для начала отключаем XML-RPC, для этого ставим плагин: Disable XML-RPC. Просто активируем, никаких настроек он не имеет.

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

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

Следующим шагом ставим плагин Limit Login Attempts, он ограничивает количество попыток ввода пароля. Если несколько раз подряд ввести логин/пароль неверно, то для этого IP накладывается блокировка на несколько часов. У себя поставил следующие настройки:

 

Закрываем доступ к файлу wp-login.php. Для этого в файл .htaccess нужно добавить строки:

<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>

 

И завершающий шаг: переименовываем файл wp-login.php в какой-нибудь superlogin.php. А в самом файле нужно через найти все упоминания wp-login.php и заменить их на новое имя файла (в нашем случае superlogin.php). И теперь, чтобы зайти к себе в админ панель – нужно обращаться к вашему файлу superlogin.php

После сделанных манипуляций нагрузка сразу упала в 10 раз. Последил по логам – атака еще продолжалась несколько часов, но нагрузка на сервер уже была меньше, т.к. доступ к нужным файлам был закрыт. Атакующие роботы это поняли и через некоторое время прекратили свои попытки взлома, видимо направили свои силы на другие сайты.

 

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

comments powered by HyperComments