«Не заставляйте меня помнить!» — Свобода пользовательским паролям

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м
 
(Batch edit: add Category:GNOME Fix)
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
В воображаемом мире нефункциональных требований «безопасность» всегда ведет смертельный бой с «юзабилити», или говоря простыми словами — попытки сделать удобно, создают уязвимости, а перестраховка от возможных дыр может сделать продукт совершенно негодным.
+
В воображаемом мире нефункциональных требований «безопасность» всегда ведет смертельный бой с «юзабилити», или говоря простыми словами — попытки сделать удобно создают уязвимости, а перестраховка от возможных дыр может сделать продукт совершенно негодным.
  
Иногда возможны компромисы, но в случае конфликтов, мы всегда на стороне наших пользователей.
+
Иногда возможны компромиcсы, но в случае конфликтов, мы всегда на стороне наших пользователей.
Fresh — дистрибутив для домашних пользователей не должен изображать из себя SELinux.
+
Fresh — дистрибутив для домашних пользователей, и он не должен изображать из себя SELinux<ref>Хотя это сравнение несколько некорректно, мы на самом деле даже размышляем, не собирать ли Fresh с поддержкой (по-умолчанию отключенного) SELinux, что бы тем, кому нужна именно безопасность, могли ее быстро включить.</ref>.
  
Реальные риски, от которых защищаются домашние пользователи
+
Реальные риски, от которых защищаются домашние пользователи:
 
* другой член семьи не посмотрит историю в броузере,
 
* другой член семьи не посмотрит историю в броузере,
* если аккаунт детский, то возможно там установлена родительский надзор (SkyDNS и т.п.).
+
* если аккаунт детский, то возможно там установлен родительский надзор (SkyDNS и т.п.).
  
Реальная атака, если sshd не установлен (по умолчанию — нет) — ручной перебор, от чего эффективно защитит и пароль из пары-тройки символов.
+
Реальная атака, если sshd не установлен (по умолчанию — нет) — ручной перебор, от чего эффективно защитит и пароль из пары-тройки символов<ref>Да и при sshd и автоматических переборах штрафные таймауты защитят даже при «пинкодовом» пароле</ref>.
Да и при sshd и автоматических переборах штрафные таймауты защитят даже при «пинкодовом» пароле.
+
 
Защита рутового аккаунта — только от «дурака» или потенциальных троянов.
 
Защита рутового аккаунта — только от «дурака» или потенциальных троянов.
  
В Fresh GNOME, и во всех других дистрибутивах, вырасших из Mandriva, была проблема, архитектурно связанная в использованием библиотеки <tt>pam_tcb.so</tt> и жестких проверок <tt>cracklib</tt>, а выглядело это так, что у пользователя
+
В Fresh GNOME, и во всех других дистрибутивах, выросших из Mandriva, была проблема, архитектурно связанная в использованием библиотеки <tt>pam_tcb.so</tt> и жестких проверок <tt>cracklib</tt>, а выглядело это так, что у пользователя
 
* требовалась адова секьюрность пароля (длина, наличие цифр и букв и т.п.)
 
* требовалась адова секьюрность пароля (длина, наличие цифр и букв и т.п.)
* при смене обычным пользователем своего пароля, требовалось вводить дополнительно root-овый пароль — что либо выглядело издевательством, либо профанацией<ref>Если каждый чих требует рутового пароля — значит этот пароль будет известен всем.</ref> безопасности.
+
* при смене обычным пользователем своего пароля, требовалось вводить дополнительно root-овый пароль — что либо выглядело издевательством<ref>Немедленно вспоминается классика:
 +
<blockquote>
 +
* «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.»
 +
</blockquote>
 +
</ref>, либо профанацией<ref>Если каждый чих требует рутового пароля — значит этот пароль будет известен всем.</ref> безопасности.
 +
 
 +
[[File:xkcd_password_strength.png|center|640px]]
 +
 
  
 
----
 
----
Good news, everyone!
+
''Good news, everyone!''
  
 
Мы сменили <tt>pam_tcb</tt> на <tt>на pam_unix</tt>, что дало возможность и  
 
Мы сменили <tt>pam_tcb</tt> на <tt>на pam_unix</tt>, что дало возможность и  
* Улучшить удобство — теперь можно делать пользователям любые пароли, система только будет оценивать его относительную сложность, и рекомендовать усиление. Но если рисков реально нет — нетбук для ребенка, с играми — то можно обойтись и без пароля поставить даже пустой пароль.
+
* Улучшить удобство — теперь можно делать пользователям любые пароли, система только будет оценивать его относительную сложность, и рекомендовать усиление. Но если рисков реально нет — нетбук для ребенка, с играми — то можно обойтись и без пароля, и поставить даже пустой пароль.
* Усилить безопасность — теперь в <tt>pam</tt> используется <tt>sha512</tt>, до этого там был вовсе <tt>bluefish</tt>-шифрование.
+
* Усилить безопасность — теперь в <tt>pam</tt> используется <tt>sha512</tt>, до этого там был вовсе <tt>bluefish</tt>.
  
 +
А что касается возражений «проверкам на сложность паролей надо подчиняться», или вообще, «используйте только одноразовые сгенерированные пароли», то на самом деле, гораздо более остро стоит проблема «интернетных паролей» от разных сетевых аккаунтов и даже тут, мы рекомендуем использовать либо использовать удобные для запоминания ассоциативные пароли, либо [http://www.supergenpass.com уникальные для каждого сайта пароли, вычисляемые прямо в броузере по удобному для запоминания мастер-паролю].
 +
 +
Кстати, может активно приучать «обычных пользователей» к сетевой безопасности, и
 +
добавить букмарклет «[http://supergenpass.com SuperGenPass]» в Firefox по умолчанию?
 +
<poll>
 +
ALTERNATIVE
 +
OPEN_RESULTS
 +
Идея добавлять букмарклет «[http://supergenpass.com SuperGenPass]» в Firefox по умолчанию?
 +
Отличная
 +
Хорошая
 +
Плохая (поясню почему)
 +
</poll>
 +
 +
[[File:xkcd_password_reuse.png|center|480px]]
  
http://imgs.xkcd.com/comics/password_strength.png
 
  
 
<poll>  
 
<poll>  
Строка 36: Строка 73:
 
Огорчила <tt>:(</tt>
 
Огорчила <tt>:(</tt>
 
</poll>
 
</poll>
 +
  
 
<!-- Когда статья будет готова к публикации, сотрите эту строчку и раскомментируйте следующую -->
 
<!-- Когда статья будет готова к публикации, сотрите эту строчку и раскомментируйте следующую -->
 
[[Category:ToROSAPoint]]
 
[[Category:ToROSAPoint]]
 +
[[Category:Gnome Control Center Improvements]]
 +
{{wl-publish: 2013-12-30 18:38:17 +0400 | Stanislav.fomin }}
 +
[[Category:GNOME UX Fixes]]
 +
[[Category:GNOME Fix]]

Текущая версия на 21:04, 25 февраля 2015

В воображаемом мире нефункциональных требований «безопасность» всегда ведет смертельный бой с «юзабилити», или говоря простыми словами — попытки сделать удобно создают уязвимости, а перестраховка от возможных дыр может сделать продукт совершенно негодным.

Иногда возможны компромиcсы, но в случае конфликтов, мы всегда на стороне наших пользователей. Fresh — дистрибутив для домашних пользователей, и он не должен изображать из себя SELinux[1].

Реальные риски, от которых защищаются домашние пользователи:

  • другой член семьи не посмотрит историю в броузере,
  • если аккаунт детский, то возможно там установлен родительский надзор (SkyDNS и т.п.).

Реальная атака, если sshd не установлен (по умолчанию — нет) — ручной перебор, от чего эффективно защитит и пароль из пары-тройки символов[2]. Защита рутового аккаунта — только от «дурака» или потенциальных троянов.

В Fresh GNOME, и во всех других дистрибутивах, выросших из Mandriva, была проблема, архитектурно связанная в использованием библиотеки pam_tcb.so и жестких проверок cracklib, а выглядело это так, что у пользователя

  • требовалась адова секьюрность пароля (длина, наличие цифр и букв и т.п.)
  • при смене обычным пользователем своего пароля, требовалось вводить дополнительно root-овый пароль — что либо выглядело издевательством[3], либо профанацией[4] безопасности.
Xkcd password strength.png



Good news, everyone!

Мы сменили pam_tcb на на pam_unix, что дало возможность и

  • Улучшить удобство — теперь можно делать пользователям любые пароли, система только будет оценивать его относительную сложность, и рекомендовать усиление. Но если рисков реально нет — нетбук для ребенка, с играми — то можно обойтись и без пароля, и поставить даже пустой пароль.
  • Усилить безопасность — теперь в pam используется sha512, до этого там был вовсе bluefish.

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

Кстати, может активно приучать «обычных пользователей» к сетевой безопасности, и добавить букмарклет «SuperGenPass» в Firefox по умолчанию?

Идея добавлять букмарклет «SuperGenPass» в Firefox по умолчанию?

Отличная7
47%
Хорошая5
33%
Плохая (поясню почему)3
20%
Xkcd password reuse.png


Надеюсь, эта новость вас…

Ввела в экстаз ^_^3
21%
Порадовала :)6
43%
Оставила равнодушным -_-1
7%
Огорчила :(4
29%
  1. Хотя это сравнение несколько некорректно, мы на самом деле даже размышляем, не собирать ли Fresh с поддержкой (по-умолчанию отключенного) SELinux, что бы тем, кому нужна именно безопасность, могли ее быстро включить.
  2. Да и при sshd и автоматических переборах штрафные таймауты защитят даже при «пинкодовом» пароле
  3. Немедленно вспоминается классика:
    • «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.»
  4. Если каждый чих требует рутового пароля — значит этот пароль будет известен всем.

[ Хронологический вид ]Комментарии

SuperGenPass может выйти боком. 1. Вводить мастер-пароль каждый раз - будет желание сделать покороче. 2. Вероятность засветить мастер-пароль растет в (31 декабря - сложно мне сейчас сказать какой) прогрессии 3. Вы исходники смотрели?

       function binl2b64(binarray) {
               var tab='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678998';

Это не base64, вроде???

TLDList - это еще зачем???

4. Ну и множественность логИнов исключает напрочь. Ну, или помнить к каждому логину свой мастер-пароль :)

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

Войдите, чтобы комментировать.