Что лучший способ состоит в том, чтобы реализовать ограничивающий уровень алгоритм для веб-запросов?

Я склонен соглашаться с большинством других комментариев:

  • Блокировка после X неудавшихся попыток пароля
  • неудачные попытки количества против имени пользователя
  • Дополнительно КАПЧА использования (например, попытки 1-2 нормальны, попытки 3-5, является CAPTCHA'd, дальнейшие попытки, заблокированные в течение 15 минут).
  • Дополнительно посылают электронное письмо владельцу учетной записи для удаления блока

, На что я действительно хотел указать, то, что необходимо быть очень осторожны относительно принуждения "сильных" паролей, поскольку это часто означает, что они будут просто записаны на постэтом на столе / приложенные к монитору. Кроме того, некоторые политики паролей приводят к [еще 1113] предсказуемые пароли. Например:

, Если пароль не может быть никаким предыдущим используемым паролем и должен включать число, существует хороший шанс, что это будет любой общий пароль с порядковым номером после него. Если необходимо изменять пароль каждые 6 месяцев, и человек был там двумя годами, возможности являются своим паролем, что-то как password4.

Говорят, что Вы ограничиваете его еще больше: должны быть по крайней мере 8 символов, не может иметь никаких последовательных букв, должен иметь букву, число и специальный символ (это - политика действительного пароля, которую многие считали бы безопасным). Попытка ворваться в учетную запись John Quincy Smith? Знайте, что он родился 6-го марта? Существует хороший шанс, его пароль - что-то как jqs0306! (или возможно jqs0306 ~ ).

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

27
задан Community 23 May 2017 в 11:47
поделиться

3 ответа

Используйте быструю хеш-таблицу на основе памяти, например memcached . Ключи будут целью, которую вы ограничиваете (например, IP-адрес), а срок действия каждого сохраненного значения должен быть максимальным временем ограничения.

Значения, сохраненные для каждого ключа, будут содержать сериализованный список последних N попыток, которые они сделали. выполнение действия, а также время для каждой попытки.

10
ответ дан 28 November 2019 в 05:21
поделиться

Мы обнаружили, что Token Bucket - лучший алгоритм для такого рода ограничения скорости. Он широко используется в маршрутизаторах / коммутаторах, поэтому наши операторы лучше знакомы с этой концепцией.

23
ответ дан 28 November 2019 в 05:21
поделиться

Вы считаете эту страницу интересной для чтения:

http://www.codeproject.com/KB / aspnet / 10ASPNetPerformance. aspx

Раздел, на который следует обратить внимание, начинается следующим образом:

Предотвращение атак типа «отказ в обслуживании» (DOS)

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

РЕДАКТИРОВАТЬ: Аналогичный вопрос здесь:

Лучший способ реализовать регулирование запросов в ASP.NET MVC?

2
ответ дан 28 November 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: