在过来十年里咱们见证了越来越多的企业开始或曾经采纳云技术,这也意味着云平安的重要性也越来越高。当谈及平安威逼,McKinsey 的一篇文章表明,云上大多数破绽都是因为配置谬误导致而非内部攻打造成底层云基础设施损坏。因而,从开发初期就领有正确平安配置比构建一个平安独立的零碎更靠谱、更无效。而实现这的最好形式就是平安即代码(Security as Code)。
什么是平安即代码(SaC)
平安即代码(SaC)就是在软件开发的晚期阶段将平安融入 DevOps 工具中,使其成为工作流程的重要组成部分。这可能帮忙开发人员更早辨认代码中易受攻击的局部,并引入相应的安全措施来躲避相应平安危险。因为平安即代码在开发工作开始时曾经在流程中发挥作用,因而企业无需将开发和平安拆散,这也有助于企业进步开发效率。因为将平安融入到开发过程中,从而产生了 DevSecOps。
SaC 与继续交付
继续交付(Continuous Delivery)是在短时间内将所有对软件所做的更改交付给用户的能力。因而,将平安嵌入此过程是十分必要的。施行 SaC 有很多益处,次要体现在以下三个方面:
- 高效: SaC 通过打消人工干预造成的问题改良了软件开发过程,它进一步放慢了流程,因为平安已嵌入开发过程中,实现了无缝的平安工作流程。
- 升高危险: 因为软件开发是一个宽泛的过程,因而安全控制是整个软件开发生命周期 (SLDC) 要思考的一个非常重要且相当艰难的问题。这就是为什么通过 SaC 将平安嵌入开发阶段能够升高泄露危险的起因。
- 业务反对: 云架构是大多数企业及其经营的外围。良好的云平安是减速软件和部署过程的外围。这就是 SaC 的用武之地,它能够帮忙企业在不影响安全性的状况下无效地将其应用程序推向市场。
为什么 SaC 对 DevSecOps 很重要
SaC 的目标是为了让平安人员和开发人员达成同频共识。开发人员可能在开发过程中展现开发后果,同时也容许他们在开发过程中纠正问题,这种交换有助于造成一个继续的反馈循环。
通过 SaC,开发人员能够在平安和低影响故障的环境中测试所有新的代码,还能够将自动化平安扫描和测试集成在开发过程中,以便前期在所有我的项目中重复使用。通过将平安扫描集成到开发人员现有的工具和流程中,把平安注入开发过程,可能无效升高部署工夫且保障开发过程不会中断。此外,SaC 还可能帮忙开发人员辨认破绽。须要留神的是,开发人员须要承受相应的平安培训和教育才可能在发现破绽后进行相应的修复工作。
SaC 的 7 个因素
DevOps 的指标是在不影响安全性的状况下尽快实现利用程序开发并交付,而通过 DevSecOps 将平安嵌入流程中能帮忙实现平安开发高效交付。让咱们看看在施行 SaC 时要留神的 7 个因素。
1. 定义平安要求
在开发开始时有预约义的平安要求(predefined security requirements)非常重要。比方 OWASP(Open Web Application Security Project)被动管制这样的平安模型应该在开发阶段施行,开发人员就能在开发过程中有标准的平安实际进行参照。
2. 查看代码依赖
在开发和构建应用程序时,代码之间必然会有盘根错节的依赖关系。依赖关系图(dependency graph)可能帮忙开发人员深刻理解代码库的每个局部,以及不同组件如何协同工作,帮忙开发人员更好地辨认和修复相应问题。
3. 为代码抉择正确的平安工具
将平安工具集成到 SLDC 时须要思考两个问题:平安工具集成到开发流水线的难易水平是怎么的?这些工具如何能最好地帮忙开发和平安团队无缝合作?平安工具的集成和性能必须是自动化的,这样开发人员就不须要破费额定的工夫来启动扫描并验证其发现。平安工具还必须提供速度和准确性,确保不会呈现误报。最初,平安工具应该可能实时辨认、修复和进攻破绽,同时也可能解决开源中的危险。
4. 建设 DevSecOps 文化
因为开发和平安都是业务驱动,因而单方必须在建设和保护 DevSecOps 文化的同时承当独特的责任。建设良好的 DevSecOps 文化最重要的局部是相互尊重。平安和开发必须尊重彼此的工作,并群策群力无缝工作。平安工具必须也是开发工具,并应依据必要的目标和要求进行集成。
5. 自动化平安测试
在开发期间的任何平安测试须要自动化,以匹配快节奏的 DevOps 环境。因为开发过程中一直有新的代码注入,安全控制十分必要,因而应用自动化平安测试工具在整个 SDLC 中不可或缺。这样有助于提供主动平安剖析,帮忙开发人员优先思考首先修复哪些代码问题。
6. 进行威逼建模
威逼建模是一个能够辨认平安要求和威逼的过程。它有助于掂量应答威逼所需的平安工作,并确定相应补救措施的优先级程序。威逼建模通过辨认利用程序设计中的缺点来增强组织的平安架构,它有助于评估新的攻打模式。因而,在开发过程开始之前进行威逼建模是要害的。
7. 定期检查代码平安实际
企业的平安框架不仅有助于安全策略的施行,还有助于制订定期评估会议,以测试所施行策略是否无效。定期审查 SaC 实际,来理解其是否运作良好以及是否须要进行更改。