敏捷和灵活是现代云原生技术的标志,它可以处理从构建到生产的复杂数字化转型计划。随着市场变化和疫情常态化,优化软件开发生命周期(SDLC)已逐渐成为公司密切关注的焦点,特别是管理 CI/CD 流水线和 SDLC 后期生产阶段的安全风险。
借助合适的云技术,开发团队能够与 DevOps 及安全运营团队一起安全地构建和测试应用程序的代码,并最终实现更高效运行,同时减少生产过程中的安全问题。
安全已成为市场差异化标志2020年,在已知漏洞中,90%涉及到Web 应用程序,这是黑客攻击的主要目标。而消费者则是最直接受害者,因为他们的个人身份信息(PII)正在被曝光并在暗网上出售。将安全代码更快地投入生产环境意味着更少的安全漏洞。同时用户隐私和安全对消费者来说十分重要,而企业以因提供更安全的服务给消费者能够获得更多青睐和收入。
恶意攻击者在对漏洞进行攻击时也在调整策略、技术和程序,其攻击速度比以往任何时候都要快,因此在没有 DevSecOps 技术以及 DevOps 流程和团队的情况下开发软件并不可取。而构建强大的 DevOps 基础,需要对团队成员、工具和组织架构投入精力和金钱。
CI/CD 流水线中的安全左移CI/CD 流水线是开发人员的必经之路。任何步骤的故障都会触发向对应开发人员发送的通知。
以下是 CI/CD 流水线中的三个基本阶段:
构建阶段在这个阶段,代码从源代码中获取并与其依赖项相结合。随后对代码进行编译以在生产服务器上部署最终的应用程序。容器镜像和 IaC 模板在本地进行扫描,或作为 CI/CD 工作流的一部分进行扫描。随后执行自动化测试来验证代码的真实性和质量。
部署阶段镜像仓库会受到持续监控,以确保应用程序镜像在部署之前是安全的,同时具有防护策略来阻止不安全部署。一旦源代码通过了所有测试,就会部署到各种环境中,如生产环境。
运行阶段通过环境警报和风险优先级与通知工具的集成,以此来监控生产环境中的风险。CI/CD 流水线加了严格的法规来保护个人身份信息。
在 DevOps 中使用 CI/CD 流水线让开发人员无需破坏代码就能够轻松识别缺陷和软件/应用程序质量问题。当“安全左移”概念被加入到 SLDC 时,CI/CD 流水线可以得到进一步强化。安全防护左移将 DevSecOps 原则和工具自动化作为动态集成应用,以在构建-测试-运行周期中强化安全。
安全左移嵌入 CI/CD 流水线的优势当安全左移嵌入到 CI/CD 流水线中时,企业可获得以下四个优势:
1. 提高应用程序的安全状况合适的云平台可以扫描容器镜像,并在 IaC 模板中帮助识别 SDLC 中的漏洞或错误配置。寻找能够为安全运营团队提供左移扫描结果的云安全功能,并深入了解生产环境,如果潜在的攻击路径与现有风险相结合,这些功能帮助DevOps 和开发团队高效解决问题。
2. 在 SDLC 早期预防安全风险在相比之下,早期的代码问题更容易修复,且修复成本更低。而当代码进入生产环境并出现问题时,修复成本极高。
3. 更早地将应用程序部署到生产环境安全不再是开发结束后才进行的工作。将安全更早地集成到 CI/CD 流水线中,能够避免在生产环境出现相关问题无法快速解决,而导致应用程序无法按时在生产环境中部署的情况。
4. 优化团队协作,加强安全管理通过将安全集成到 CI/CD 流水线中,并使开发人员和 DevOps 能够在使用与安全团队相同的平台的同时,能够自行进行扫描流程,团队能够很好地协作,各部门从开发到运行时能够主动管理安全风险。
通过安全左移强化多部门协作协作对于安全和开发团队至关重要。安全运营中心 (SOC) 团队可能需要接受云技术相关培训,而云团队则需要了解企业如何执行风险管理。
了解团队的角色和职责以及各团队履行的安全责任,对于管理安全风险至关重要。安全团队可以引导开发和 DevOps 团队如何充分执行威胁建模演习,同时在安全事件期间提供充分支持。安全团队也可以操作底层平台或库,为云工程团队提供支持(如 IAC 扫描功能、用于身份验证和监控的共享库)以及对工作负载结构进行支持(如安全服务网格)。
随着技术的发展,安全管理人员比以往任何时候都有更多的选择,通过专门构建的 SDLC 功能来推进云安全,而这些功能提供了从开发到运行时的环境可视性。这可以将跨职能团队聚集在一起,以统一工作流程和管理安全风险。