Как настроить аутентификацию. Как отключить двухфакторную аутентификацию в Apple ID. Создание резервной копии

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

1. Включить двухфакторную аутентификацию.

Заходим на mail.ru затем входим в свой аккаунт введя логин и пароль. Затем войдя в свой аккаунт справа сверху нажмите на настройки.

В настройках войдите в пароль и безопасность. И справа есть пункт Защищенный вход с подтверждением по SMS. Нажимаем включить.

Вы действительно хотите включить двухфакторная аутентификация Яндекс?

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

Вводим пароль от аккаунта, указываем ваш телефон и нажимаем продолжить.

Двухфакторная аутентификация включена.

Добавьте пароли для каждого из приложений.

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

Нажимаем настроить двухфакторную аутентификацию.

На этом всё. Двухфакторная аутентификация уже работает. Теперь после ввода пароля от вашего аккаунта на mail.ru вам на телефон придет SMS-код, который надо будет ввести, чтобы войти в ваш аккаунт. Таким образом, если кто-то узнает ваш пароль от аккаунта он все равно не сможет войти в него, так как ему надо будет ввести SMS-код, а SMS-код придет на ваш телефон.

2. Создать пароль для внешних приложений.

Можно продолжить настройку и настроить приложения The Bat! и Microsoft Outlook, если вы ими пользуетесь и у вас там добавлен ваш почтовый ящик на mail.ru. Нажимаем добавить приложение.

Создание нового приложения. Пароль для приложения необходим для работы почты в сторонних приложениях.

Придумываем название для этого приложения и нажимаем создать.

Вводим текущий пароль от вашего аккаунта mail.ru и нажимаем принять.

Приложение успешно создано. Вам отобразится автоматически сгенерированный пароль для вашего приложения The Bat! или Microsoft Outlook, если вы ими вообще пользуетесь.

3. Создать одноразовые коды.

Также можно сгенерировать одноразовые пароль. Это на тот случай, если ваш телефон будет недоступен или у вас его украдут и вы не сможете использовать ваш номер.

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

Нажимаем сгенерировать.

Вы действительно хотите сгенерировать новую таблицу кодов? Обратите внимание, ваши старые коды перестанут быть действительными.

Нажимаем продолжить.

Введите текущий пароль от вашего аккаунта на mail.ru и SMS-код, который вам придет на ваш номер.

Нажимаем принять.

Вам сгенерируются одноразовые коды (которые обычно генерируются и отправляются вам по SMS). Сохраните их куда-нибудь (только не в телефон, так как они как раз на тот случай, если у вас не будет при себе вашего телефона). Ну и никому не показывайте их. А если вы всегда держите свой телефон при себе и уверены, что его не украдут и ваш номер вы всегда сможете восстановить, то можете вообще не пользоваться одноразовыми кодами и удалить их.

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

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

А если у вас что-то не приходит SMS-код, то нажмите проблемы со входом?

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

А когда SMS-код пришел к вам на телефон, введите его и нажмите войти.

4. Перестать доверять всем устройствам.

Также можно в будущем нажать перестать доверять всем устройствам, тогда, если вы ранее ставили галочку «не спрашивать для этого устройства», то на этом устройстве вновь надо будет вводить SMS-код, чтобы войти в ваш аккаунт на mail.ru.

Для этого заходим в настройки на mail.ru.

И тут ищем доверия на устройства. Нажимаем перестать доверять всем устройствам. Требовать ввод кода, отправленного по SMS, для всех устройств, даже для которых ранее было отмечено «не спрашивать для этого устройства».

Введите текущий пароль и код из SMS и нажимаем принять.

Доверия ко всем устройствам сброшено.

Доверия для всех устройств были сброшены. Каждый вход в почтовый ящик будет сопровождаться требованием ввода коды из SMS-сообщения.

Нажимаем закрыть.

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

Вконтакте

Как работает двухфакторная аутентификация

Рассматриваемый способ защиты позволяет входить в аккаунт Apple ID только с доверенных устройств. К последним относятся iPhone, iPad или Mac пользователя, которые прошли проверку в системе. А именно: при первом доступе к учетной записи сервис потребует ввести пароль и код из шести цифр, который отобразится на экране гаджета, входящего в число доверенных. Например, если у юзера есть iPhone, а он желает зайти в свою учетную запись с новоприобретенного iPad (или Mac), то система предложит ему ввести пароль и код — последний будет переслан на смартфон.

Что это дает пользователю? Так как для входа в аккаунт необходим будет не только пароль, это значительно обезопасит как Apple ID, так и данные, которые сберегаются на серверах Apple. После того как доступ будет получен, проверочный код вводить больше не придется. За исключением тех случаев, когда будет совершен полный выход, удалены все данные с гаджета или будет проведена замена пароля. Также можно указать определенный браузер, как доверенный, если в аккаунт пользователь будет переходить с него (при условии, что совершать он это будет с доверенного устройства) – это избавит от необходимости каждый раз подтверждать свой доступ.

Доверенные (проверенные) устройства

К доверенным устройствам относятся iPhone, iPad, iPod touch или Mac, с установленными операционными системами iOS 9 или OS X El Capitan (или с их свежими обновлениями). С этих гаджетов должен быть осуществлен вход в аккаунт Apple ID с применением двухфакторной аутентификации. Иначе говоря, к проверенным устройствам относятся те, о которых система может точно знать, что они принадлежат конкретному владельцу, и в этом можно удостовериться, отправив на его гаджет проверочный код.

Проверенные номера телефона

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

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

Что такое код подтверждения

Это код, который отправляется системой на доверенное устройство или доверенный номер телефона пользователя для удостоверения его личности при первом входе в аккаунт. Запросить такой код можно также на своем проверенном гаджете в приложении «Настройки ». Следует помнить, что пароль и код – это не одно и то же. Пароль пользователь выдумывает сам, код же присылает ему система.

Как настроить двухфакторную аутентификацию для Apple ID на iPhone, iPad или iPod touch

Для того, чтобы получить доступ к опции двухфакторной аутентификации необходимо быть пользователем iCloud и иметь гаджет с iOS 9 или OS X El Capitan (или же с их обновлениями) на борту.

Если на вашем гаджете установлена операционная система iOS 10.3 или более новая версия, то необходимо предпринять такие шаги:

1. Открыть «Настройки », перейти в раздел с вашим именем и открыть пункт «Пароль и безопасность »;

2. В открывшемся окне кликнуть по кнопке «Включить » ниже пункта «Двухфакторная аутентификация »;

3. Нажать «Продолжить ».

Если устройство работает под управлением платформы iOS 10.2 и более ранних версий, необходимо выполнить следующие действия:

1. Открыть в «Настройках » раздел «iCloud »;

2. Выбрать свой Apple ID и перейти к пункту «Пароль и безопасность »;

3. В открывшемся окне активировать «Двухфакторную аутентификацию »;

4. Нажать «Продолжить ».

Верификация доверенного номера телефона

После выполнения действий, указанных выше, появится окно, в котором необходимо будет указать номер телефона – именно на него впоследствии будет отсылаться проверочный код. Там же следует отметить, в каком виде будет запрашиваться подтверждение: в виде текстового сообщения или телефонного звонка.

Как настроить двухфакторную аутентификацию для Apple ID на Mac

Для настройки двухфакторной аутентификации необходимо быть пользователем iCloud и OS X El Capitan (и новее) на борту.

1 . Откройте меню Apple и перейти в «Системные настройки », а затем в «iCloud » и «Учетную запись ».

2 . Выберите вкладку «Безопасность ».

3 . Кликните «Включить двухфакторную аутентификацию ».

4 . Следует знать, что если функция двухэтапной проверки уже включена, то ее следует отключить перед активацией двухфакторной аутентификации. Также некоторые Apple ID, созданные в версиях платформ iOS 10.3 или macOS 10.12.4 (а также в более поздних версиях этих ОС), могут автоматически включать защиту двухфакторной аутентификацией.

6 . Во-первых, желательно запомнить пароль от своей учетной записи. В ином случае может получиться так, что эти данные, будучи записанными или сохраненными в каком-либо файле, окажутся у третьих лиц.

8 . В-третьих, не забывать своевременно обновлять список доверенных номеров телефонов.

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

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

Управление аккаунтом Apple ID

В своей учетной записи можно корректировать данные о доверенных устройствах и телефонах.

Обновление проверенных номеров телефонов

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

  • Зайти в свой аккаунт Apple ID;
  • Открыть вкладку «Безопасность » и кликнуть по пункту «Правка ».

Если необходимо указать проверенный номер телефона, то следует нажать «Добавить проверенный номер телефона » и ввести этот номер. Подтвердить его можно, указав один из способов: с помощью пересылки кода в текстовом сообщении или посредством звонка. Для того, чтобы стереть уже не актуальный номер, следует нажать на иконку, расположенную рядом с этим номером.

Обзор доверенных гаджетов и управление ими

Просматривать информацию о гаджетах, получивших статус проверенных, можно в разделе «Устройства » в своем аккаунте Apple ID. Там же можно ознакомиться со сведениями, касающимися этих гаджетов.

В случае возникновения необходимости, проверенное устройство можно удалить из списка. После этого с него невозможно будет получить доступ к iCloud и прочим сервисам Apple до тех пор, пока оно снова не будет авторизовано посредством двухфакторной аутентификации.

Здравствуйте, уважаемые друзья. Сегодня я расскажу, как настроить двухфакторную аутентификацию аккаунта Яндекс и установить пароль на Яндекс.Диск. Это позволит защитить основной аккаунт и повысить безопасность отдельных приложений Яндекса.

Защита личных данных это самая большая проблема в интернете. Зачастую пользователи пренебрегают правилами безопасности. Создают простые и одинаковые пароли для разных интернет-ресурсов, хранят их в электронных ящиках, пароли от которых тоже используют на других ресурсах. Это лишь малая доля распространённых ошибок.

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

— Создавать сложные пароли.

— Не использовать одинаковые пароли для разных интернет-ресурсов.

— Регулярно менять пароли.

А также использовать дополнительные способы защиты. Одним из таких способов является двухфакторная аутентификация аккаунта Яндекс.

Как работает двухфакторная аутентификация?

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

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

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

При таком уровне защиты, вход в аккаунт возможет только по одноразовому паролю или QR-коду.

Это просто достаточно выполнить определённые настройки и в будущем вы наводите камеру смартфона на QR-код и получаете доступ к аккаунту Яндекс.

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

Безопасность же самого мобильного приложения Яндекс.Ключ, обеспечивает PIN код, которые вы создаёте при подключении аккаунта к приложению.

Ну а если у вас смартфон или планшет Apple, вы можете использовать Touch ID вместо пин-кода.

Таким образом, доступ к вашим данным будет надёжнее закрыт.

Настройка двухфакторной аутентификации.

Для начала, на главной странице Яндекс войдите в свой аккаунт, традиционным способом. После чего нажмите на имя вашей учётной записи (название почтового ящика) и выберите пункт «Паспорт» .

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

Сама процедура настройки состоит из 4 шагов, которые нужно будет выполнить на компьютере и мобильном устройстве.

Шаг 1. Подтверждение номера телефона.

Если вы ранее привязали номер телефона к аккаунту Яндекса, то можно сразу получить код подтверждения. Если же нет, то вводите телефонный номер и нажимаете кнопку «Получить код» .

Код, придёт на указанный номер. Его нужно ввести в специальное поле и нажать кнопку «Подтвердить» .

Шаг 2. Пин-код для мобильного приложения.

На этом шаге необходимо придумать и дважды ввести пин-код для мобильного приложения. Именно этот код будет открывать доступ к приложению на смартфоне или планшете.

Вводите код и нажимаете на кнопку «Создать» .

Шаг 3. Установка мобильного приложения Яндекс.Ключ и добавление аккаунта.

Итак, со своего смартфона или планшета вы заходите в Google Play (для Android) и App Store (для яблочных гаджетов). Далее, скачиваете и устанавливаете приложение Яндекс.Ключ.

Открываете приложение и нажимаете на кнопку «Добавить аккаунт в приложение» .

Добавление аккаунта в мобильное приложение Яндекс.Ключ

После чего нужно будет навести камеру мобильного устройства на экран монитора, где на тот момент у вас будет отображаться QR-код. Наводите на этот код.

Итак, возвращаетесь к компьютеру, и нажимаете на кнопку «Следующий шаг» .

Шаг 4. Ввод пароля от мобильного приложения Яндекс.Ключ.

Дождавшись нового обновления ключа в мобильном приложении, вводите его на компьютере и нажимаете кнопку «Включить» .

После чего нужно будет ввести старый пароль от аккаунта Яндекс и нажать кнопку «Подтвердить» .

Завершение подключения двухфакторной аутентификации

Всё готово. Вы защитили свой аккаунт с помощью двухфакторной аутентификации. Теперь нужно заново зайти в аккаунт на всех устройства с использованием одноразового пароля или QR-кода.

Как войти в аккаунт с помощью Яндекс.Ключа.

Всё предельно просто. На главной странице Яндекса, в панели входа и регистрации, нажимаете на иконку троеточие (…), и в меню выбираете Я.Ключ.

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

Как установить пароль на Яндекс.Диск.

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

Таким образом, вы будете использовать пароль, который подходит только для диска.

Использую разные пароли для приложений, вы усиливает рубеж защиты ваших данных.

Для создания пароля нужно перейти на страницу управления доступом , выбрать приложение, ввести название и нажать кнопку «Создать пароль» .

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

Теперь при подключении Яндекс.Диска через протокол WebDAV вы будете использовать именно этот пароль.

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

Как отключить двухфакторную аутентификацию.

Для того чтобы отключить двухфакторную аутентификацию нужно перейти на страницу управления доступом и нажать переключатель (Вкл/Выкл).

После чего ввести одноразовый пароль из мобильного приложения Яндекс.Ключ и нажать кнопку «Подтвердить» .

Создание нового пароля к аккаунту Яндекс

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

Важно: при отключении аутентификации, пароли, созданные для приложений, сбрасываются. Их следует создать заново.

А теперь предлагаю посмотреть видеоурок, где я наглядно показываю всю процедуру.

На этом у меня сегодня всё, друзья. Если у вас остались вопросы, с удовольствием отвечу на них в комментариях.

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

С уважением, Максим Зайцев.

Редкий пост в блоге Яндекса, а особенно касающийся безопасности, обходился без упоминания двухфакторной аутентификации. Мы долго думали, как правильно усилить защиту пользовательских аккаунтов, да еще так, чтобы этим мог пользоваться без всех тех неудобств, которые включают в себя самые распространённые ныне реализации. А они, увы, неудобны. По некоторым данным, на многих крупных сайтах доля пользователей, включивших дополнительные средства аутентификации, не превышает 0,1%.

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

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

После включения двухфакторной аутентификации в Паспорте вам надо будет установить приложение Яндекс.Ключ в App Store или Google Play . В форме авторизации на главной странице Яндекса, в Почте и Паспорте появились QR-коды. Для входа в учётную запись необходимо считать QR-код через приложение - и всё. Если считать QR-код не получается, например не работает камера смартфона или нет доступа к интернету, приложение создаст одноразовый пароль, который будет действовать всего 30 секунд.

Расскажу о том, почему мы решили не использовать такие «стандартные» механизмы, как RFC 6238 или RFC 4226 . Как работают распространенные схемы двухфакторной аутентификации? Они двухэтапные. Первый этап ─ обычная аутентификация логином и паролем. Если он прошел успешно, сайт проверяет, «нравится» ему эта пользовательская сессия или нет. И, если «не нравится», просит пользователя «доаутентифицироваться». Распространенных методов «доаутентификации» два: отсылка SMS на привязанный к аккаунту номер телефона и генерация второго пароля на смартфоне. В основном для генерации второго пароля используется TOTP по RFC 6238. Если пользователь ввел второй пароль верно, сессия считается полностью аутентифицированной, а если нет, то сессия теряет и «предварительную» аутентификацию.

Оба способа ─ отправка SMS и генерация пароля ─ доказательства обладания телефоном и потому являются фактором наличия. Пароль, вводимый на первом этапе, ─ фактор знания. Поэтому такая схема аутентификации ─ не только двухэтапная, но и двухфакторная.

Что показалось нам проблемным в этой схеме?

Начнем с того, что компьютер среднестатистического пользователя не всегда можно назвать образцом защищенности: тут и выключение обновлений Windows, и пиратская копия антивируса без современных сигнатур, и ПО сомнительного происхождения ─ все это не повышает уровень защиты. По нашей оценке, компрометация компьютера пользователя ─ самый массовый способ «угона» учетных записей (и недавно тому было еще одно подтверждение), от нее в первую очередь и хочется защититься. В случае двухэтапной аутентификации, если считать, что компьютер пользователя скомпрометирован, ввод пароля на нем компрометирует сам пароль, являющийся первым фактором. Значит, злоумышленнику необходимо лишь подобрать второй фактор. В случае распространенных реализаций RFC 6238 второй фактор ─ это 6 десятичных цифр (а максимум, предусмотренный спецификацией, ─ 8 цифр). Согласно калькулятору bruteforce для OTP , за три дня атакующий в состоянии подобрать второй фактор, если ему каким-либо образом стал известен первый. Нет ясности, что сервис может противопоставить этой атаке, не нарушая нормальную работу пользователя. Единственный возможный proof of work ─ капча, что, на наш взгляд, является последним средством.

Вторая проблема ─ непрозрачность суждения сервиса о качестве пользовательской сессии и принятия решения о необходимости «доаутентификации». Хуже того, сервис не заинтересован в том, что бы сделать этот процесс прозрачным, ─ ведь тут фактически работает security by obscurity. Если злоумышленник знает, на основании чего сервис принимает решение о легитимности сессии, он может попытаться подделать эти данные. Из общих соображений можно заключить, что суждение делается на основе истории аутентификаций пользователя с учетом IP-адреса (и производных от него номера автономной системы, идентифицирующей провайдера, и местоположения на основе геобазы) и данных браузера, например заголовка User Agent и набора cookies, flash lso и html local storage. Это означает, что если злоумышленник контролирует компьютер пользователя, то он имеет возможность не только украсть все необходимые данные, но и воспользоваться IP-адресом жертвы. Более того, если решение принимается на основе ASN, то любая аутентификация из публичного Wi-Fi в кофейне может привести к «отравлению» с точки зрения безопасности (и обелению с точки зрения сервиса) провайдера этой кофейни и, например, обелению всех кофеен в городе. Мы рассказывали о работе системы обнаружения аномалий , и ее можно было бы применить, но времени между первым и вторым этапом аутентификации может оказаться недостаточно для уверенного суждения об аномалии. Кроме того, этот же аргумент разрушает идею «доверенных» компьютеров: злоумышленник может украсть любую информацию, влияющую на суждение о доверенности.

Наконец, двухэтапная аутентификация попросту неудобна: наши usability-исследования показывают, что ничто так не раздражает пользователей, как промежуточный экран, дополнительные нажатия на кнопки и прочие «неважные», с его точки зрения, действия.
Исходя из этого, мы решили, что аутентификация должна быть одноэтапной и пространство паролей должно быть намного больше, чем возможно сделать в рамках «чистого» RFC 6238.
При этом нам хотелось по возможности сохранить двухфакторность аутентификации.

Многофакторность в аутентификации определяется отнесением элементов аутентификации (собственно, они и называются факторами) к одной из трех категорий:

  1. Факторы знания (это традиционные пароли, пин-коды и все, что на них похоже);
  2. Факторы владения (в используемых OTP-схемах, как правило, это смартфон, но может быть и аппаратный токен);
  3. Биометрические факторы (отпечаток пальца ─ самый распространенный сейчас, хотя кто-то вспомнит эпизод с героем Уэсли Снайпса в фильме Demolition Man).

Разработка нашей системы

Когда мы начали заниматься проблемой двухфакторной аутентификации (первые страницы корпоративной вики по этому вопросу относятся к 2012 году, но кулуарно он обсуждался и раньше), первой идеей было взять стандартные способы аутентификации и применить их у нас. Мы понимали, что нельзя рассчитывать на то, что миллионы наших пользователей купят аппаратный токен, поэтому этот вариант отложили на какие-то экзотичные случаи (хотя полностью мы от него не отказываемся, возможно, нам удастся придумать что-то интересное). Способ с SMS тоже не мог быть массовым: это очень ненадежный способ доставки (в самый ответственный момент SMS может задержаться или не дойти вовсе), а рассылка SMS стоит денег (и операторы начали увеличивать их цену). Мы решили, что использование SMS ─ удел банков и прочих нетехнологичных компаний, а нашим пользователям хочется предложить что-то более удобное. В общем, выбор был невелик: использовать смартфон и программу в нем в качестве второго фактора.

Широко распространена такая форма одноэтапной аутентификации: пользователь помнит пин-код (первый фактор), имеет на руках аппаратный или программный (в смартфоне) токен, генерирующий OTP (второй фактор). В поле ввода пароля он вводит пин-код и текущее значение OTP.

На наш взгляд, главный недостаток этой схемы такой же, как и у двухэтапной аутентификации: если считать, что десктоп пользователя скомпрометирован, то однократный ввод пин-кода приводит к его раскрытию и злоумышленнику остается только подобрать второй фактор.

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

В качестве Nonce может выступать либо счетчик, либо текущее время. Мы решили выбрать текущее время, это позволяет не бояться рассинхронизации в случае, если кто-то сгенерирует слишком много паролей и увеличит счетчик.

Итак, у нас есть программа для смартфона, куда пользователь вводит свою часть секрета, та смешивается с хранимой частью, результат используется в качестве ключа HMAC , которым подписывается текущее время, округленное до 30 секунд. Выход HMAC приводится к читаемому виду, и вуаля ─ вот и одноразовый пароль!

Как уже было сказано, RFC 4226 предполагает усечение результата работы HMAC до максимум 8 десятичных цифр. Мы решили, что пароль такого размера непригоден для одноэтапной аутентификации и должен быть увеличен. При этом нам хотелось сохранить простоту использования (ведь, напомним, хочется сделать такую систему, которой будут пользоваться обычные люди, а не только security-гики), так что в качестве компромисса в текущей версии системы мы выбрали усечение до 8 символов латинского алфавита. Кажется, что 26^8 паролей, действующих в течение 30 секунд, вполне приемлемо, но если security margin нас не будет устраивать (или на Хабре появятся ценные советы, как улучшить эту схему), расширим, например, до 10 символов.

Подробнее о стойкости таких паролей

В самом деле, для латинских букв без учета регистра число вариантов на один знак равно 26, для больших и малых латинских букв плюс цифры, число вариантов равно 26+26+10=62. Тогда log 62 (26 10) ≈ 7,9 то есть пароль из 10 случайных малых латинских букв почти такой же стойкий, как пароль из 8 случайных больших и малых латинских букв или цифр. Этого точно хватит на 30 секунд. Если говорить о 8-символьном пароле из латинских букв, то его стойкость log 62 (26 8) ≈ 6,3 , то есть немного больше 6-символьного пароля из больших, малых букв и цифр. Мы считаем, что это все еще приемлемо для окна в 30 секунд.

Магия, беспарольность, приложения и дальнейшие шаги

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

Поэтому мы начали работы над «магическим логином». С таким способом аутентификации пользователь запускает приложение на смартфоне, вводит в него свой пин-код и сканирует QR-код на экране своего компьютера. Если пин-код введен правильно, страница в браузере перезагружается и пользователь оказывается аутентифицирован. Магия!

Как это устроено?

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

Стало лучше, но и тут мы решили не останавливаться. Начиная с iPhone 5S в телефонах и планшетах Apple появился сканер отпечатков пальцев TouchID, а в iOS версии 8 работа с ним доступна и сторонним приложениям. На деле приложение не получает доступ к отпечатку пальца, но если отпечаток верен, то приложению становится доступен дополнительный раздел Keychain. Этим мы и воспользовались. В защищенную TouchID запись Keychain помещается вторая часть секрета, та, которую в предыдущем сценарии пользователь вводил с клавиатуры. При разблокировке Keychain две части секрета смешиваются, и дальше процесс работает так, как описано выше.

Зато пользователю стало невероятно удобно: он открывает приложение, прикладывает палец, сканирует QR-код на экране и оказывается аутентифицированным в браузере на компьютере! Так мы заменили фактор знания на биометрический и, с точки зрения пользователя, совсем отказались от паролей. Мы уверены, что обычным людям такая схема покажется куда более удобной, чем ручной ввод двух паролей.

Можно подискутировать, насколько формально двухфакторной является такая аутентификация, но на деле для успешного ее прохождения все еще необходимо иметь телефон и обладать правильным отпечатком пальца, так что мы считаем, что нам вполне удалось отказаться от фактора знания, заменив его биометрией. Мы понимаем, что полагаемся на безопасность ARM TrustZone , лежащей в основе iOS Secure Enclave , и считаем, что на настоящий момент эту подсистему можно считать доверенной в рамках нашей модели угроз. Разумеется, нам известны проблемы биометрической аутентификации: отпечаток пальца ─ не пароль и заменить его в случае компрометации нельзя. Но, с другой стороны, всем известно, что безопасность обратно пропорциональна удобству, и пользователь сам вправе выбрать приемлемое для него соотношение одного и другого.

Напомню, что пока это бета. Сейчас при включении двухфакторной аутентификации мы временно выключаем синхронизацию паролей в Яндекс.Браузере. Связано это с тем, как устроено шифрование базы паролей. Мы уже придумываем удобный способ аутентификации Браузера в случае 2FA. Вся остальная функциональность Яндекса работает в прежнем режиме.

Вот что у нас получилось. Кажется, вышло неплохо, но судить вам. Мы будем рады услышать отзывы и рекомендации, а сами продолжим работу над улучшением безопасности наших сервисов: теперь вместе с CSP , шифрованием транспорта почты и всего остального у нас появилась и двухфакторная аутентификация . Не забывайте, что сервисы аутентификации и приложения генерации OTP относятся к критичным и поэтому за обнаруженные в них ошибки в рамках программы Bug Bounty выплачивается двойная премия.

Теги: Добавить метки

Безопасность в моде, как это и должно быть. Мы живем в мире, где данные - невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах - в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.

Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo . Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator .

Есть одно очень важное предостережение: однажды настроив это, вы не сможете зайти в аккаунт (или использовать команду sudo ) без шестизначного кода из аутентификатора. Для вас добавляется еще один шаг, поэтому, если доставать смартфон каждый раз, когда вам необходимо залогиниться на вашу Linux-машину (или использовать sudo ), является для вас проблемой, возможно, этот способ не для вас. Но помните, как бы там ни было, этот дополнительный шаг приносит вам дополнительный слой защиты, которого бы иначе не было.

После сказанного, давайте займемся настройкой.

Установка необходимых компонентов

Есть два кусочка этого пазла, которые должны быть установлены вместе в виде Google Authenticator. Первый - это приложение для смартфона. Вот как можно установить его из Google Play Store:
  1. Откройте Google Play Store на вашем Android-устройстве
  2. Найдите через поиск "google authenticator "
  3. Тапните по наименованию от компании Google Inc.
  4. Тапните «Установить»
  5. Тапните «Принять»
Теперь давайте переместимся к установке аутентификатора на вашей linux-машине. Вот так:
  1. Открыть окно терминала
  2. Выполнить команду sudo apt-get install libpam-google-authenticator
  3. Если будет предложено, введите y и нажмите Enter
  4. Дождитесь завершения установки
Теперь пришло время конфигурирования процесса аутентификации для работы с google-authenticator .

Конфигурация

Нужно отредактировать всего лишь один файл, чтобы добавить двухфакторную аутентификацию сразу для логина и sudo . Это файл /etc/pam.d/common-auth. Откройте его и найдите строку:

Auth pam_unix.so nullok_secure
Над этой строкой добавьте следующее:

Auth required pam_google_authenticator.so
Сохраните и закройте файл.

Следующий шаг - настроить google-authenticator для каждого пользователя в системе (иначе они не смогут залогиниться). Для примера, предположим, что в вашей системе есть два пользователя: jack и olivia . Сперва настроим его для jack (предположим, что это аккаунт, с которым мы работали все это время).

Откройте окно терминала и выполните команду google-authenticator . Вам зададут ряд вопросов (на каждый из которых следует ответить y). Вопросы такие:

  • Хотите ли вы, чтобы я обновил ваш файл "/home/jack/.google_authenticator"? (y/n) y
  • Хотите ли вы запретить множественное использование одного и того же токена? Это ограничивает вас до одной попытки входа примерно раз в 30 секунд, но увеличивает шансы заметить или даже предотвратить атаку человек-посередине. (y/n) y
  • По умолчанию, токены хороши для 30 секунд, а чтобы компенсировать возможные перекосы времени между клиентом и сервером, мы предоставляем дополнительный токен до и после текущего времени. Если вы испытываете проблемы с некачественной синхронизацией времени, вы можете увеличить окно с его дефолтного значения 1:30 мин., до примерно 4 мин. Хотите это сделать? (y/n) y
  • Если ваш компьютер, на который вы логинитесь, не защищен от брутфорс-попыток залогиниться, вы можете включить частотное ограничение для модуля аутентификации. По умолчанию, это ограничивает атакующих на не более чем 3 попытки залогиниться каждые 30 секунд. Хотите включить частотное ограничение? (y/n) y
Ответив на эти вопросы, вам будет предоставлен секретный ключ, код верификации и пять аварийных скрэтч-кодов. Распечатайте скрэтч-коды и храните их при себе. Эти коды могут быть использованы, если у вас нет при себе вашего смартфона (каждый код может быть использован только один раз). Секретный ключ - это то, что вы используете для настройки аккаунта в приложении Google Authenticator, а код верификации - это одноразовый код, который вы можете использовать немедленно (если необходимо).

Настройка приложения

Теперь у вас есть настроенный пользователь jack . Перед тем, как вы сможете настроить пользователя olivia , вам необходимо добавить аккаунт для jack в приложение Google Authenticator. Откройте приложение и тапните кнопку меню из главного окна (три вертикальные точки в верхнем правом углу). Тапните «Настроить аккаунт», а затем тапните «Введите ключ». В следующем окне (Изображение 1) вы введете 16-значный секретный ключ, предоставленный во время выполнения приложения google-authenticator . Дайте аккаунту имя (так вы запомните на каком аккаунте он будет использоваться) и тапните «ДОБАВИТЬ».


Изображение 1: Добавление нового аккаунта в приложение Google Authenticator.

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

Наконец, вы должны настроить другие аккаунты в системе. Как я и говорил, мы собираемся настроить аккаунт под названием olivia . Вот так:

  1. Откройте окно терминала
  2. Выполните команду sudo su olivia
  3. Откройте Google Authenticator на вашем смартфоне
  4. Введите шестизначный код аутентификации (предоставленный приложением) в окне терминала (Изображение 2) и нажмите Enter
  5. Введите свой sudo-пароль и нажмите Enter
  6. Как новый пользователь, выполните команду google-authenticator , ответьте на вопросы и запишите предоставленные ключи и коды
После того как вы успешно настроили пользователя olivia с помощью команды google-authenticator , добавьте новый аккаунт в приложении Google Authenticator с соответствующей пользовательской информацией (так же, как вы делали для начального пользователя). Теперь у вас должны быть аккаунты для обоих пользователей jack и olivia в приложении Google Authenticator.


Изображение 2: Ввод шестизначного кода аутентификации для sudo .

Вот и все. Каждый раз при попытке залогиниться на свою машину (или использовать sudo ), вам потребуется предоставить шестизначный код аутентификации, перед тем как вы сможете ввести свой пользовательский пароль. Ваша Linux-машина теперь гораздо более защищена, чем это было до двухфакторной аутентификации. Несмотря на то, что некоторым этот процесс может показаться хлопотным, я настоятельно рекомендую ее настроить… особенно для машин с чувствительными данными.