事关企业安全,DevOps被 “点名”了

在过去的几年中,企业安全威胁层出不穷,形势越来越严峻。黑客尝试破坏开发流程上游的依赖项和工程系统,类似的高级攻击会影响整个开发环境和软件供应链。比如,最近的一个例子发生在一家软件供应商,其开发人员工作流程和软件供应链被攻击,攻击者获得访问权限后,将新图像上传到扫描其软件供应链的数千个版本中,提取机密,并扩大漏洞。
由此看来,仅仅在 DevOps 工作流程上集成安全性是远远不够的,而应该加强和保护工作流程自身的安全性。问题来了——如何保护上游开发环境呢?

GitHub Codespaces

GitHub Codespaces 解决方案能够让开发人员在沙盒环境中与不受信任的代码进行安全交互,可在任何地方和任何设备上使用。管理用户权限、在正确的位置存储加密的信息、实施 GPG 验证,都因 GitHub Codespaces 而变得前所未有的简单和快速。开发团队可以在10秒内从零开始进入到正常运行的开发环境。开发人员可以为并行工作流分离出新的代码空间,而无需任何开销。在确保安全合规的同时,助力开发者生产力提升。

GitHub Actions

除了开发者的机器,企业还需要保护 DevOps 工作流程。GitHub Actions 可以帮助开发团队轻松创建安全和自动化的工作流程,以构建、测试、打包、发布和部署应用程序到 Azure 或其他云。Azure 提供了丰富的 GitHub Actions 集成,帮助开发者采用“一切皆代码”(“everything as-code”)的 DevOps 模型——合规和安全策略、构建和发布管道等都用代码形式编写,从而实现持续的改进、更好的重用性和更高的透明度。

前面提到了日益复杂的安全风险,而更复杂的是,开发团队必须在 GitHub 中存储 Azure 服务主体机密数据,既冗余又会增加被篡改的风险。近期,微软宣布了一系列预览版功能,使开发人员能够确保代码安全地被部署到Azure,而无需在 GitHub 中长时间存储凭据。

通过最新的 Azure 和 GitHub 集成从开发人员环境中删除凭据

一个加强抵御攻击的关键策略是:从开发环境中删除长期存在的 Azure 凭据——现在,使用 Azure AD工作负载联合身份验证功能,您可以从 GitHub repo 部署到 Azure,无需创建、存储或管理 Azure AD 应用程序的凭据。新功能减轻了在 GitHub 机密存储中管理 Azure 服务主体机密和其他长期存在的云凭据的需要。通过此集成,您可以在 Azure 中安全地管理所有云资源访问。这些功能还可以最大限度地减少由于 GitHub 中的凭据过期而导致服务停机的可能性。

事关企业安全,DevOps被 “点名”了_第1张图片

设置OpenID Connect(OIDC)与Azure AD和GitHub Actions的集成

完成此设置,您需要:

  • 具有服务主体的 Active Directory 应用程序,该服务主体对您的订阅具有贡献者访问权限
  • 一个配置了联合凭据的 Active Directory 应用程序,以信任 GitHub Actions 向您的 GitHub 存储库发布的tokens。您可以在 Azure 门户中或使用 Microsoft Graph REST API 进行配置
  • 一个 GitHub Actions 工作流,它向工作流请求 GitHub 发出tokens,并使用 azure/[email protected] 操作

介绍了这么多我们的解决方案,回到文章开头的问题,您是否有其他保护上游开发环境的方法呢?欢迎下方留言区与我们分享见解或提出您对本文的问题!也欢迎扫描下方二维码,了解更多DevSecOps

事关企业安全,DevOps被 “点名”了_第2张图片

了解更多DevSecOps

你可能感兴趣的:(devops)