Преднамеренный спящий вызов для входа пользователя в веб-приложение - C # ASP.NET - PullRequest
0 голосов
/ 21 февраля 2012

Мне было интересно, окажет ли влияние следующее, как я намереваюсь. Я пишу пользовательскую страницу входа для своего веб-приложения (с использованием C # и ASP.NET), и я подумал добавить следующее в событие ButtonLogIn_Click ():

System.Threading.Thread.Sleep(1000);

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

Как вы думаете, будет ли это иметь эффект, как я намереваюсь? Или это просто замедлит IIS?

РЕДАКТИРОВАТЬ: Спасибо всем за ваш вклад!

Ответы [ 5 ]

2 голосов
/ 21 февраля 2012

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

Вы также можете временно заблокировать запрос IP-адреса.Смотрите эту ссылку: http://www.iis.net/download/dynamiciprestrictions

1 голос
/ 21 февраля 2012

Я думаю, что это совсем не поможет, так как запросы (если они выполняются сценарием) будут ждать в очереди и заставят ваш IIS просто страдать больше, и вам придется убивать прецессы, заметив проблему также сложнее.

1 голос
/ 21 февраля 2012

Это не правильно, если честно.Обычно существуют структуры / элементы управления, которые позволят вам реализовать такие базовые функции безопасности.Там нет ничего о?Если вам нужно кодировать его самостоятельно, то стоило бы посмотреть на «спящий» поток после многочисленных попыток (точно так же, как вход в Windows OS).Вы должны иметь в виду тот факт, что с тем, что вы предлагаете - даже успешный вход в систему будет замедлен.Я думаю, что если вы используете thread.sleep, например, после 7 или 8 попыток, то гораздо более вероятно, что вы спите, пытаясь войти в систему методом грубой силы.

1 голос
/ 21 февраля 2012

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

0 голосов
/ 21 февраля 2012

http://msdn.microsoft.com/en-us/library/system.web.security.membership.maxinvalidpasswordattempts.aspx

Возможное решение.Как я и думал, мне показалось немного странным, что там уже ничего не будет.

...