Об этом руководстве
В этом руководстве описываются самые важные изменения, которые можно внести для повышения безопасности учетной записи. В каждом разделе описаны изменения, которые можно внести в процессы для повышения безопасности. Сначала указаны изменения с самым высоким влиянием.
В чем заключаются риски?
Безопасность учетных записей имеет важное значение для обеспечения безопасности цепочки поставок. Если злоумышленник может взять на себя учетную запись GitHub, он может внести вредоносные изменения в код или процесс сборки. Поэтому ваша первая цель заключается в том, чтобы кто-то затруднил вашей учетной записи и учетные записи других вашей или предприятия.
Централизованная проверка подлинности
Если вы являетесь владельцем предприятия или организации, можно настроить централизованную проверку подлинности с помощью SAML. Хотя вы можете вручную добавить или удалить участников, проще и безопаснее настроить единый вход (SSO) и SCIM между GitHub поставщиком удостоверений SAML (IdP). Это также упрощает процесс проверки подлинности для всех участников вашего предприятия.
Вы можете настроить проверку подлинности SAML для учетной записи предприятия или организации. С помощью SAML вы можете предоставить доступ к личным учетным записям участников вашей организации или организации с GitHub помощью поставщика удостоверений, или создать и контролировать учетные записи, принадлежащие вашей организации, с помощью Enterprise Managed Users. Дополнительные сведения см. в разделе Основы управления идентификацией и доступом.
Когда вы настроите проверку подлинности SAML, участники, запрашивающие доступ к вашим ресурсам, будут направляться в поток единого входа для проверки, распознаются ли они поставщиком удостоверений. Если они не распознаются, запрос отклоняется.
Некоторые поставщики удостоверений поддерживают протокол SCIM, который может автоматически подготавливать или отменять доступ GitHub при внесении изменений в поставщик удостоверений. С помощью SCIM вы можете упростить администрирование по мере роста команды, а также быстро отзывать доступ к учетным записям. SCIM доступен для отдельных организаций или GitHub Enterpriseдля предприятий, использующих Enterprise Managed Users. Дополнительные сведения см. в разделе Сведения о SCIM для организаций.
Настройка двухфакторной проверки подлинности
Примечание.
По состоянию на март 2023 г. GitHub требовал от всех пользователей, которые вносят код на GitHub.com для включения одной или нескольких форм двухфакторной проверки подлинности (2FA). Если бы вы были в соответствующей группе, вы получили бы уведомление по электронной почте, когда эта группа была выбрана для регистрации, помечая начало 45-дневного периода регистрации 2FA, и вы видели бы баннеры, запрашивающие регистрацию в 2FA на GitHub.com. Если вы не получили уведомления, то вы не были частью группы, необходимой для включения 2FA, хотя настоятельно рекомендуется.
Дополнительные сведения о выпуске регистрации 2FA см . в этой записи блога.
Лучший способ повысить безопасность вашей личной учетной учетных записей — настроить двухфакторную проверку подлинности (2FA). Пароли сами по себе могут быть скомпрометированы путем угадывания, в результате повторного использования на другом сайте, который был скомпрометирован, или с помощью методов социотехники, например фишинга. Двухфакторная проверка подлинности значительно усложняет компрометацию учетных записей, даже если у злоумышленника есть пароль.
Для обеспечения безопасности и надежного доступа к вашей учетной записи всегда должно быть не менее двух учетных данных второго фактора, зарегистрированных в вашей учетной записи. Дополнительные учетные данные гарантируют, что даже если вы потеряете доступ к одному учетным данным, вы не будете заблокированы из учетной записи.
Кроме того, следует предпочесть ключи доступа и ключи безопасности для приложений authenticator (называемых приложениями TOTP) и по возможности избегать использования SMS. Приложения на основе SMS на основе 2FA и TOTP уязвимы для фишинга и не обеспечивают одинаковый уровень защиты, как ключи доступа и ключи безопасности. SMS больше не рекомендуется в соответствии с рекомендациями по цифровым удостоверениям NIST 800-63B .
Если учетные записи служб в вашей организации были выбраны для регистрации GitHubв 2FA, их токены и ключи будут продолжать работать после крайнего срока без прерывания. Доступ к GitHub пользовательскому интерфейсу веб-сайта будет заблокирован только до включения 2FA учетной записи. Мы рекомендуем настроить TOTP в качестве второго фактора для учетных записей служб и сохранить секрет TOTP, предоставляемый во время установки в диспетчере общих паролей вашей компании, с доступом к секретам, контролируемым через единый вход.
Если вы являетесь владельцем предприятия, вы можете настроить политику, чтобы требовать 2FA для всех организаций, принадлежащих вашей организации.
Если вы являетесь владельцем организации, вы иметь возможность требовать, чтобы все члены организации могли включить 2FA.
Дополнительные сведения о включении 2FA в собственной учетной записи см. в разделе Настройка двухфакторной проверки подлинности. Дополнительные сведения о необходимости 2FA в организации см. в разделе Обязательная двухфакторная проверка подлинности в вашей организации.
Настройка корпоративной учетной записи
Владельцы предприятия могут иметь возможность требовать 2FA для всех членах экземпляра. Доступность политик GitHub 2FA зависит от того, как проходят проверку подлинности для доступа к экземпляра
Настройка личной учетной записи
Примечание.
В зависимости от метода проверки подлинности, настроенного владельцем сайта, возможно, не удается включить 2FA для вашей личной учетной записи.
GitHub поддерживает несколько вариантов для 2FA, и хотя любой из них лучше, чем ничего, самый безопасный вариант — это учетные данные WebAuthn. Для WebAuthn требуется средство проверки подлинности, например ключ безопасности оборудования FIDO2, средство проверки подлинности платформы, например Windows Hello, телефон Apple или Google или диспетчер паролей. Фишинг других форм двухфакторной проверки подлинности (например, кто-то просит вас прочитать 6 цифр одноразового пароля) возможен, хотя и затруднителен. Однако WebAuthn гораздо более устойчив к фишингу, так как область домена встроена в протокол, что предотвращает использование GitHubучетных данных веб-сайта, в котором используется страница входа.
При настройке 2FA всегда следует скачать код восстановления и настроить несколько учетных данных 2FA. Это гарантирует, что доступ к учетной записи не будет зависеть от одного устройства. Дополнительные сведения см. в разделе [AUTOTITLE и Настройка двухфакторной проверки подлинности](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication-recovery-methods).
Настройка учетной записи организации
Примечание.
В зависимости от метода проверки подлинности, настроенного владельцем сайта, может потребоваться 2FA для вашей организации.
Если вы являетесь владельцем организации, то можете видеть, у каких пользователей не включена двухфакторная проверка подлинности. Помогите им ее настроить, а затем можете требовать использование двухфакторной проверки подлинности в вашей организации. Инструкции по выполнению этого процесса см. в следующих разделах.
- Проверка включения двухфакторной проверки у пользователей организации
- Подготовка к включению обязательной двухфакторной проверки подлинности в организации
- Обязательная двухфакторная проверка подлинности в вашей организации
Подключение к GitHub использованию ключей SSH
Существуют другие способы взаимодействия с GitHub выходом на веб-сайт. Многие пользователи авторизуют код, который GitHub они передают с помощью закрытого ключа SSH. Дополнительные сведения см. в разделе Сведения о протоколе SSH.
Как и в случае с паролем учетной записи, если злоумышленник получит ваш закрытый ключ SSH, он может выдать себя за вас и отправить вредоносный код в любой репозиторий, в котором у вас есть доступ на запись. Если вы храните закрытый ключ SSH на диске, рекомендуется защитить его с помощью парольной фразы. Дополнительные сведения см. в разделе Работа с парольными фразами ключа SSH.
Другой вариант — создать ключи SSH в аппаратном ключе безопасности. Вы можете использовать тот же ключ, что и для двухфакторной проверки подлинности. Аппаратные ключи безопасности очень трудно скомпрометировать удаленно, так как закрытый ключ SSH остается на оборудовании и недоступен напрямую из программного обеспечения. Дополнительные сведения см. в разделе Создание нового ключа SSH и его добавление в ssh-agent.
Аппаратные ключи SSH являются довольно безопасными, но требования к оборудованию могут не работать для некоторых организаций. Альтернативный подход заключается в использовании ключей SSH, которые действительны только в течение короткого периода времени, поэтому даже если закрытый ключ скомпрометирован, его не получится использовать очень долго. Эта концепция лежит в основе запуска собственного центра сертификации SSH. Хотя этот подход обеспечивает широкий контроль над проверкой подлинности пользователей, вам также придется самостоятельно обслуживать центр сертификации SSH. Дополнительные сведения см. в разделе Сведения о центрах сертификации SSH.