Срок действия пароля сброса пароля - PullRequest
1 голос
/ 18 февраля 2012

Что является стандартом в отношении срока действия ключей пароля сброса по электронной почте?

Мое приложение генерирует 30-символьный буквенно-цифровой ключ, который добавляется к URL-адресу: http://site.com/reset/keygoeshere

Ключ удален изучетная запись пользователя после того, как он сбросил свой пароль.

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

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

Например, я просто щелкнул ссылку сброса с Facebook, которая была отправлена ​​3 дня назад, и она все еще работает.

Требуется ли истечение срока действия ключей сброса пароля с точки зрения стандартной практики?Если да, то как долго мы должны позволить ключу оставаться «свежим»?

Ответы [ 3 ]

4 голосов
/ 18 февраля 2012

Нельзя ожидать, что вы будете иметь дело с взломанной учетной записью электронной почты пользователя. Однако для предотвращения грубой силы желательно короткое время истечения, например 15 минут. Если пользователь запрашивает сброс пароля, он обычно хочет получить доступ сейчас , и если по какой-то причине он запрашивает ссылку для сброса пароля, чтобы использовать ее позже, ну, винт, он должен запросить другую. Самый первый комментарий к Q, который вы связали, в значительной степени подводит итог, и если пользователю не нравится тот факт, что вы храните его в безопасности, это его проблема.

Кроме того, вы можете сделать сброс более безопасным, задав контрольный вопрос. Что-то вроде «Какая была ваша первая машина». Эти типы мер являются стандартными, и хотя информацию о пользователе, как правило, нетрудно узнать, случайный брут-форсер, вероятно, не будет беспокоиться, особенно если у него есть только до 15 минут, чтобы попытаться применить грубую силу для этого сбросить ссылку.

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

Несколько заметок:

  1. Когда URL сброса достигнут, сохраните ключ в файле cookie и сразу же перенаправьте его, чтобы он нигде не находился в реферере. Срок действия файла cookie истекает после закрытия браузера и должен быть явно удален после сброса пароля.
  2. Я делаю 3 часа сброса для своего сервиса, и я думаю, что даже это слишком много времени. 30 минут даже было бы хорошо.
  3. Ссылка для сброса пароля не совсем небезопасна. Если ваша служба хранит какие-либо данные кредитных карт, обмен денег или личную информацию, вам следует также рассмотреть вопрос о включении некоторых проблемных вопросов.
0 голосов
/ 18 февраля 2012

Как я понимаю, оба необходимы, в противном случае это вызовет множество серьезных проблем с безопасностью. обычно для меня я держу только 4 часа.

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