Об этом руководстве
В этом руководстве описываются самые важные изменения, которые можно внести для повышения безопасности учетной записи. В каждом разделе описаны изменения, которые можно внести в процессы для повышения безопасности. Сначала указаны изменения с самым высоким влиянием.
В чем заключаются риски?
Безопасность учетных записей имеет важное значение для обеспечения безопасности цепочки поставок. Если злоумышленники перехватят контроль над вашей учетной записью GitHub, они затем смогут внести вредоносные изменения в ваш код или процесс сборки. Поэтому вашей первой целью должно быть то, чтобы кому-то было трудно взять на себя вашу учетную запись и учетные записи других участников вашей организации.
Настройка двухфакторной проверки подлинности
Примечание: Начиная с марта 2023 г. и до конца 2023 г. GitHub постепенно начнет требовать от всех пользователей, которые вносят код на GitHub.com, включить одну или несколько форм двухфакторной проверки подлинности (2FA). Если вы находитесь в соответствующей группе, вы получите уведомление по электронной почте, когда эта группа будет выбрана для регистрации, отмечая начало 45-дневного периода регистрации 2FA, и вы увидите баннеры с просьбой зарегистрироваться в 2FA на GitHub.com. Если вы не получили уведомление, вы не входите в группу, необходимую для включения двухфакторной проверки подлинности, хотя мы настоятельно рекомендуем это сделать.
Дополнительные сведения о выпуске регистрации 2FA см. в этой записи блога.
Лучший способ повысить безопасность вашей личной учетной записи настраивает двухфакторную проверку подлинности (2FA). Пароли сами по себе могут быть скомпрометированы путем угадывания, в результате повторного использования на другом сайте, который был скомпрометирован, или с помощью методов социотехники, например фишинга. Двухфакторная проверка подлинности значительно усложняет компрометацию учетных записей, даже если у злоумышленника есть пароль.
Чтобы обеспечить безопасность и надежный доступ к учетной записи, рекомендуется всегда иметь по крайней мере два двухфакторных учетных данных, зарегистрированных в вашей учетной записи. Дополнительные учетные данные гарантируют, что даже если вы потеряете доступ к одному из учетных данных, вы не будете заблокированы в своей учетной записи.
Кроме того, следует по возможности предпочесть ключи безопасности и приложения проверки подлинности (называемые приложениями TOTP) вместо использования SMS. 2FA на основе SMS не обеспечивает тот же уровень защиты, что и приложения TOTP или ключи безопасности, и больше не рекомендуется в соответствии с рекомендациями по цифровым удостоверениям NIST 800-63B .
Если вы являетесь владельцем организации, то можете потребовать, чтобы все члены организации включили двухфакторную проверку подлинности.
Дополнительные сведения о включении 2FA для собственной учетной записи см. в разделе Настройка двухфакторной проверки подлинности. Дополнительные сведения о необходимости двухфактурной проверки подлинности в организации см. в разделе Обязательная двухфакторная проверка подлинности в вашей организации.
Настройка личной учетной записи
GitHub поддерживает несколько вариантов двухфакторной проверки подлинности, и хотя любой из них лучше, чем ничего, наиболее безопасным является WebAuthn. Для WebAuthn требуется аппаратный ключ безопасности или устройство, которое поддерживает его через такие приложения, как Windows Hello или Mac TouchID. Фишинг других форм двухфакторной проверки подлинности (например, кто-то просит вас прочитать 6 цифр одноразового пароля) возможен, хотя и затруднителен. Но WebAuthn не поддается фишингу, поскольку в протокол встроен контроль области домена, что предотвращает использование учетных данных с веб-сайта, выдающего себя за страницу входа, в GitHub.
При настройке двухфакторной проверки подлинности следует всегда скачивать коды восстановления и настраивать несколько факторов. Это гарантирует, что доступ к учетной записи не будет зависеть от одного устройства. Дополнительные сведения см. в разделах "Настройка двухфакторной проверки подлинности", "Настройка методов восстановления для двухфакторной проверки подлинности" и аппаратные ключи безопасности с фирменной символикой GitHub в магазине GitHub.
Настройка учетной записи организации
Если вы являетесь владельцем организации, то можете видеть, у каких пользователей не включена двухфакторная проверка подлинности. Помогите им ее настроить, а затем можете требовать использование двухфакторной проверки подлинности в вашей организации. Инструкции по выполнению этого процесса см. в следующих разделах.
- "Проверка включения двухфакторной проверки у пользователей организации"
- "Подготовка к включению обязательной двухфакторной проверки подлинности в организации"
- "Обязательная двухфакторная проверка подлинности в вашей организации"
Подключение к GitHub с помощью ключей SSH
Существуют и другие способы взаимодействия с GitHub помимо входа на веб-сайт. Многие пользователи авторизуют код, который они отправляют в GitHub, с помощью закрытого ключа SSH. Дополнительные сведения см. в разделе Сведения о протоколе SSH.
Как и в случае с паролем учетной записи, если злоумышленник получит ваш закрытый ключ SSH, он может выдать себя за вас и отправить вредоносный код в любой репозиторий, в котором у вас есть доступ на запись. Если вы храните закрытый ключ SSH на диске, рекомендуется защитить его с помощью парольной фразы. Дополнительные сведения см. в разделе Работа с парольными фразами ключа SSH.
Другой вариант — создать ключи SSH в аппаратном ключе безопасности. Вы можете использовать тот же ключ, что и для двухфакторной проверки подлинности. Аппаратные ключи безопасности очень трудно скомпрометировать удаленно, так как закрытый ключ SSH остается на оборудовании и недоступен напрямую из программного обеспечения. Дополнительные сведения см. в разделе Создание нового ключа SSH и его добавление в ssh-agent.