Время на прочтение
3 мин
Количество просмотров 142K
Доброго времени суток.
Я хотел бы рассказать вам о проблемах 2FA аутентификации на устройствах Android 4.4.2 KitKat и о решении, которое в нашем случае прекратило долгие поиски.
Некоторое время назад мы с коллегами решили добавить Двухэтапную аутентификацию (Two factor authentication или для краткости 2FA) для нашего маленького офисного сервера на базе Ubuntu Server.
2FA это дополнительный уровень безопасности и приятное дополнение к уже существующему механизму аутентификации. Кроме обычной пары логин + пароль от пользователя, выполняющего авторизацию, требуется цифровой ключ, который динамически изменяется каждые 30 секунд и генерируется устройством, находящимся во владении пользователя. Для генерации ключа мы использовали Приложение Google authenticator и мобильный телефон на платформе Android. После разовой настройки приложение генерирует коды, имеющие срок жизни в 30 секунд, точно такие же коды генерирует сервер. При аутентификации коды сравниваются.
Так как данные не передаются от сервера и хранятся только на устройстве — этот механизм является более безопасным, чем отправка кодов подтверждения (например, как 3D-secure SMS подтверждение в банковских системах).
Пошаговых инструкций о настройках сервера в сети оказалось неожиданно много. В них все очень просто и доходчиво. Я руководствовался этой статьей.
После настроек сервера установили на телефон Lenovo p780 приложение Google Authenticator, «прочитали» телефоном с монитора QR-code и получили заветные циферки для авторизации. Перед тем как перезагрузить SSH не забывайте сохранить резервные ключи для восстановления доступа.
И вот, все готово к использованию! Перезагружаем SSH, заходим на сервер, указываем пароль, после пароля нас просят предъявить Verification code, переписываем его с телефона и… снова просят указать пароль?!!! Выглядит это так:
ssh user@server.ru
Password: <вводим пароль>
Verification code: <вводим код с телефона>
Password: <?!!, вводим пароль еще раз>
Verification code: <вводим код с телефона>
Password: <еще раз вводим пароль>
Verification code: <еще раз вводим код>
user@server.ru’s password: <еще раз пароль>
Permission denied, please try again.
user@server.ru’s password: <снова вводим пароль>
Received disconnect from xx.xxx.xx.xx: 2: Too many authentication failures for user
Вначале думали, что ошибка допущена в настройках, но испробовав несколько мобильных устройств стало очевидно, что коды генерируемые на Android 4.4.2 KitKat приложением Google Authenticator всегда ошибочны.
«Решения», которые удалось найти и их результаты:
- Если откатить версию Android, начинает работать корректно. (с этим «решением» работали какое то время, но решили двигаться дальше)
- Так как проблема сводится к некорректным часовым поясам — многие решения направлены именно на их исправление. Приложение TimeZone Fixer действительно может помочь с этой проблемой, однако часть приложений после его использования начинает отображать ошибочное время и потребуется чинить их вручную. (решение имеет свои минусы и риски. вся информация о приложении доступна на сайте 4pda)
- Подгонять время вручную. Если честно этот способ у нас так и не заработал. Перевести часы вручную и тем самым синхронизировать время на телефоне и сервере. Увы, все попытки ничего не дали, хотя были люди утверждающие, что у них заработало. В любом случае перспектива потерять функцию часов в телефоне не самая приятная…
- Синхронизация часов внутри настроек приложения Google authenticator (в нашем случае без результатов, однако были комментарии, что кому то помогло)
Финальное решение проблемы: FreeOTP
За время поиска решения в сети я уже натыкался на GitHub приложения Google Authenticator, в трекинге ошибок есть наша, и в качестве решения предложено:
«You can used FreeOTP Authenticator(by Red Hat) instead of Google Authenticator until someone fix it.»
Долгое время мне казалось, что рекомендуется использовать другой механизм-аутентификатор, который нужно ставить на сервер вместо Google, поэтому я усердно искал другие решения. Хотелось заставить работать именно Google authenticator, но на самом же деле рекомендуют использовать другое приложение для Android, а серверная часть остается без изменений.
Приложение FreeOTP Authenticator от компании Red Hat. После настройки по тому же QR-коду все начало работать без необходимости что то корректировать.
К сожалению я не могу указать вам причину возникновения ошибки в приложении Google authenticator, но надеюсь, что мой печальный опыт поможет сэкономить чье-то время.
Буду рад вашим комментариям! Спасибо за внимание.
Cправка — Аккаунт Google
Войти
Справка Google
- Справочный центр
- Сообщество
- Аккаунт Google
- Политика конфиденциальности
- Условия предоставления услуг
- Отправить отзыв
Тема отзыва
Информация в текущем разделе Справочного центра
Общие впечатления о Справочном центре Google
- Справочный центр
- Сообщество
- Начало работы с аккаунтом Google
Аккаунт Google
Google Authenticator — одно из лучших и наиболее широко используемых приложений двухфакторной аутентификации (2FA) для Android и iOS. Совсем недавно, Google выпустил крупное обновление который добавляет дополнительные функции для дальнейшего повышения безопасности ваших онлайн-аккаунтов. Что делать, если Google Authenticator внезапно отказывается работать на вашем телефоне? Это означает, что вы не сможете получить доступ к приложения/сервисы, которые вы защитили с помощью 2FA с приложением.
В этом посте мы перечислили пять (5) различных исправлений для устранения неполадок, когда Google Authenticator не работает на вашем iPhone.
Обычно Authenticator не работает, если есть несоответствие между временем приложения и конфигурацией даты/времени вашего iPhone. А в редких случаях, когда приложение не будет работать, несмотря на то, что на вашем устройстве установлены правильные дата и время, проблема может быть связана с некоторыми другими проблемами, связанными с программным обеспечением. Имея это в виду, давайте сразу перейдем к решениям.
1. Проверьте время и дату
Всякий раз, когда Google Authenticator перестает работать на вашем iPhone, вы должны проверить конфигурацию времени и даты на нем. Если время и дата вашего устройства неверны или не синхронизированы должным образом, вы можете столкнуться с проблемами при использовании приложения Google Authenticator. Конфигурация времени и даты в приложении также может не синхронизироваться, если вы путешествуете в другой часовой пояс. Когда это произойдет, Authenticator не будет работать. В других случаях вы можете получать сообщения об ошибках «Неверный код» всякий раз, когда используете коды, сгенерированные приложением.
В версии приложения для Android есть раздел «Коррекция времени для кодов», где вы можете легко исправить ошибку синхронизации времени приложения, нажав кнопку «Синхронизировать сейчас». Однако для iOS все устроено по-другому. К сожалению, вы не можете исправить ошибки синхронизации времени и даты непосредственно в приложении Google Authenticator на вашем iPhone.
Однако вы можете убедиться, что настройки «Дата и время» вашего iPhone настроены на автоматическое обновление/синхронизацию. Таким образом, время приложения Authenticator также будет синхронизировано. Вот как настроить автоматическое обновление/синхронизацию времени на iPhone.
Шаг 1: Откройте меню «Настройки iPhone» и выберите «Основные».
Шаг 2: Выберите «Дата и время».
Шаг 3: Включите «Автоматически».
Если опция уже была включена, вы можете отключить ее и снова включить. Теперь проверьте, работает ли Google Authenticator на вашем iPhone.
Перезагрузка телефона также может помочь исправить любую проблему, из-за которой Authenticator перестал работать. Помимо устранения некоторых сбоев, связанных с программным обеспечением, перезагрузка iPhone также поможет обновить и установить новые определения часовых поясов.
Нажмите и удерживайте кнопку питания и любую из кнопок громкости, чтобы выключить iPhone. Либо перейдите в «Настройки» > «Основные» > «Завершение работы» > «Сдвиньте, чтобы выключить».
Удерживайте кнопку питания около 5 секунд, чтобы перезагрузить устройство. Ваше устройство должно быть обновлено при загрузке, и должны быть установлены новые часовые пояса. Теперь запустите приложение Google Authenticator и проверьте, сработало ли оно.
3. Обновите Google Authenticator
Если Google Authenticator по-прежнему не работает на вашем iPhone, вам следует проверить, есть ли ожидающие обновления для приложения. Перейдите в App Store и нажмите кнопку «Обновить», если доступно новое обновление для Authenticator. Если вы используете последнюю версию Authenticator на своем iPhone, перейдите к следующему способу ниже.
Обновите Google Authenticator
4. Удалите и переустановите Аутентификатор
Удаление и повторная установка Google Authenticator — еще одно эффективное решение, позволяющее снова запустить приложение на вашем iPhone. Это был единственный способ, которым некоторые пользователи Google Authenticator заставили приложение работать на своих iPhone. Прежде чем приступить к этому, обратите внимание, что удаление Authenticator с вашего устройства также приведет к удалению данных приложения. Это означает, что вам придется перенастроить приложение Authenticator (в настройках безопасности вашей учетной записи Google) при переустановке его на своем устройстве.
Чтобы удалить Google Authenticator с вашего устройства, нажмите и удерживайте значок приложения на главном экране и выберите «Удалить приложение». В появившемся окне подтверждения нажмите «Удалить».
Установите Google Authenticator для iOS
5. Обновите iOS
Запуск последней версии обновлений iOS является одним из рекомендуемые требования для использования Authenticator. Если приложение не работает или, возможно, вы столкнулись с некоторыми проблемами во время использования, убедитесь, что операционная система вашего iPhone работает с последней доступной версией. Перейдите в «Настройки» > «Основные» > «Обновление ПО» и нажмите кнопку «Загрузить и установить», чтобы обновить ОС.
Если Google Authenticator ранее не работал из-за проблемы, связанной с ОС, обновление iOS должно снова заставить его работать.
Обеспечьте свою защиту
Обычно Google Authenticator является стабильным приложением. В непредвиденных случаях, когда приложение не работает или показывает неверные коды, любое из пяти исправлений для устранения неполадок, упомянутых выше, должно восстановить его работоспособность. Дайте нам знать, какой из них сработал для вас или вы нашли другой трюк в разделе комментариев ниже.
Далее: используете ли вы двухфакторную аутентификацию в социальных сетях и на банковских сайтах? Что, если вы потеряете доступ к этим кодам или потеряете свой телефон? Ознакомьтесь со статьей по ссылке ниже, чтобы узнать, как создавать резервные копии кодов 2FA и почему это необходимо делать.
Post Views: 1 366