Крупнейший хостинг репозиториев кода GitHub пересмотрит политику аутентификации. Пароли перестанут поддерживать – их полностью заменят токены и SSH-ключи.
Что изменится
В июле GitHub объявил о том, что попробует использовать аутентификацию на основе токенов: например, токенов личного доступа, OAuth или токена установки GitHub App для всех операций с Git-репозиториями, которые предполагают такие проверки. Эксперимент признали успешным, поэтому с 13 августа 2021 года сервис перестанет принимать пароли учетных записей при аутентификации операций с Git.
Нововведение затрагивает как работу с командной строкой, так и десктопные приложения, кроме фирменного GitHub Desktop. Кроме того, токены нужно будет интегрировать в сторонние приложения и сервисы, которые обеспечивают непосредственный доступ к Git-репозиториям на GitHub.com с использованием логина и пароля.
Если у вас настроена двухфакторная аутентификация, вам также придется использовать процедуру на основе токенов или SSH-ключей. Пользователей GitHub Enterprise Server нововведения не затронут.
Зачем это нужно
В последние годы GitHub сосредоточился на повышении уровня безопасности. Сервис внедрил двухфакторную аутентификацию, уведомления о входе в аккаунт, распознавание доверенных устройств, предотвращение использования взломанных паролей и поддержку WebAuthn. За счет всего этого злоумышленникам, которые могли украсть ваш пароль от GitHub на сторонних сайтах, будет гораздо сложнее войти в ваш аккаунт.
Но пользователи, которые не включили двухфакторную аутентификацию, в основном по-прежнему пользуются логинами и паролями. В GitHub считают, что это недостаточно безопасно, поэтому призывают разработчиков переходить на токены для персонального доступа, а интеграторов – на OAuth или токены установки GitHub App. Кроме того, будут поддерживаться SSH-ключи.
Почему токены безопаснее паролей:
- уникальны: создаются непосредственно для каждого сеанса использования GitHub или для конкретного устройства;
- могут быть отозваны в любой момент, при этом вам не нужно будет обновлять учетные данные, которые не были скомпрометированы;
- ограничены: могут иметь конкретную область действия и разрешать доступ только к определенным ресурсам и функциям;
- случайны: в отличие от паролей, их невозможно подобрать брутфорсом или перебором словаря.
Чтобы подготовиться к глобальному отказу от паролей, GitHub решил предварительно провести четыре сеанса временной блокировки этого способа аутентификации. 30 июня и 28 июля с 10 до 13 часов и с 19 до 22 часов по московскому времени вы не сможете зайти в GitHub-аккаунт по логину и паролю.