Skip to main content

Рекомендации по защите учетных записей

Руководство по защите учетных записей, которые имеют доступ к цепочке поставки программного обеспечения.

Об этом руководстве

В этом руководстве описываются самые важные изменения, которые можно внести для повышения безопасности учетной записи. В каждом разделе описаны изменения, которые можно внести в процессы для повышения безопасности. Сначала указаны изменения с самым высоким влиянием.

В чем заключаются риски?

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

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

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

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

Настройка личной учетной записи

GitHub поддерживает несколько вариантов двухфакторной проверки подлинности, и хотя любой из них лучше, чем ничего, наиболее безопасным является WebAuthn. Для WebAuthn требуется аппаратный ключ безопасности или устройство, которое поддерживает его через такие приложения, как Windows Hello или Mac TouchID. Фишинг других форм двухфакторной проверки подлинности (например, кто-то просит вас прочитать 6 цифр одноразового пароля) возможен, хотя и затруднителен. Но WebAuthn не поддается фишингу, поскольку в протокол встроен контроль области домена, что предотвращает использование учетных данных с веб-сайта, выдающего себя за страницу входа, в GitHub.

При настройке двухфакторной проверки подлинности следует всегда скачивать коды восстановления и настраивать несколько факторов. Это гарантирует, что доступ к учетной записи не будет зависеть от одного устройства. Дополнительные сведения см. в разделах Настройка двухфакторной проверки подлинности, Настройка методов восстановления двухфакторной проверки подлинности и Фирменные аппаратные ключи безопасности GitHub в магазине GitHub.

Настройка учетной записи организации

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

  1. "Проверка включения 2FA у пользователей организации"
  2. Подготовка к включению обязательной двухфакторной проверки подлинности в организации
  3. Обязательная двухфакторная проверка подлинности в вашей организации

Подключение к GitHub с помощью ключей SSH

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

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

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

Дальнейшие действия