Об этом руководстве
Как владелец организации, предотвращение воздействия частных или конфиденциальных данных должно быть главным приоритетом. Будь то преднамеренные или случайные утечки данных могут вызвать значительный риск для заинтересованных сторон. Хотя GitHub вы принимаете меры для защиты от утечек данных, вы также отвечаете за администрирование вашей организации для повышения безопасности.
Существует несколько ключевых компонентов, когда речь идет о защите от утечки данных:
- Принятие упреждающего подхода к предотвращению
- Раннее обнаружение возможных утечек
- Поддержание плана устранения рисков при возникновении инцидента
Оптимальный подход зависит от типа организации, которую вы управляете. Например, организация, которая фокусируется на разработке открытый код, может потребовать более свободного контроля, чем полностью коммерческая организация, чтобы обеспечить внешнюю совместную работу. В этой статье представлены общие рекомендации по GitHub функциям и настройкам, которые следует учитывать в соответствии с вашими потребностями.
Безопасные учетные записи
Защита репозиториев и параметров организации путем реализации рекомендаций по обеспечению безопасности, включая включение 2FA и требование для всех участников и создание надежных правил паролей.
- Обеспечение безопасных процессов аутентификации с использованием интеграции SAML и SCIM, а также аутентификации 2FA, когда это возможно. Дополнительные сведения см. в разделе AUTOTITLE, [AUTOTITLE[ и [AUTOTITLE](/organizations/managing-saml-single-sign-on-for-your-organization/about-identity-and-access-management-with-saml-single-sign-on)](/organizations/managing-saml-single-sign-on-for-your-organization/about-scim-for-organizations).](/authentication/securing-your-account-with-two-factor-authentication-2fa)
-
Требование от членов организации, внешних партнёров и менеджеров по выставлению счетов включать 2FA для своих личных аккаунтов, что затрудняет злоумышленникам доступ к репозиториям и настройкам организации. Это ещё один шаг дальше по сравнению с обеспечением безопасной аутентификации. Дополнительные сведения см. в разделе Обязательная двухфакторная проверка подлинности в вашей организации.
-
Поощряйте пользователей создавать надёжные пароли и правильно их защищать, следуя GitHubрекомендованным рекомендациям по паролям. Для получения дополнительной информации см. Создание надежного пароля.
-
Поощряя пользователей сохранять защиту от принудительной отправки для пользователей в параметрах личная учетная запись, чтобы независимо от того, в какой общедоступный репозиторий они отправляются, они защищены. Для получения дополнительной информации см. Управление защитой от push для пользователей.
-
Создание внутренней политики безопасности в GitHub, чтобы пользователи знали, какие действия следует предпринять и к кому обращаться при подозрении на инциденте. Дополнительные сведения см. в разделе Добавление политики безопасности в репозиторий.
Дополнительные сведения о защите учетных записей см. в разделе Рекомендации по защите учетных записей.
Предотвращение утечки данных
В качестве владелец организации следует ограничить и проверить доступ в соответствии с типом вашей организации. Рассмотрим следующие параметры для более жесткого управления:
| Recommendation | Дополнительные сведения |
|---|---|
| Отключите возможность вилки репозиториев. |
[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository)
Отключите изменение видимости репозитория. |
Ограничение на изменение видимости репозитория в организации
Ограничить создание репозитория частным или внутренним. |
Ограничение создания репозиториев в организации
Отключите удаление репозитория и передачу. |
Настройка разрешений для удаления или передачи репозиториев
| |
Отключите возможность использования ключ развертывания. |
Ограничение ключ развертывания в организации
| |
Обхват personal access tokenограничений до минимальных необходимых разрешений. | None
Обеспечьте защиту кода, преобразовав общедоступные репозитории в частные при необходимости. Вы можете автоматически уведомить владельцев репозиториев об этом изменении с помощью .GitHub App |
Prevent-Public-Reposion в GitHub Marketplace
Подтвердите удостоверение вашей организации, проверив домен и ограничив Уведомления по электронной почте только проверенным доменам электронной почты. |
Проверка или утверждение домена для вашей организации и Ограничение уведомлений по электронной почте для организации
Убедитесь, что ваша организация перешла на GitHub Соглашение о клиенте, а не использует стандартные условия обслуживания. |
Обновление до соглашения с клиентом GitHub
Запретить участникам делать случайные фиксации. |
Удаление конфиденциальных данных из репозитория
Обнаружение утечки данных
Как бы вы ни ужесточили вашу организацию для предотвращения утечек данных, некоторые из них всё равно могут произойти, и вы можете реагировать, используя secret scanningжурнал аудита и правила защиты филиалов.
Используйте secret scanning
Secret scanning помогает защитить код и сохранить секреты в разных организациях и репозиториях, сканируя и обнаруживая случайно схваткие секреты в полной истории Git каждого отделения репозиториев GitHub . Любые строки, совпадающие с паттернами , предоставленными партнёрами по секретному сканированию, другими провайдерами услуг или определёнными вами или вашей организацией, отображаются как оповещения во вкладке **«Безопасность** » репозиториев.
Существует два варианта secret scanning : Оповещения о сканировании секретов для партнеров и Уведомления о секретном сканировании для пользователей.
-
Оповещения о сканировании секретов для партнеров: Они включены по умолчанию и автоматически запускаются на всех публичных репозиториях и публичных NPM-пакетах. -
Уведомления о секретном сканировании для пользователей: Чтобы получить дополнительные возможности сканирования для вашей организации, необходимо включить Уведомления о секретном сканировании для пользователей.При включённом режиме Уведомления о секретном сканировании для пользователей можно обнаружить на следующих типах репозиториев:
- Публичные репозитории, принадлежащие организациям, которые используют GitHub Enterprise Cloud
- Частные и внутренние репозитории, если у вас есть лицензия на GitHub Code Security
Совет
Независимо от статуса secret scanning поддержки и защиты от push, организации могут GitHub TeamGitHub Enterprise запускать бесплатный отчёт для сканирования кода на предмет утечки секретов. См. О секретной безопасности на GitHub.
Дополнительные сведения см. в secret scanningразделе Сведения о проверке секретов.
Кроме того, secret scanning можно использовать для принудительной защиты репозитория или организации. При включении этой функции secret scanning запрещает участникам отправлять код с обнаруженным секретом. Для получения дополнительной информации см. [AUTOTITLE](/code-security/secret-scanning/protecting-pushes-with-secret-scanning). Наконец, вы также можете расширить обнаружение, чтобы включить пользовательские структуры строк секретов. Дополнительные сведения см. в разделе [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/custom-patterns/defining-custom-patterns-for-secret-scanning).
Просмотр журнала аудита для вашей организации
Вы также можете заранее защитить IP-адрес и обеспечить соответствие вашей организации, используя журнал аудита вашей организации, а также API журнала аудита GraphQL. Дополнительные сведения см. в разделе [AUTOTITLE и Просмотр журнала аудита для вашей организации](/graphql/reference/interfaces#auditentry).
Настройка правил защиты ветви
Чтобы убедиться, что все коды проверены перед объединением в ветвь по умолчанию, можно включить защиту ветви. Задав правила защиты ветви, вы можете применить определенные рабочие процессы или требования, прежде чем участник сможет отправить изменения. Дополнительные сведения см. в разделе Сведения о защищенных ветвях.
В качестве альтернативы правилам защиты ветви, можно создавать наборы правил. Наборы правил имеют несколько преимуществ по сравнению с правилами защиты branch защиты, такими как состояния и улучшенная возможность обнаружения, не требуя доступа администратора. Вы также можете применять несколько наборов правил одновременно. Дополнительные сведения см. в разделе Сведения о наборе правил.
Устранение утечек данных
Если пользователь отправляет конфиденциальные данные, попросите его удалить с помощью git filter-repo средства. Дополнительные сведения см. в разделе Удаление конфиденциальных данных из репозитория. Также, если чувствительные данные ещё не были отправлены, вы можете просто отменить эти изменения локально; для дополнительной информации см. the GitHub Blog (но обратите внимание, что это git revert не является допустимым способом отменить добавление конфиденциальных данных, так как он оставляет исходный чувствительный коммит в истории Git).
Если вы не можете напрямую связаться с владельцем репозитория, чтобы удалить данные, которые вы владеете, вы можете заполнить форму уведомления об отмене DMCA и сообщить GitHub Support. Обязательно включите хэши проблемных фиксаций. Дополнительные сведения см . в уведомлении об откате DMCA.
Примечание.
Если одна из репозиториев была снята из-за ложного утверждения, необходимо заполнить форму уведомления о счетчике DMCA и gitHub Support. Дополнительные сведения см . в уведомлении о счетчике DMCA.
Отмена предоставленных маркеров
Если учётные данные были обнаружены в GitHub репозитории, GitHubsecret scanning это можно использовать для отчёта и отзыва этих данных. Дополнительные сведения см. в разделе Разрешение оповещений от сканирования секретов.
Вы также можете отозвать открытые данные учетных данных, которые вам не принадлежат и которые были раскрыты вне GitHub репозиториев. Таким образом, вы способствуете общей безопасности GitHub сообщества и быстро снижаете влияние этих удостоверений. API поддерживает отзыв:
-
Personal access tokens (classic)с префиксом `ghp_` -
Fine-grained personal access tokensс префиксом `github_pat_` -
OAuth appжетоны с префиксом `gho_` -
GitHub Appтокены user-to-server с префиксом `ghu_` -
GitHub AppТокены обновления с префиксом `ghr_`
Если вы обнаружите открытые токены либо на GitHub месте, либо в другом месте, вы можете подать запрос на отзыв через REST API. См. отзыва для полного и авторитетного списка поддерживаемых типов учётных данных.
Дальнейшие шаги
-
[AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code) -
[AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds)