Single Sign On with Nginx
Andrew Kopeyko
kaa на zvuki.ru
Пт Фев 26 14:45:38 MSK 2010
On Fri, 26 Feb 2010, Gena Makhomed wrote:
> On 26.02.2010 11:36, Andrew Kopeyko wrote:
>
>> А вот если вы будете ему сообщать (условно) "неправильный логин", "логин
>> заблокирован", "логин верный, неверен пароль" - это уже раскрытие
>> информации. Ведь до момента успешной авторизации вы знать не знаете кто
>> сидит на другой стороне - валидный пользователь, или злоумышленник.
>> Собственно, для того вы аутентификацию и делаете - дабы отличить одного
>> от другого.
>>
>> Посмотрите вокруг - в подавляюшем большинстве информационных систем при
>> неудачной аутентификации говорится что-то типа "доступ запрещён" не
>> уточняя по какой именно причине. Windows в этом месте - сделан
>> исключительно правильно.
>
> однако, веб-приложения отличаются от десктопных наличием возможности
> восстановления пароля на емейл и это дает дополнительные преимущества.
Сомнительное это преимущество - нет у него возможности удостовериться что
ящиком по-прежнему владеет валидный пользользователь, что приводит к
возникновению дополнительного канала перехвата логина\пароля. Знаете как
угоняют номера ICQ?
> Windows кстати, - раскрывает логины пользователя / всех пользователей.
> ( в зависимости от типа logon: Classic Logon / Welcome Screen Logon )
Достаточно добавить машину в домен - и это безобразие сразу же исчезает.
> сообщение "Доступ запрещен" может вводить в валидного пользователя
> заблуждение, лучшим вариантом наверное будет ответить, что "Такая
> комбинация логина и пароля не найдена. Проверь данные и попробуй еще."
Необученного плюс невнимательного - ещё как вводит.
> или сообщение при ошибке входа в Skype:
> https://secure.skype.com/account/intl/ru/login - "Ошибка идентификации.
> Проверьте правильность логина и введите ваш пароль еще раз.". ссылка
> "Забыли свой пароль?" сразу под кнопкой "Войти в Skype" и сама форма
> входа - очень хорошо продуманы.
>
> здесь валидному пользователю дается намек, что он наверное ошибся в
> логине или пароле, и поэтому не удается войти, вместо того чтобы ему
> сразу же начинать звонить/писать в support с вопросами "почему меня
> заблокировали, разблокируйте пожалуйста". а вот для злоумышленника
> раскрытия информации тут нет, он не узнает для себя ничего нового.
Вот!
Такой конструкцией skype снимает нагрузку со своего саппорта.
> сообщить о том, что "Доступ запрещен" после того как пользователь
> ввел валидный емейл для восстановления пароля - формально это есть
> раскрытие информации, но вот злоумышленнику оно дает очень мало
> преимуществ. логин пользователя в этом случае не раскрывается,
> а только сообщается о самом факте блокировки учетной записи.
Всё было бы так, если бы email так широко не применялся в качестве
идентификатора пользователя...
Skype в этом - наполовину-приятное исключение.
Наполовину - потому что показываемое всем skype-имя и является логином,
т.е. определить его всё-таки возможно, хоть и не со страницы
восстановления пароля.
:((
Совсем-совсем правильная конструкция, к сожалению, была бы слишком
громоздкой и неудобной для среднего пользователя, ибо включала бы 4 поля
- логин
- пароль
- skype-имя
- email
Но была бы более защищённой от угона логина\пароля - знание skype-имени
и\или доступ к email не давал бы информации о логине, необходимом для
аутентификации в системе.
;-)
--
Best regards,
Andrew Kopeyko <kaa at zvuki.ru>
Подробная информация о списке рассылки nginx-ru