Я настраиваю специализированный поставщик MFA для ADFS 3.0, реализуя IAuthenticationAdapter
в .NET. Этот пользовательский адаптер генерирует случайный код, который передается на мобильный телефон пользователя.Где хранить счетчик повторов в адаптере аутентификации ADFS
Я хочу ограничить количество раз, когда пользователь может ввести случайный код, чтобы предотвратить атаку грубой силы. Я сделал это, используя счетчик повторов, который я храню в контексте, который передается BeginAuthentication()
и TryEndAuthentication()
.
Я только что выяснил, что этот контекст не является серверной вещью, а вместо этого зашифрован и передается клиенту в скрытом html-поле.
Теперь пользователь может обойти ограничение на повторную попытку, просто перейдя на предыдущую страницу с предыдущим значением счетчика повторных попыток и повторно отправьте это с помощью нового кода.
Я считаю, что мне нужно хранить только серверную часть повторного подсчета, но где? Не можете найти что-либо по этому поводу в документации.
Я хотел бы надеяться, что ADFS сама по себе будет поддерживать ретрит-лимит.
Возможно, мне лучше удалить функцию повтора. –