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

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

Мне интересно, как вы предотвращаете атаки типа «отказ в обслуживании», поскольку злонамеренный пользователь, у которого было имя пользователя кого-то, кого он хотел DoS, мог просто быстро предпринять попытку входа в систему.

Можно ли заблокировать учетную запись только для IP-адреса пользователя, который превысил количество попыток входа в систему + окно ?

Есть ли лучший способ?

РЕДАКТИРОВАТЬ:

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


person tacos_tacos_tacos    schedule 08.12.2013    source источник


Ответы (1)


Вы не должны блокировать пользователя по его IP, потому что, возможно, это реальный пользователь, который забыл свой пароль и сделал повторную попытку вручную. Хуже всего (с точки зрения бизнеса) то, что реальный пользователь не сможет получить доступ к вашему сервису.

Итак, ваша проблема на самом деле «Откуда я знаю, что пользователь не робот?».

Один из самых популярных способов справиться с этим — использовать другой механизм для нескольких попыток входа в систему. Например, Google использует Captcha примерно после 3 попыток, поэтому автоматический бот застрянет на этом этапе.

Конечно, можно заставить бота читать капчу, но это только начало.

Подробнее о внедрении капчи можно прочитать на их официальном сайте: http://www.captcha.net/.

Другие альтернативные идеи здесь: http://econsultancy.com/il/blog/63144-six-alternatives-to-using-the-dreaded-captcha-images

person Wasafa1    schedule 08.12.2013