关于devsecops:DevSecOps-CICD-流水线安全的最佳实践

29次阅读

共计 1989 个字符,预计需要花费 5 分钟才能阅读完成。

上一篇文章咱们理解了 IAST 及其劣势、工具类型以及重要性。本期文章将为你介绍 CI/CD 流水线平安的最佳实际。

CI/CD 流水线是指由继续集成(Continuous Integration)和 / 或继续部署(Continuous Deployment)组成的一套自动化流程。CI/CD 流水线通常被 DevOps 团队应用,是次要通过自动化工具来构建、测试和部署代码的最无效办法之一。
 
利用 CI/CD 流水线,可能更好地促成软件构建和部署。因为胜利的 CI/CD 流水线须要继续合作和严格执行麻利和 DevOps 准则。
 
 

为何对于 DevSecOps 来说 CI/CD 流水线是重中之重?

DevSecOps 是一种用于开发、自动化和平台架构的程序化办法,它在 IT 生命周期的每个决策阶段中都优先思考安全性。
 
安全漏洞不仅让敏感数据面临危险,同时修复起来的老本也很高。在 2020 年,数据泄露的均匀老本达到 386 万美元。到 2021 年底,解决网络立功的老本达到近 6 万亿美元。90% 的 Web 应用程序被认为是不平安的,其中 86% 有数据泄露的危险。最重要的是,仅在 2020 年美国就产生了 1000 多起数据泄露事件,影响范畴超过 1.55 亿人。
 
平安俨然成为 DevOps 和麻利团队的首要任务,而 DevSecOps CI/CD 流水线在现有开发过程中嵌入了平安实际。
 
基于 DevSecOps 的流水线波及以下几点:

  • 在开发周期的晚期辨认平安问题(并尽可能解决这些问题),以减小独立执行与平安相干的测试和工作时产生的摩擦。
  • 在开发之前欠缺和整合平安相干的指标。在构建零碎时,将威逼建模纳入当中。同时置入 Linters 工具和动态剖析,以便在晚期就能打消一些可控问题。
  • 应用软件成分剖析(SCA)来验证开源依赖项是否具备标准、兼容的许可证,且无破绽。
  • 将代码推送到流水线时,应用动态应用程序平安测试(SAST)来定位问题,同时进行 SCA。将 SAST 工具整合到自动化流水线中,以便在每次提交新代码后可能及时扫描其可能存在的谬误和破绽。
  • 构建实现后充分利用平安集成测试。请在隔离容器中执行代码,以测试输出验证、网络调用和受权过程。
  • 转而测试访问控制和日志协定。这时请确保将拜访权限限度为相干用户子集,且软件每次都能够精确记录必要的平安和性能指标。
  • 配置平安测试以持续进行前期开发。主动进行修补和配置管理,以便软件能够拜访其所有依赖项的最新和最平安版本。
     

DevSecOps CI/CD 流水线将平安指标和措施融入每个阶段。通过利用自动化工具,它能够在不影响数据进攻和安全措施的状况下疾速交付产品。
 
 

CI/CD 流水线平安的最佳实际

为确保数据安全、开发过程牢靠,并充分利用 DevSecOps,请参考以下 CI/CD 流水线平安最佳实际:
 

1. 确认次要平安威逼

在开发之前,请确定正在开发的软件面临的次要平安威逼。明确可能须要其余安全性的节点,进行威逼建模并亲密关注安全更新和验证协定。
 
通常,流水线连贯到第三方工具 / 框架等任何点都容易受到威逼。请定期装置和更新平安修补程序,阻止所有不合乎平安基准的设施和连贯软件。
 

2. 施行严格的拜访参数

确保每个拜访流水线的集体都通过充沛身份验证。一次性明码和身份验证器等措施是必须的。
 
当波及到非人工拜访,即第三方自动化工具和框架所需的拜访时,评估机器身份也很重要。应用身份验证器验证容器的属性是否与以前指定给流水线的识别系统的属性匹配。在容器和虚拟机达到其目标后,须要及时清理和销毁。
 

3. 审慎提供拜访权限

始终把握哪些成员有权限拜访流水线哪些级别的性能。依据集体角色、拜访工夫或特定工作来辨别拜访级别,保护一个欠缺的拜访治理数据库,并确保依据拜访级别对信息进行分类。这是最无效的 CI/CD 平安最佳实际之一,可通过智能团队治理利用。
 
践行“最小特权”准则
最小权限要求仅授予对特定角色或工作所需的信息的拜访权限。换句话说,集体能够拜访限制性数据集和 CI/CD 流水线的一部分——与调配给他们实现的工作或指标所需的权限雷同。这种做法还应扩大到连贯的零碎、设施和应用程序,因为它们须要权限和不同的级别能力实现工作。确保定期考察和审查拜访的级别以强化最小权限,并放弃生态系统的平安。
 

4. 确保 Git 平安无虞

家喻户晓,Git 未然成为黑客和其余平安威逼的次要指标。我的项目中的每个开发人员和测试人员都须要通过全面的训练,以保障他们理解如何平安应用 Git、防止常见平安陷阱以及爱护 Git 上的代码。
 
利用 .gitignore件来防止意外提交生成的缓存文件和规范缓存文件。此外,能够施行并应用本地存储的平安备份存储库来作为备份机制的一部分。
 
 

论断

将 DevSecOps 整合到开发流水线中可能相当简单,尤其是对于刚接触该办法的团队而言。在后期,能够尝试将过程分为多个容易实现的小步骤,让团队相熟 DevSecOps 工具、准则和实际,从而扭转团队观点和集体思维形式。

正文完
 0