Назад |
Перейти на главную страницу
Стратегия динамического ограничения IP
Сегодня утром один из наших сайтов атаковал бот, который искал уязвимости. Использовался тот же IP-адрес. Однако BOT в среднем выполнял 12-16 запросов страниц в минуту. Были обнаружены разные страницы с 20-40 статическими ресурсами, состоящими из изображений, CSS, js и т. Д.
Вооружившись этими знаниями, какова хорошая стратегия включения динамических ограничений IP в IIS7.5? Я вижу, что могу включить «режим только ведения журнала», но не совсем уверен, как лучше всего просмотреть файлы журнала для решения этой проблемы.
Чего я не хочу делать, так это блокировать своих пользователей, но отменять запрос BOT.
Недавно мы попытались настроить модуль динамических IP-ограничений для одного из наших крупных сайтов, и это оказалось непросто. Читая комментарии к исходному вопросу, мне пришлось широко улыбнуться, когда я увидел "Не трать время зря.". Это в основном правда.
Я все же дам несколько советов, на что вам следует обратить внимание:
- Возможно, вам придется отделить вызовы страниц от вызовов статических ресурсов, т. Е. Переместить последние в их собственный домен, чтобы применить ограничение, которое вы установили только для загрузки страниц, а не статических ресурсов.
- Вам нужно будет тщательно определить и протестировать критерии отказа в запросе - это что-то вроде 10 запросов / 1 или 50 запросов / 10? 12 запросов / 60 секунд, скорее всего, не лучший критерий для отказа, потому что это может повлиять на многих законных пользователей.
- При использовании флажка «Режим только ведения журнала» в журнал IIS будут регистрироваться псевдо-отклоненные запросы, но с кодом состояния 200 и кодом подстатуса 502 (поэтому убедитесь, что вы это регистрируете). К тому же, модуль Advanced Logging не будет корректно регистрировать эти запросы Так что забудьте об этом, если вы хотите использовать динамические ограничения IP и получать информацию об отклоненных запросах.
- Вы должны постоянно следить за своими журналами и, возможно, в конечном итоге придется внести в белый список IP-адреса некоторых внешних прокси, чтобы пользователи, находящиеся за ними, правильно обрабатывались как отдельные пользователи, а не как один пользователь (с IP-адресом прокси).
- Вы не можете наказывать клиентов в течение некоторого времени после достижения ваших ограничений на количество запросов - как только они ограничивают поток своих запросов снова.
Мы начали опробовать этот модуль более месяца назад и до сих пор не отключили «Режим только ведения журнала», потому что так много всего не чувствуется или не работает правильно ...