DevSecOps –10项最佳安全实践

我们知道,DevOps 涉及开发和运维团队,但是组织如果想要充分发挥出 DevOps的敏捷性,就必须将IT安全防护融入到应用的整个生命周期中 。

为什么呢?从前,安全防护只是特定团队的责任,通常在开发的最后阶段才会介入。当开发周期长达数月、甚至数年时,这样做没什么问题。但是现在,这种做法现在已经行不通了。采用DevOps可以有效推进快速频繁的开发周期(有时全程只有数周或数天),但是过时的安全措施则可能会拖累整个流程,即使最高效的 DevOps 计划也可能会放慢速度。

如今,使用DevOps进行软件开发时,就需要采取新策略在开发中嵌入安全,以确保软件不容易受到黑客或恶意用户的各种攻击。因此, 催生出了“DevSecOps”一词 。

DevSecOps –填补IT与安全之间的空白!

DevSecOps –弥合IT与安全之间的差距

DevSecOps是开发人员,安全人员和运维人员的并行活动, 意味着从一开始就要考虑应用和基础架构的安全性,同时还要让某些安全网关实现自动化,来提高DevOps工作流程的速度,从而最大程度地减少软件漏洞,并使安全性更接近IT和业务目标,以确保顺利且安全的部署和开发过程。

使用适当的DevSecOps工具和流程,可以顺将安全性集成到DevOps框架中。

DevSecOps方法的6个重要组成部分

  1. 分析代码中是否有任何可能的漏洞和错误,以便可以快速修复它们。
  2. 要求所有从事该软件项目的人员做出改变–重视安全,以提高效率。
  3. 对软件全生命周期,并长期地监视。
  4. 识别代码更新中出现的潜在威胁,并能够快速做出响应。
  5. 分析代码中的新部分来识别和评估新漏洞,并修复它们。
  6. 对团队进行培训,使得团队成员能够分析定位常见漏洞的原因,并修复它们。

实施DevSecOps的10种方法

实施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环境发生变化,应用程序能够被修改来适应基础环境的变化。

译文链接: https://dzone.com/articles/devsecops-incorporating-the-10-best-security-pract

K8S中文社区微信公众号

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址