Насколько это небезопасно? - PullRequest
3 голосов
/ 18 января 2011

Ищу отзывов.Я создаю приложение django, в котором пользователям выдаются случайно сгенерированные пароли.

В настоящее время пароль генерируется с использованием функции make_random_password () в аутентификации django.

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

Это закрытое (только для приглашений) приложение, но оно живет в Интернете.всего около 600 пользователей.У меня было решение, которое, как мне кажется, несколько небезопасно, но я хотел запустить его пользователями SO, поскольку оно решает проблему обратной связи

В моем файле settings.py я создал два списка, один из которых содержит около20 имен машин, остальные около 40 глаголов (которые пишутся с заглавной буквы).

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

Все пароли будут иметь длину не менее 9 символов, а при сохранении хэшируются с помощью функции set_password () django

Самая большая проблема, которую я вижу, заключается в том, что если кто-то получит доступ к SFTP-серверу, он получит доступ кмой код и, следовательно, шаблон для взлома ключей.

НО у них также будет доступ к БД и т. д., так ли это на самом деле проблема?

Ответы [ 4 ]

8 голосов
/ 18 января 2011

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

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

Ваши автомобильные имена в сочетании с глаголами имеют около 9,6 (= log2 (20) + log2 (40)) битов энтропии. Соответствует примерно 2 случайным символам. Это очень низко.

3 голосов
/ 18 января 2011

Как насчет использования системы OpenID, чтобы им не приходилось запоминать еще один пароль.Есть некоторая интеграция с Django в сети.Недостатком является то, что вам нужно знать их OpenID, чтобы добавить их в базу данных аутентификации, прежде чем отправлять приглашения ...

3 голосов
/ 18 января 2011

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

1 голос
/ 05 мая 2011

Концепция генерации случайного пароля, если у вас есть флаг, указывающий, какой шаблон генерации случайного пароля используется для генерации пароля, когда вам нужно проверить пароль при последующих входах в систему ... Вы это делаете?Если да, то добавьте шаблон засолки, чтобы сделать его безопасным, и, наконец, хеш общего количества соли будет более безопасным.Попробуйте это ..

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