Как стать автором
Обновить

Если вы выбираете OAUTH, то это ничего не значит. По крайней мере для Яндекса

Уровень сложностиПростой

Привет всем.

Хочу поделиться опытом использования OAuth. И более того, немного окунуться в то место куда макают лицом в тупизм Яндекса в этой области. Какой именно? Да очень простой. Метод аутентификации Oauth в некоторых почтовых клиентах просто игнорится.

Что такое Метод аутентификации Oauth? О нём много писали, но ещё раз:

Что даёт
  1. OAuth — открытый протокол (схема) авторизации, обеспечивающий предоставление третьей стороне ограниченного доступа к защищённым ресурсам пользователя без передачи ей (третьей стороне) логина и пароля.
    Работа над протоколом началась в ноябре 2006 года, а последняя версия OAuth 1.0 была утверждена 4 декабря 2007 года.
    ru.m.wikipedia.org

  2. OAuth 2 представляет собой фреймворк для авторизации, позволяющий приложениям осуществлять ограниченный доступ к пользовательским аккаунтам на HTTP сервисах, например, на Facebook, GitHub и DigitalOcean. Он работает по принципу делегирования аутентификации пользователя сервису, на котором находится аккаунт пользователя, позволяя стороннему приложению получать доступ к аккаунту пользователя.
    digitalocean.com

  3. Реализация OAuth в Яндексе

Сервисы Яндекса авторизуют приложения по токенам по протоколу OAuth 2.0. Каждый токен — это цифро-буквенная последовательность, в которой зашифрована следующая информация:

идентификатор учетной записи, к которой разрешен доступ;

идентификатор приложения, которому разрешен доступ;

набор прав (действий, доступных приложению)
  1. OAuth 2 - это структура авторизации, которая позволяет приложениям получать ограниченный доступ к учетным записям пользователей в таких службах HTTP, как Facebook, GitHub и DigitalOcean. Он работает путем делегирования аутентификации пользователя службе, в которой размещена учетная запись пользователя, и авторизации сторонних приложений для доступа к учетной записи пользователя. OAuth 2 обеспечивает потоки авторизации для веб-приложений и приложений для настольных компьютеров, а также для мобильных устройств. https://www.codeflow

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

Вы включаете двухфакторную аутентификацию, задаёте пароль для каждого приложения, которое Вам понадобится. Подключаете к Вашей учётной записи приложение для генерации одноразовых паролей входа. Теперь для входа в тот же Thunderbird (подключение Вашего почтового ящика) Вам нужен пароль для приложения, который Вы создали и записали и Яндекс ключ. Или любое подобное приложение с подключенной учетной записью к вашему аккаунту.

То же самое в картинках

Картинка 1
Картинка 1
Картинка 2
Картинка 2
Картинка 3
Картинка 3
Картинка 4
Картинка 4

Вот такая концовка должна быть теоретически в любом приложении, особенно в почтовых клиентах. На практике это не так. Скормленный почтовому (практически любому, кроме Thunderbird) клиенту пароль для приложения, даёт тут же возможность пользоваться почтой. А ведь это при том, что при действиях на картинке 4, если Вы не указывали ранее Ваш почтовый клиент, как доверенный, то Вас об этом спросят. Но нет. Не спрашивают.

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

Переписка с Яндексом ничего не дала, это естественно. Спасение утопающего, ка говорится, дело рук самого утопающего.

Переписка

2023-03-04 16:29:1, ******@yandexx.ru ******@yandex.ru:
Версия программы:
другая программа

Укажите программу и её версию:
Evolution 3.44.4-0ubuntu1

Тема:
Получаю сообщение об ошибке

Используемый протокол:
IMAP

Ошибка:
моей ошибки нет в списке

Адрес ящика, с которым наблюдается проблема:
*@
<yandex.ru>

Дата:
2023-03-04

Время:
19:14

Сообщение:
Приложение Evolution пропускает этап авторизации по одноразовому ключу из приложения Яндекс ключ.
Сразу прошу не писать мне про очисту куков, про то, что так и должно быть. Я уже когда то переписывался по этому поводу, получил кучу отписок по этому поводу и просто бросил это. Теперь настала пора разобраться. Проблема касается не конкретно какого то почтового ящика в Яндексе. Все почтовые ящики так себя ведут. Как бы двухфакторная и задумана: не доверяешь приложению-пароль для приложения, и чтобы авторизоваться мог тоько ты, даже если пароль украли-сгенерированый пароль из приложения Я ключ.
Как видно из скриншота, приложение Evolution не поддерживает OAUTH, стало быть имея включенной двухфакторную авторизацию по генерации одноразовых паролей, я не должен иметь возможности авторизоваться в Evolution. Давайте сразу по существу, минуя бред про перезагрузку роутера и так далее, ка это принято в службе поддержки.


Ответ

Здравствуйте!

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

--
Оцените наш ответ ???

Надежда Орлова
Поддержка Яндекс 360
https://yandex.ru/support/mail


Ответ
2023-03-04 18:19:2, ******@yandex.ru:

Смотрите. Пошагово: Свежеустановленный Линукс. Свежеустановленный почтовый клиент фандербёрд и еволюшн. У меня в Яндексе несколько учётных записей. И все они при подключении в фандерберде спрашивают второй этап входа: открывается окно браузера без элементов управления и там происходит вход(подтверждение) по сгенерированому ключу из приложения. В еволюшн этого нет. Я конечно понимаю, что можно долго разглагольствовать на тему удобства тех или иных приложений или обсуждать внедрение разработчиками каких то функций.
А если короче, Эволюшн пускает в обход oauth.
Поясняю. Все ящики у меня с таким типом аутентификации. Я вошёл в фандерберде с помощью генерации из приложения. Взял вторую учётку и еволюшн ничего не спросил. Только логин (почта) и пароль от приложения.
До этого никаких входов в ОС не производил то есть сохранение паролей системой исключено. ОС свежая.

Ответ
Здравствуйте!

Спасибо за подробное описание ситуации. Правильно я понимаю, что ситуация в том, что стороннее приложение Эволюшн разрешает авторизацию с помощью обычного пароля (не используя метод oauth)?

Мы работаем над повышением безопасности при использовании протокола IMAP, поэтому авторизацию с помощью обычного (портального) пароля нужно сперва разрешить в настройках почтовых клиентов. Если у вас разрешен такой тип авторизации, то приложение может получить доступ к вашему почтовому ящику.

Вы правы, для работы с протоколом IMAP безопаснее использовать специальные пароли приложений.

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

--
Оцените наш ответ ???

Надежда Орлова
Поддержка Яндекс 360
https://yandex.ru/support/mail

Как мне кажется, проблемы такого плана это не прихоть пользователя и нельзя просто так забить на эту проблему.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.