安全应该是组织中每个人的责任,但它在DevOps环境中越来越重要。漏洞或攻击可能在管道中的任何一点被发现,因此参与这个过程的每个人都应该至少有一些安全意识。然而,安全流程和团队通常与管道的其他部分隔离开来,导致开发人员和安全专家之间脱节,这意味着许多人发现理解和安全流程在技术上具有挑战性。
在这篇博客中,我们将探讨DevOps中存在的技能差距,以及安全指导计划如何帮助解决这个问题,并改善组织的安全基础设施。
开发运维团队的安全技能差距
日益复杂的安全监管和日益复杂的威胁环境也加剧了这一问题。没有经过适当安全培训的开发人员将很难将这些挑战考虑到他们的代码中,而IT团队和安全专家则面临着团队增加的工作量和压力。 这种技能差距在DevOps中并不是什么新鲜事,直到最近几年,人们对DevOps环境中安全问题的态度才发生了变化。向安全的持续“左移”正在形成吸引力,越来越多的组织正在采用综合的安全方法,Gartner预测,DevSecOps实践将嵌入85%的产品开发团队——比2022年的30%有显著增长。
然而,DevOps环境中的技能差距为希望过渡到DevSecOps的组织带来了额外的挑战,在DevSecOps中,安全已高度集成到产品开发中,开发人员承担同等的责任。好消息是,通过解决开发和安全之间的知识鸿沟,组织需要采取的许多行动也将极大地改善他们的安全基础设施,并解决许多其他安全挑战。
引入安全培训计划
在向DevSecOps环境过渡时,安全指导计划是解决技能差距的有效方法,因为它直接使开发人员参与安全流程和最佳实践,并招募对安全感兴趣的人员担任其团队的安全大使。
安全教练与DevOps环境中的IT团队合作,为安全创建目标,并为开发团队提供指导。通过这种方式,开发人员可以增强对如何从管道内部开发有效的安全结构的认识和理解,同时跟上新出现的威胁和漏洞,并简化安全管理。它通过建立协作文化在开发团队中建立信心,同时嵌入安全性应该被优先考虑并且是每个人的责任的理解。
以下是实施有效安全指导计划的三种方法。
1. 综合安全规划
在过渡到DevSecOps进程时,一个良好的安全姿态应从一开始就开始。DevOps环境在持续集成/持续使用(CI/CD)流水线上运行,支持敏捷测试和快速部署,并且通常在终端标记安全流程。DevSecOps环境除了将安全性集成到整个工作流程之外,其运作方式几乎相同。
这种转换可能会给开发人员的工作量增加一些压力,但可以通过安全指导计划来补救。DevSecOps环境可以通过采用一种综合的安全方法来支持引入安全教练计划。组织应该从一开始就把这一点考虑到他们的计划中,以创造一个协作的环境:
- 审核和规划:这应该在产品开发的规划阶段进行,包括对DevOps流程和组织内关键需求的评估。在这里,管理层应该优先考虑要解决的关键组件,包括法规遵从性、详细描述潜在漏洞的威胁模型评估,以及开发人员的安全培训需求。这为IT团队提供了开始培训安全教练所需的数据。
- 引入框架:利用从安全审计中获取的信息,组织应该创建一个安全框架,当发现漏洞或威胁时可以遵循该框架,并且在零日漏洞发生时可以成为特别重要的资源。
- 从一开始就让开发人员参与进来:开发人员、IT团队和安全专家必须从一开始就参与到计划中。当安全专家与组织一起开发框架时,让开发人员参与到过程中,可以让他们参与并建立对安全的重要理解,然后将其纳入开发流程中。这也将创造一个早期的机会来发现对安全有浓厚兴趣和知识的开发人员,以招募到教练计划中。
- 创建目标:为新招募的教练创建目标将使IT和开发团队在处理软件中潜在的安全漏洞时保持一致,并在出现漏洞修复时响应时间。在处理安全问题时,每个人都要参与其中,所以当这些问题出现时,每个团队进行协调是至关重要的。
2. 教育和赋权
安全教练还扮演着开发人员安全教育大使的角色。确保开发人员和他们的安全教练接受高水平的教育和定期培训,不仅可以帮助他们发现和解决漏洞,它还是一种赋权工具,允许每个团队成员在问题出现时快速有效地响应问题,而不是让他们在管道中走得更远。以这种方式授权开发人员还可以建立信任,进一步促进团队之间的强大沟通,将协作固化为管道的一个宝贵组件。通过使用辅导计划授权开发人员的步骤应该包括以下内容:
- 灌输一种基于信任的协作文化:安全培训项目依赖于开发人员被授权识别和应对管道中任何地方发现的漏洞。安全教练将充当IT团队和开发人员之间协作的门户,开发人员可能是漏洞的第一个接触点,但有专家协助评估和响应,包括使用漏洞数据更新软件。在开发人员和专家之间建立这种协作关系依赖于两个团队之间的信任,这种信任可以通过一个工作流程来创建,该工作流程概述了开发人员在出现漏洞时应该如何响应,以及发生事故时第一个调用的端口应该是谁。确保开发人员在这个过程中得到专家的指导,并且两个团队的意见是一致的,这将使开发人员能够自信地对事件做出反应。
- 持续培训:招聘对安全有浓厚兴趣和一定了解的开发人员只是等式的一部分。没有参与项目的开发人员也应该接受持续的培训,由安全教练进行指导和重申,包括公开讨论开发人员可能存在的问题,并提供机会来解决向DevSecOps环境过渡过程中可能出现的新职责所带来的压力。
- 基于奖励的反馈有效性:同时,安全教练本身也需要安全专家的指导;这可以通过向安全教练提供与职业一致的奖励来实现。这可以包括在安全特定会议上提供培训日,认证赞助,在他们的角色中承担更大的责任,以及在问题得到有效管理时简单地交流积极反馈,无论是对个人还是对更广泛的企业。
3. 自动化:弥合DevSecOps技能差距的重要部分
当组织过渡到DevSecOps实践时,自动化是解决技能差距的有效工具,减轻开发人员获得新技能和新职责时的痛苦。在工作流程的早期规划和创建阶段,自动化证书管理平台可以减少生产开始前的压力。通过减少证书管理带来的压力,资源可以集中在进一步增强安全性上。
同时,随着安全教练的招聘和开发人员的新技能培训,DevSecOps环境的自动化元素将有助于减少学习差距,因为许多安全过程可以监督,而不需要复杂的人工干预。自动化工具提供了DevSecOps环境中实现的证书的可扩展性和集中可见性,确保当涉及到安全时,每个人都在同一页面上,并可以在学习和管理新技能的同时快速反应。
随着安全教练和开发人员提高他们的专业知识,自动化工具不是一个短期的解决方案,它也是一个长期的解决方案,通常可以提高整体安全基础设施和效率。通过使用自动化工具、协议和集成来帮助更有效地管理证书,可以帮助在工具链的每个阶段保护机密、密钥和资产,而很少需要人工干预。自动化工具还通过确保证书的有效性、保护数据以及在管道中出现低于行业标准的情况时设置通知和警报系统,使DevSecOps环境与标准保持一致。
自动化与安全指导计划一起工作,而IT团队则在开发人员知识差距和授权方面开发更直接的问题。自动化工具还促进了业务中的沟通,因为其中许多工具是集中式的,并在DevSecOps环境中提供了一个标准化元素。漏洞或过时证书的警报还允许开发人员和IT团队快速协作修复问题。
单独的安全培训计划仍然可以帮助解决DevSecOps中技能差距造成的问题,但管道和成功的产品开发取决于效率、无缝集成和协作以及快速输出。仅使用人工资源很难解决这些挑战。自动化工具可以帮助更快地缩小这一差距,同时创建有效的安全工作流程,并允许安全教练专注于其团队的成长和发展。
今天就自动化并缩小差距
通过拥抱自动化提供的潜力,它不应该给你的盘子增加复杂性。通过与GlobalSign合作,我们可以指导您的每一步,以发现您需要哪些自动化工具来帮助您获得实时可见性,提高效率并随着组织的发展提供可扩展性。
Gartner,实现DevOps安全的3个基本步骤2023年3月1日,Daniel Betts等人。 GARTNER是GARTNER, Inc.和/或其附属公司在美国和国际上的注册商标和服务标志,在获得许可的情况下使用。版权所有。