Защита от множественных запросов

12
D1
На сайте с 10.01.2013
Offline
31
2289

Подскажите, плиз, что делать в такой ситуации.

Выделенный сервер. Используется CloudFlare (ну это так, чисто для информации). Установлен WordPress. Сайт типа энциклопедии, есть зарегистрированные пользователи, которые изредка пользуются функциями, доступными только зарегистрированным пользователям.

Недавно повадились какие-то чмошники делать многократные запросы к вордпрессовскому файлу wp-login.php. Скорее всего пытаются перебрать пароль для администратора сайта, чтобы получить доступ к базе данных.

Число запросов генерируется беспрецедентное для моего не слишком то большого сайта:

У меня на сервере установен Fail2ban, работает неплохо, но за многократные запросы он по рукам "хакерам" не бьет почему то. Установлен плагин WordPress Brute Force Login Protection - после 10-ти попыток доступа в течение нескольких секунд к wp-login заносит IP "хакера" в .htaccess. За это ему спасибо, иначе сервер бы просто упал.

IP отслеживаю через error_log сервера, делаю whois и пишу в abuse провайдера. Кто-то реагирует, кто то нет. Вот например, что написал один чмошник в ответ (чисто отписка, на мой взгляд):

Hi, we've removed the malware and trying to figure out how it keeps reinfecting the server. Alinoor

Особо рьяных заношу в вечный бан через parallels plesk panel.

Сейчас проблема заключается в том, что сильно раздуваются логи (error_log, access_log) - за день иногда может до 600 Мб их размер составлять, а это нагрузка на сервер. К счастью, каждый день они обнуляются.

ВОПРОС: есть ли какой-нибудь модуль на уровне сервера, который с такими атаками помогает бороться? CloudFlare с сервисным планом Pro Website импотентен и такие атаки не устраняет, а более серьезный тарифный план мне недоступен по деньгам (это $200 в месяц) и не факт, что решит проблему.

Или еще какое-нибудь интересное решение? С пользователями расставаться не хочу, поэтому вариант отказа от регистрации на сайте не рассматриваю.

SeVlad
На сайте с 03.11.2008
Offline
1609
#1
delta1979:

У меня на сервере установен Fail2ban, работает неплохо, но за многократные запросы он по рукам "хакерам" не бьет почему то.

Не /правильно/ настроен.

delta1979:
есть ли какой-нибудь модуль на уровне сервера, который с такими атаками помогает бороться?

Запрет в хтацесс на файл для всех, кроме себя и нужных юзеров - не? А плагины выкинуть :)

Как вариант - доп. серверная авторизация.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
D1
На сайте с 10.01.2013
Offline
31
#2
Не /правильно/ настроен.

Там настроек - раз два и обчелся. У меня все джейлы включены, IPшники хакеров там присутствуют как заблокированные.

Запрет в хтацесс на файл для всех, кроме себя и нужных юзеров - не?

Их 2000 штук, юзеров, и каждый день хотя бы один новый регистрируется.

А плагины выкинуть

Зачем? Плагин как раз делает то, что вы посоветовали - запрещает доступ к wp-login.php для IP хакера.

K
На сайте с 01.03.2013
Offline
24
#3

хороший способ переименовать wp-login на другое имя

D1
На сайте с 10.01.2013
Offline
31
#4

Ну будут ломиться по другому имени, делов то. Они ж не дураки - смотрят, куда ведут ссылки регистрации или входа на сайт, и запрашивают их раз по 10 в секунду.

SeVlad
На сайте с 03.11.2008
Offline
1609
#5
delta1979:
Плагин как раз делает то, что вы посоветовали - запрещает доступ к wp-login.php для IP хакера.

Данный плагин - это

1) работа движка. А зачем эта нагрузка, если есть штатные функции сервера.

2) ты сам жалуешься на логи.

Но если юзеров много (хотя я лично противник использования контентных движков как многопользовательских), то доп. серверная авторизация - неплохой вариант.

kruzo:
хороший способ переименовать wp-login на другое имя

Фиговый способ. 10 раз фиговый. И фиговый тоже, как одноимённый листик.

D1
На сайте с 10.01.2013
Offline
31
#6

Попробую дополнительную серверную авторизацию реализовать...

Что же касается плагина WordPress Brute Force Login Protection, то просто хочу пояснить, что никакой существенной нагрузки на сервер он не создает, т.к. его работа краткосрочна - он только отслеживает доступ к wp-login.php и ему достаточно 10 неверных попыток входа, что послать IPшник в .htaccess. После чего блокировкой доступа по IP занимается сервер. У меня с этим плагином, с ежедневным трафиком нормальным + трафиком от хакеров пиковая нагрузка на сервер не превышает 10-12% (а средняя нагрузка, дак вообще наверное 4%), при том, что сервер самый дешевый в свое время выбрал.

Но это так, лирика...

K
На сайте с 01.03.2013
Offline
24
#7
delta1979:
Ну будут ломиться по другому имени, делов то. Они ж не дураки - смотрят, куда ведут ссылки регистрации или входа на сайт, и запрашивают их раз по 10 в секунду.

Именно к wp-login обращаются боты автоматически. Замечал, что при смене имени, они к новому адресу уже не обращаются.

D1
На сайте с 10.01.2013
Offline
31
#8
kruzo:
Именно к wp-login обращаются боты автоматически. Замечал, что при смене имени, они к новому адресу уже не обращаются.

Это не решение проблемы, это ее отсрочка. И при обновлении WordPress wp-login.php вновь материализуется.

K5
На сайте с 21.07.2010
Offline
209
#9
delta1979:
У меня все джейлы включены
SeVlad:
Не /правильно/ настроен.

ибо fail2ban "не обучен" искать брутфорс админки вордпресса, эту настройки надо сделать самому.

даже стандартный брут ssh в прежних версиях (не знаю как в последних) fail2ban не отбивался, необходимо было дополнительное правило дописывать.

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
Metal Messiah
На сайте с 01.08.2010
Offline
163
#10

а wp-login.php переименовать не? И правило в nginx прописать чтобы wp-login не доходил до бекенда, а отдавался как статическая страница?

у меня на админку джумлы налетали так что хостер присылал сообщения о превышении CPU и угрозы блокировки аккаунта

anonymous, думай что говоришь и не забывай подписать отзыв :)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий