В последние годы все веб-сервисы внезапно озаботились безопасностью своих пользователей. Эта забота в большинстве случаев выливается сначала в рекомендацию включить так называемую «двухфакторную аутентификацию» (2FA), затем эта рекомендация превращается уже в требование.
Разъяснение терминов
Для тех, кто не в курсе - короткий ликбез. Та часть веб-сервисов и сайтов, которая требует обязательной регистрации от пользователя, всегда проверяет вашу личность при входе в данный веб-сервис или на данный сайт. Процесс входа состоит из идентификации (ввод идентификатора: например, псевдонима, логина, адреса электронной почты и тому подобного), аутентификации (проверки личности: например, ввод пароля) и авторизации (предоставление системой определенному лицу определенных прав для работы в этой системе).
Раньше всем хватало аутентификации с помощью пароля. Это один из видов «однофакторной аутентификации», то есть при аутентификации для проверки личности используется только один метод (фактор) - проверка на знание пароля. В течение последних лет десяти повсюду сначала начала появляться рекомендация пользователям об использовании «двухфакторной аутентификации», то есть при входе проверка личности пользователя выполняется одновременно двумя методами (с помощью двух факторов): например, проверяется пароль и отправляется SMS-сообщение на смартфон пользователя с неким числом (каждый раз разным), которое пользователь должен ввести в отдельное поле при входе на веб-сервис или сайт.
Через некоторое время на многих сайтах или веб-сервисах стало обязательным требование введения при регистрации номера мобильного телефона (смартфона). А вот теперь на многих сайтах становится обязательным требование к пользователям перейти на двухфакторную аутентификацию. Администрации этих сайтов и веб-сервисов утверждают, что, якобы, действуют исключительно в целях обеспечения безопасности пользователей. Я думаю, что это правда только отчасти. Думаю, что им нужны для разных целей (их целый ряд, не буду тут отвлекаться на перечисление) номера мобильных телефонов пользователей и координаты их текущего местоположения. Ну, бог им судья.
Сроки введения обязательной двухфакторной аутентификации на «Гитхабе»
Первоначально об обязательности двухфакторной аутентификации (2FA) на «Гитхабе»
было объявлено еще 4 мая 2022 года (а, может, и раньше). Первоначально пользователям давали время для перехода на двухфакторную аутентификацию до конца 2023 года. Лично я в то время, вероятно, просто пропустил это предупреждение мимо ушей, так как был очень занят.
Администрация «Гитхаба»
разбила пользователей на группы и обязательность требования о включении двухфакторной аутентификации для разных групп наступала последовательно в течение указанного срока и после него. Сегодня, вероятно, очередь дошла и до меня, так как мне прислали письмо с соответствующим требованием. Времени дали 45 дней, до 8 ноября 2024 года. Я решил не дожидаться этого дедлайна, а включить двухфакторную аутентификацию уже сейчас.
Включение двухфакторной аутентификации на «Гитхабе»
Можно войти в свой аккаунт через веб-интерфейс; открыть меню, щелкнув по аватарке аккаунта в правом верхнем углу экрана; в меню выбрать пункт настроек «Settings». На открывшемся экране в меню слева выбрать пункт «Password and authentication» (пароль и аутентификация). Либо сразу перейдите по следующей ссылке (работает, если вы авторизованы на веб-сервисе):
https://github.com/settings/security На открывшемся экране есть три раздела. Сверху вниз: «Password» (для смены пароля), «Passkeys» (еще один метод аутентификации) и «Two-factor authentication» (двухфакторная аутентификация). Обратите внимание на последний.
В этом разделе на данный момент доступны 4 способа добавления второго метода (фактора) аутентификации (по порядку сверху вниз): «Authenticator app» (аутентификация с помощью так называемого «приложения с TOTP», которое нужно предварительно установить), «SMS/Text message» (аутентификация с помощью отсылки SMS-сообщения с секретным кодом на смартфон пользователя), «Security keys» (мало знаю об этом способе аутентификации), «GitHub Mobile» (нужно дополнительно установить мобильное приложение с таким названием на свой смартфон и войти в нем в свой аккаунт на «Гитхабе»). Как я понял, можно использовать и один из этих способов, и одновременно несколько из них.
Поначалу я привычно решил выбрать вторым фактором способ «SMS/Text message» (с помощью SMS-сообщения мне на смартфон). Однако, выяснилось, что «Гитхаб» поддерживает этот способ не для всех стран. В документации «Гитхаба» существует
список стран, для которых этот способ поддерживается, и Россия в этот список не входит (
вот любопытное обсуждение по теме на linux.org.ru). К тому же, сам «Гитхаб» отговаривает пользователей от этого способа и рекомендует в первую очередь рассматривать способ с помощью «Authenticator app». В результате я решил использовать способ с помощью «Authenticator app», раз его рекомендуют.
Выбор и настройка вторым фактором способа аутентификации «Authenticator app»
В вышеописанном экране справа от соответствующего второго способа аутентификации я нажал на кнопку «Add» (или «Edit», если вы ранее уже настраивали этот способ и теперь хотите его перенастроить). Процесс настройки состоит из трех этапов, поначалу выглядит громоздко, но на него у меня ушло всего несколько минут.
Перед началом настройки этого способа аутентификации нужно установить на своё устройство (в моем случае - на мой смартфон) так называемое «приложение с TOTP». Думаю, тут нужно сделать несколько пояснений. Специалисты по безопасности уже давно бьются (и успешно) над созданием приложения (программы), генерирующей OTP (одноразовые пароли, «one-time password»). Было создано несколько алгоритмов для этого, и TOTP (time-based OTP) - один из таких алгоритмов,
он был описан еще в 2011 году. Его суть в том, что одноразовый пароль генерируется на основе текущего времени.
«Гитхаб» рекомендует в качестве «приложения с TOTP» три разных приложения, но ни одно из них мне не понравилось. В интернетах я вычитал, что существует такое приложение от компании «Google» - оно называется «Google Authenticator». Мне показалось логичным, что если у меня на смартфоне установлена система «Android» от компании «Google», то и приложение для этой системы будет удобно выбрать от той же компании. Хоть сайт веб-версии магазина приложений «Google Play» на данный момент недоступен из России (
ссылка, можно просмотреть с помощью браузера «Tor Browser»), но со смартфона этот магазин приложений полностью доступен для пользователей из России. Мобильное приложение «Google Authenticator» есть в магазине приложений «Google Play», оно бесплатное. Я его загрузил и установил на своём смартфоне (размер приложения - 7,11 Мб).
На первом этапе настройки способа аутентификации «Authenticator app» на экране компьютера будет показан QR-код. Нужно на смартфоне зайти в приложение «Google Authenticator» и навести камеру смартфона на этот QR-код на экране компьютера. Приложение «Google Authenticator» сосканирует QR-код и свяжется по зашифрованной в QR-коде ссылке с веб-сервисом «Гитхаб» (так я это понимаю). После этого приложение «Google Authenticator» сгенерирует одноразовый пароль (цифровой код из шести цифр), который нужно ввести на компьютере в соответствующее поле. Нажимаем на кнопку «Continue» (продолжить) на экране компьютера и переходим ко второму этапу настройки. Смартфон нужен только на первом этапе.
На втором этапе настройки нужно сохранить в «секретном месте» так называемые «recovery codes» (коды восстановления, там их 16 штук). Можно сохранить на свой компьютер в текстовом файле. Эти коды могут понадобиться, если внезапно вы потеряете смартфон или удалите приложение «Google Authenticator» (либо его альтернативу, если вы установили другое приложение в качестве «приложения с TOTP»), к которому вы привязали ваш аккаунт на «Гитхабе». После сохранения кодов восстановления переходите к третьему этапу настройки. (Коды восстановления, кстати, в любой момент можно сгенерировать новые с помощью соответствующего пункта в настройках аккаунта.)
На третьем этапе ничего делать не требуется, просто получаем поздравление с включением двухфакторной аутентификации и нажимаем кнопку «Done» (закончить). Можно возвратиться в настройки вашего аккаунта по указанному выше пути и проверить правильность настройки: возле способа аутентификации «Authenticator app» должна стоять пометка «Configured» (настроено).
Заключение
Как теперь, после вышеописанной настройки, мне входить в свой аккаунт на «Гитхабе»? Как обычно, ввожу логин и пароль; дополнительно требуют ввести одноразовый пароль (он каждый раз будет разный). Для получения этого одноразового пароля открываю приложение «Google Authenticator» на смартфоне, оно сразу же генерирует нужный одноразовый пароль, который я тут же ввожу в соответствующее поле на экране компьютера. Я проверил, работает успешно.