Я разрабатываю веб-приложение asp.net MVC, и клиент просит нас сделать все возможное, чтобы сделать его максимально устойчивым к атакам типа «отказ в обслуживании». Они обеспокоены тем, что на сайт могут поступать злонамеренные запросы большого объема с намерением замедлить / остановить работу сайта.
Я обсуждал это с владельцем продукта как действительно выходящий за рамки реального веб-приложения. Я считаю, что ответственность за мониторинг трафика и реагирование на злонамеренные запросы лежит на команде хостинга / сети.
Однако они непреклонны в том, что в приложение должны быть встроены некоторые меры предосторожности. Однако они не хотят внедрять CAPTCHA.
Было предложено ограничить количество запросов, которые могут быть сделаны для сеанса в течение заданного периода времени. Я думал сделать что-то вроде этого Лучший способ реализовать регулирование запросов в ASP.NET MVC? Но при использовании идентификатора сеанса, а не IP-адреса клиента, это может вызвать проблемы для пользователей, находящихся за корпоративным брандмауэром - их IP-адреса будут одинаковыми.
Они также предложили добавить возможность отключать определенные области сайта - предполагая, что пользователь-администратор может отключить области с интенсивным использованием базы данных ... Однако это будет контролироваться через пользовательский интерфейс и, конечно же, если это будет атака DOS, администратор пользователь все равно не сможет добраться до него.
У меня вопрос, действительно ли стоит это делать? Разве настоящая DOS-атака была бы намного более продвинутой?
Есть ли у вас другие предложения?