|
实施 DevSecOps 的 10 项方法,看完这篇就够了
我们知道,DevOps 涉及开发和运维团队,但是想要充分发挥出 DevOps的敏捷性,就必须将IT安全防护融入到应用的整个生命周期。
为什么呢?从前,安全防护只是特定团队的责任,通常在开发的最后阶段才会介入。当开发周期长达数月、甚至数年时,这样做没什么问题。但是现在,这种做法现在已经行不通了。采用DevOps可以有效推进快速频繁的开发周期(有时全程只有数周或数天),但是过时的安全措施则可能会拖累整个流程,即使最高效的 DevOps 计划也可能会放慢速度。
DevSecOps – 填补IT与安全之间的空白
DevSecOps 是开发、安全和运维人员的并行活动, 意味着从一开始就要考虑应用和基础架构的安全性,同时还要让某些安全网关实现自动化,来提高 DevOps 工作流程的速度,从而最大程度地减少软件漏洞,并使安全性更接近IT业务目标,以确保顺利且安全的部署和开发过程。
DevSecOps 方法的 6 个重要组成部分 1. 分析代码中是否有任何可能的漏洞和错误,以便可以快速修复它们。 2. 要求所有从事该软件项目的人员做出改变 – 重视安全,以提高效率。 3. 对软件全生命周期,并长期地监视。 4. 识别代码更新中出现的潜在威胁,并能够快速做出响应。 5. 分析新的代码来识别和评估新漏洞,并修复它们。 6. 对团队进行培训,使团队成员能够分析定位常见漏洞,并修复它们。
实施 DevSecOps 的10种方法 1. 制定详细计划(Planning):需要制定整个应用程序的详细计划,并据此计划展开行动。计划应包含功能和非功能需求,要有代码的测 试标准,梳理出常见的威胁。 2. 开发(Developing):使用成熟的实践经验进行开发,并考虑与安全措施的兼容。 3. 采用自动化构建工具(Building):自动化构建工具,是采用基于测试驱动的方法进行开发,该工具通过实施质量标准将最佳安全实践 用于静态代码分析。 4. 代码测试(Testing):DevSecOps应专注于在每个代码块上运行所有类型的测试。测试应该由单元测试,API测试,数据库测试,安全 测试,后端测试以及UI测试组成。 5. 解决威胁(Securing):DevSecOps 是开发人员,安全人员和运维人员的并行活动,因此要做的就是检查潜在的漏洞,看看它们是否对 应用程序和数据构成了重大威胁,并及时处理修复。 6. 应用程序的部署(Deploying): 使用自动化工具可以加速应用程序的部署,部署前要检查云环境中的兼容性,并检查环境中是否有任 何威胁。 7. 运维(Operating):应当定期进行维护和升级,不断检查新漏洞并定期进行应用更新,保证所使用的组件都是稳定可靠的安全版本。 8. 监视(Monitoring):部署后,实时监视应用程序及其数据至关重要,时刻检查他们的性能。如果发现任何问题,请立即修复它们。 9. 可扩展性(Scaling):通过云服务扩展基础架构不应损害应用程序的功能,性能和安全性。扩展后应用程序要能更为健壮地提供服务。 10. 适应性(Adapting):当 DevSecOps 环境发生变化,应用程序能够被修改来适应基础环境的变化。(DevOps时代)
|