Что безопаснее? Должен ли я отправить электронное письмо с URL-адресом, срок действия которого истекает для пользователей, чтобы сбросить свой пароль, или я должен отправить по электронной почте новый пароль? - PullRequest
24 голосов
/ 17 февраля 2010

Мне было интересно, что будет безопаснее, когда пользователи забудут свой пароль

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

Или

  • Отправьте электронное письмо со ссылкой, срок действия которой истекает в течение определенного периода времени, когда пользователь может сбросить свой пароль.

Помимо того, что последний использует дополнительную таблицу, что, по вашему мнению, является более безопасной / лучшей практикой?

Ответы [ 14 ]

0 голосов
/ 17 февраля 2010

Хотя я могу повторять некоторые ответы, я чувствую себя обязанным ответить, потому что у нас недавно были некоторые проблемы с неисправными инструментами восстановления пароля. Один из личных аккаунтов моего коллеги был взломан, что позволило скомпрометировать наши доменные приложения в Google. Из-за невостребованных незашифрованных паролей и глупых вопросов по восстановлению паролей, которые можно было гуглить, были скомпрометированы и другие учетные записи.

Достаточно сказать, что я твердо привержен ссылкам по электронной почте, срок действия которых истекает через 4 часа . Я сидел там в течение 4 часов, войдя в один из наших аккаунтов после получения ссылки, убедившись, что она по-прежнему бескомпромиссна. 24-48 часов было бы слишком долго, чтобы сделать это. 4 часа было слишком долго. Случайно сгенерированный пароль, который пользователь должен изменить при следующем входе в систему, является вторым лучшим, но он полностью зависит от того, как пользователь фактически вошел в систему. Пароль изменяется навсегда, тогда как если пользователь ничего не делает со ссылкой, пароль не быть сброшен.

Не существует идеального решения в отношении отдельного человека, который хочет поставить под угрозу вашу систему. Есть лучшие решения, чем другие.

0 голосов
/ 17 февраля 2010

Я согласен с процессом воли.

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

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

0 голосов
/ 17 февраля 2010

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

0 голосов
/ 17 февраля 2010

Все, кроме ceeyajoz, используют некорректную логику.Трудно думать о безопасности.

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

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

Так что я говорю, просто отправьте пароль, чтобы пользователь выбрал новый на один шаг меньше.

РЕДАКТИРОВАТЬ Когда ясказал "отправить пароль" это было в контексте ОП, где вы отправляете новый случайный пароль.

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