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