«Не заставляйте меня помнить!» — Свобода пользовательским паролям
В воображаемом мире нефункциональных требований «безопасность» всегда ведет смертельный бой с «юзабилити», или говоря простыми словами — попытки сделать удобно создают уязвимости, а перестраховка от возможных дыр может сделать продукт совершенно негодным.
Иногда возможны компромиcсы, но в случае конфликтов, мы всегда на стороне наших пользователей. Fresh — дистрибутив для домашних пользователей, и он не должен изображать из себя SELinux[1].
Реальные риски, от которых защищаются домашние пользователи:
- другой член семьи не посмотрит историю в броузере,
- если аккаунт детский, то возможно там установлен родительский надзор (SkyDNS и т.п.).
Реальная атака, если sshd не установлен (по умолчанию — нет) — ручной перебор, от чего эффективно защитит и пароль из пары-тройки символов[2]. Защита рутового аккаунта — только от «дурака» или потенциальных троянов.
В Fresh GNOME, и во всех других дистрибутивах, выросших из Mandriva, была проблема, архитектурно связанная в использованием библиотеки pam_tcb.so и жестких проверок cracklib, а выглядело это так, что у пользователя
- требовалась адова секьюрность пароля (длина, наличие цифр и букв и т.п.)
- при смене обычным пользователем своего пароля, требовалось вводить дополнительно root-овый пароль — что либо выглядело издевательством[3], либо профанацией[4] безопасности.
Good news, everyone!
Мы сменили pam_tcb на на pam_unix, что дало возможность и
- Улучшить удобство — теперь можно делать пользователям любые пароли, система только будет оценивать его относительную сложность, и рекомендовать усиление. Но если рисков реально нет — нетбук для ребенка, с играми — то можно обойтись и без пароля, и поставить даже пустой пароль.
- Усилить безопасность — теперь в pam используется sha512, до этого там был вовсе bluefish.
А что касается возражений «проверкам на сложность паролей надо подчиняться», или вообще, «используйте только одноразовые сгенерированные пароли», то на самом деле, гораздо более остро стоит проблема «интернетных паролей» от разных сетевых аккаунтов и даже тут, мы рекомендуем использовать либо использовать удобные для запоминания ассоциативные пароли, либо уникальные для каждого сайта пароли, вычисляемые прямо в броузере по удобному для запоминания мастер-паролю.
Кстати, может активно приучать «обычных пользователей» к сетевой безопасности, и добавить букмарклет «SuperGenPass» в Firefox по умолчанию?
Идея добавлять букмарклет «SuperGenPass» в Firefox по умолчанию?
|
|
- ↑ Хотя это сравнение несколько некорректно, мы на самом деле даже размышляем, не собирать ли Fresh с поддержкой (по-умолчанию отключенного) SELinux, что бы тем, кому нужна именно безопасность, могли ее быстро включить.
- ↑ Да и при sshd и автоматических переборах штрафные таймауты защитят даже при «пинкодовом» пароле
- ↑ Немедленно вспоминается классика:
- «Sorry, your password has been in use for 30 days and has expired — you must register a new one.»
- roses
- «Sorry, too few characters.»
- pretty roses
- «Sorry, you must use at least one numerical character.»
- 1 pretty rose
- «Sorry, you cannot use blank spaces.»
- 1prettyrose
- «Sorry, you must use at least 10 different characters.»
- 1fuckingprettyrose
- «Sorry, you must use at least one upper case character.»
- 1FUCKINGprettyrose
- «Sorry, you cannot use more than one upper case character consecutively.»
- 1FuckingPrettyRose
- «Sorry, you must use no fewer than 20 total characters.»
- 1FuckingPrettyRoseShovedUpYourAssIfYouDon’tGiveMeAccessRightFuckingNow!
- «Sorry, you cannot use punctuation.»
- 1FuckingPrettyRoseShovedUpYourAssIfYouDontGiveMeAccessRightFuckingNow
- «Sorry, that password is already in use.»
- «Sorry, your password has been in use for 30 days and has expired — you must register a new one.»
- ↑ Если каждый чих требует рутового пароля — значит этот пароль будет известен всем.
[ Хронологический вид ]Комментарии
SuperGenPass может выйти боком. 1. Вводить мастер-пароль каждый раз - будет желание сделать покороче. 2. Вероятность засветить мастер-пароль растет в (31 декабря - сложно мне сейчас сказать какой) прогрессии 3. Вы исходники смотрели?
Это не base64, вроде???
TLDList - это еще зачем???
4. Ну и множественность логИнов исключает напрочь. Ну, или помнить к каждому логину свой мастер-пароль :)
Я давно разбирал исходники SGP, вот, писал даже статью, скорее всего она ответит на многие ваши вопросы. Если кратко — в SGP была только одна хитрая уязвимость, но ее легко запатчить.
Войдите, чтобы комментировать.