А мне кажется всё это неэффективно. IP адресов прорва и каждый задолбаешься блокировать, а нагрузка прёт.
Эффективных вариантов вижу 2:
1. С помощью nginx сделать ограничение ОБЩЕГО количества подключений к отвечающему за пароль URL (т.е. /administrator/index.php для Джумлы и /wp-login.php для Вордпресса). Поставить скажем штуки 2 и всё. Да, так и сам владелец сайта зайти не сможет, но для его IP можно сделать исключение. Зато остальные сайты на сервере смогут нормально работать
2. С участием владельца сайта переименовать файл для входа в какое-нибудь трудное имя, например administator/indexHJK28bhy2H.php, чтобы данное имя было известно только владельцу сайта. А на /administator/index.php поставить статическую заглушку, которую nginx может отдавать со скоростью пулемёта.
4 августа 2013 г., 15:21 пользователь Vladislav Prodan <universite@xxxxxxx> написал:
--- Исходное сообщение ---
От кого: "Nick Knutov" <mail@xxxxxxxxxx>
Дата: 3 августа 2013, 14:13:32
> Тем, что он пропускает запросы на бекэнд.
> Размер ботнета, перебирающего пароли - примерно 100 000 ип.
> Он не весь сразу приходит, но в общем случае, или можно использовать
> простое ограничение вроде с одного ип не чаще 1 запроса в
> минуту/секунду, но это просто снижает нагрузку до приемлимого уровня, а
> не решает проблему.
У меня скрипт каждые 5 минут парсит общий (суточный) лог нгинкса nginx-access.log.
И если накапливается 30 запросов на перебор паролей вордпресса/джумлы с 1 IP, то этот IP добавляется в глобальный список deny.
--
Vladislav V. Prodan
System & Network Administrator http://support.od.ua
+380 67 4584408, +380 99 4060508
VVP88-RIPE