2015-07-13 1 views
0

Я настраиваю специализированный поставщик MFA для ADFS 3.0, реализуя IAuthenticationAdapter в .NET. Этот пользовательский адаптер генерирует случайный код, который передается на мобильный телефон пользователя.Где хранить счетчик повторов в адаптере аутентификации ADFS

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

Я только что выяснил, что этот контекст не является серверной вещью, а вместо этого зашифрован и передается клиенту в скрытом html-поле.

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

Я считаю, что мне нужно хранить только серверную часть повторного подсчета, но где? Не можете найти что-либо по этому поводу в документации.

Я хотел бы надеяться, что ADFS сама по себе будет поддерживать ретрит-лимит.

+0

Возможно, мне лучше удалить функцию повтора. –

ответ

0

Я не нашел серверное место для хранения данных во время процесса аутентификации. Я считаю, что их нет.

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

Тем не менее, это меня озадачивает. Разумеется, для более сложного модуля аутентификации потребуется некоторое место для отслеживания прогресса аутентификации на стороне сервера.

Смежные вопросы