众所周知,DevOps不仅仅是开发和运维团队。而想要充分发挥DevOps的敏捷性和响应性,就必须将IT安全防护融入到应用的整个生命周期中。为什么?以前,安全是特定团队的责任,在开发的最后阶段介入。当开发周期为数月甚至数年时,这很好;但是现在,它不再起作用了。采用DevOps可以有效促进快速和频繁的开发周期(有时都在几周或几天内),但过时的安全措施会减慢整个过程,甚至会拖慢最高效的DevOps计划。如今,在DevOps协作框架下,安全防护是整个IT团队的共同职责,需要贯穿于整个生命周期的每一个环节。这个想法非常重要,以至于诞生了术语“DevSecOps”,强调DevOps程序需要坚实的安全基础。DevSecOps意味着从一开始就考虑应用程序和基础架构的安全性;同时还使某些安全网关自动化,以防止DevOps工作流程变慢。选择合适的持续安全集成工具,例如在集成开发环境(IDE)中集成安全功能,可以帮助实现这些目标。但有效的DevOps安全性需要的不仅仅是新工具。它需要整个公司的DevOps文化变革,以尽早整合安全团队。从DevOps到DevSecOps内置安全性无论您习惯称其为“DevOps”还是“DevSecOps”,最好确保安全性内置于软件的整个生命周期中。DevSecOps是关于内置的安全保护,而不仅仅是在应用程序和数据级别。如果您将安全性留到开发过程结束时,即使采用DevOps方法,您也会回到最初每个人都希望避免的漫长开发周期。DevSecOps强调在DevOps计划刚刚启动时,必须邀请安全团队来确保信息安全,并制定自动安全保护计划以实现持续的IT保护。它还强调帮助开发人员确保代码级别的安全性;在这个过程中,安全团队需要共享全球信息,提供反馈,并对已知威胁进行智能分析。由于DevSecOps并不总是关注更传统的应用程序开发模型,这可能还包括对开发人员的新安全培训。那么,什么才是真正的集成安全?对于初学者来说,一个好的DevSecOps策略应该确定风险承受能力并进行风险/收益分析。您在给定的应用程序中需要多少安全控制?不同应用的上市速度有多重要?由于在管道中运行手动安全检查可能非常耗时,因此自动化重复性任务是DevSecOps的关键所在。DevOps安全防护自动化企业实施DevOps需要:确保采用短、高频的开发周期;采取安全措施,尽量减少运维中断时间;及时应用容器、微服务等创新技术;让以前孤立的团队能够协同工作——所有这一切对任何企业来说都是一项艰巨的任务。以上措施均以人为本,需要企业内部协作;然而,自动化是在DevSecOps框架内实现这些人员转型的关键。那么,企业应该在哪些方面实现自动化呢?他们应该怎么做?企业应该退一步,站在全局的角度来看待整个开发运维环境。其中包括:源代码控制存储库;集装箱登记处;持续集成和持续部署(CI/CD)管道;应用程序编程接口(API)管理、编排和发布自动化;以及运营管理和监控。新的自动化技术帮助企业应用更敏捷的开发实践,并且在促进新的安全措施方面也发挥了重要作用。但自动化并不是近年来IT发生的唯一变化。容器和微服务等云原生技术现在也是大多数DevOps计划中非常重要的组成部分。因此,企业必须及时调整DevOps安全措施。容器和微服务的DevOps安全容器支持更大的规模和更灵活的基础设施,改变了许多组织开展业务的方式。因此,DevOps安全实践必须适应新环境并遵循容器特定的安全准则。云原生技术不适合执行静态安全策略和清单。相反,组织必须确保应用程序和基础架构生命周期的每个阶段都集成了持续的安全保护。(图:针对环境和数据安全保护和CI/CD流程安全保护)DevSecOps意味着安全保护必须贯穿应用开发的全过程。为了实现与管道的集成,我们需要一种新的思维方式和适当的新工具。因此,DevOps团队应该自动化安全保护措施以保护整体环境和数据,同时实施持续集成/持续交付流程——并可能保护容器中的微服务。
