Skip to main content

第 2 阶段:准备大规模启用

在此阶段,你将准备开发人员并收集有关存储库的数据,以确保你的团队准备就绪,并且你拥有试点计划和推出code scanningsecret scanning所需的一切。

提示

本文是大规模采用 GitHub Advanced Security 的系列文章的一部分。 有关本系列的上一篇文章,请参阅“第 1 阶段:协调你的上线策略和目标”。

准备启用 code scanning

          Code scanning 是一项功能,可用于分析 GitHub 仓库中的代码,以查找安全漏洞和编码错误。 分析标识的任何问题都显示在存储库中。 有关详细信息,请参阅 [AUTOTITLE](/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning)。

在数百个存储库中部署 code scanning 可能会很有挑战性,尤其是在效率低下的情况下。 遵循这些步骤将确保推出既高效又成功。

          Code scanning 也可用于没有 prodname_GH_code_security 许可证的 GitHub.com 所有公共存储库。

为code scanning做好团队准备

首先,准备团队使用 code scanning。 使用 code scanning 的团队越多,就会有越多的数据来支持修正计划并监控推出进度。

关于code scanning的介绍,请参阅: * 关于代码扫描 * 关于代码扫描警报 * 访问存储库的代码扫描警报

您的核心重点应是准备尽可能多的团队来使用 code scanning。 你还可以鼓励团队适当修正,但我们建议在此阶段优先考虑启用和使用 code scanning,而不是修复问题。

准备启用 secret scanning

注意

在已启用 secret scanning的存储库中检测到机密时, GitHub 会向有权访问存储库安全警报的所有用户发出警报。

在 合作伙伴的机密扫描警报 公共存储库中找到的机密将直接报告给合作伙伴,而无需创建 GitHub警报。 有关支持的合作伙伴模式的详细信息,请参阅 支持的机密扫描模式

如果项目与外部服务通信,它可能使用令牌或私钥进行身份验证。 如果将密码检入仓库,则对仓库具有读取权限的任何人都可以使用该密码以您的权限访问外部服务。 Secret scanning 将在存储库中 GitHub 存在的所有分支上扫描整个 Git 历史记录,以获取机密,并提醒你或阻止包含机密的推送。 有关详细信息,请参阅“关于机密扫描”。

          合作伙伴的机密扫描警报 在公共存储库和公共 npm 包上自动运行,以通知服务提供商有关 GitHub泄露机密的信息。

          用户机密扫描警报 可在所有公共存储库上免费获取。

启用时的注意事项 secret scanning

          secret scanning在组织级别启用可能很简单,但单击组织级别的“**全部启用**”并选择“**自动为每个新存储库启用secret scanning**”选项会产生一些下游影响,你应该注意:

许可证使用情况

为所有存储库启用secret scanning将最大化对GitHub Secret Protection许可证的使用。 如果有足够的许可证供所有这些存储库的当前提交者使用,这是可以的。 如果未来几个月活动开发人员的数量可能会增加,您可能会超出许可证的限制,然后无法在新创建的 secret scanning 存储库上使用。

最初检测到的大量机密

如果要在大型组织中启用 secret scanning ,请准备好查看找到的大量机密。 有时这会让组织感到震惊,并触发警报。 如果您希望在所有存储库中同时启用 secret scanning,请规划如何在整个组织中处理多个警报。

          Secret scanning 可针对单个存储库启用。 有关详细信息,请参阅“[AUTOTITLE](/code-security/secret-scanning/enabling-secret-scanning-features/enabling-secret-scanning-for-your-repository)”。 
          Secret scanning 也可以为组织中的所有存储库启用,如上所述。 有关启用所有存储库的详细信息,请参阅“[AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)”。

自定义样式 secret scanning

          Secret scanning检测大量默认模式,但也可以配置为检测自定义模式,例如您基础设施特有的机密格式,或由集成商使用但GitHub的secret scanning目前未检测到的机密格式。 有关合作伙伴模式支持的密钥的更多信息,请参阅“[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns)”。

审核存储库并与安全和开发人员团队交谈时,请生成稍后将用于配置自定义模式的 secret scanning机密类型列表。 有关详细信息,请参阅“为机密扫描定义自定义模式”。

推送保护 secret scanning

对组织和存储库的推送保护要求 secret scanning 在将支持的机密提交到代码库 之前 检查这些推送。 有关支持的机密类型,请参阅 支持的机密扫描模式

如果在推送中检测到机密,则该推送将被阻止。 Secret scanning 列出它检测到的任何机密,以便作者可以查看机密并删除机密,或者根据需要允许推送这些机密。 Secret scanning 还能检测推送中的自定义模式。

开发人员可以选择通过报告机密是误报、已在测试中使用或稍后修复来绕过推送保护。

当贡献者绕过推送保护限制时,GitHub:

  • 在存储库、组织和企业的 “安全 ”选项卡中创建警报
  • 将绕过事件添加到审核日志
  • 向正在监视存储库的个人帐户、组织与企业所有者、安全经理和存储库管理员发送电子邮件警报,邮件中包含隐私信息的链接及其允许的原因。

在启用推送保护之前,请考虑是否需要为开发团队创建有关绕过推送保护的可接受条件的指南。 可以在开发人员尝试推送被阻止的机密时显示的消息中配置指向此资源的链接。

接下来,请熟悉用于管理和监控因用户绕过推送保护机制而产生的警报的不同选项。

有关详细信息,请参阅“关于推送保护”。

后续步骤

有关本系列的下一篇文章,请参阅“第 3 阶段:试点计划”。