最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • DevSecOps贯穿在DevOps流程的各个阶段(图)破解这一困局

    如果实施得当,DevOps 可以为各种组织带来巨大的回报,例如改进团队之间的协作、加快上市时间、提高整体效率和提高客户满意度等等。但是,如果不真正考虑安全和保障,上述积极因素都不能真正转化为好处。忽略安全问题,所有使用 DevOps 改进工作流程的努力都将是徒劳的。DevSecOps 有望解决这一难题。

    在本文中,我们将了解各种 DevSecOps 实施步骤和常见陷阱。

    在 DevOps 出现之前,组织仅在软件开发生命周期 (SDLC) 的最后阶段对产品进行安全检查。由于重点主要在应用开发环节,相当于变相认为安全性不如其他环节重要。到工程师执行安全检查时,产品的大部分开发过程已经结束,因此即使发现安全漏洞也意味着必须重写无数行代码——这是一项费力且耗时的任务。正因为如此,公司通常会选择尽可能修复,或者尽可能延迟。换句话说,安全已经成为“安慰剂”,而不是真正值得大力推动和投资的重要工作。

    在过去的十年中,IT 基础架构发生了巨大的变化。但大多数安全和合规监控工具并未同步更新。最终结果是大多数工具无法根据典型的 DevOps 要求快速测试代码。

    此外,网络犯罪攻击正在以惊人的速度扩大。Juniper Research 发布的一份报告预测,随着越来越多的业务基础设施相互连接,2020 年单次数据泄露的平均成本将超过 1. 5 亿美元。

    很明显,实施 DevSecOps 将产生立竿见影的积极影响,成为我们抵御潜在攻击挑战的坚实盾牌。

    安全贯穿 DevOps 流程的所有阶段

    “快速交付代码并确保其安全”听起来像是矛盾的要求。但 DevSecOps 表示它不相信这种邪恶。

    DevSecOps 是一种从“安全生产,人人有责”的立场出发的 IT 安全方法。它需要将安全实践整合到 DevOps 管道中,以期在所有软件开发工作中实现安全的全面渗透。但这种全流程保护方法显然与仅在软件开发生命周期的最后阶段关注安全性的传统方法相冲突。

    如果企业已经在使用 DevOps 向前发展,那么考虑转向 DevSecOps 无疑是一个好主意。DevSecOps 的核心与 DevOps 原则高度一致,因此转换工作并不是特别困难。通过转型,企业可以汇集不同学科的技术人员,全面提升现有的安全流程。

    关于 DevSecOps 的常见误区

    DevSecOps 中也有许多神话。例如,“我们需要‘超级开发者’来实施 DevSecOps”。但事实上,并非如此。DevSecOps 的实现不需要那种“超级英雄”级别的开发人员。只要配合适当的技术和概念培训,充分引导员工关注DevSecOps,每个人都可以成为这波潮流的引领者。而 DevSecOps 一直强调打破功能孤岛,因此开发团队应该招募不同技能的人,为他们提供 DevSecOps 流程和方法的培训课程,最终匹配整个产品交付管道。所以,你只需要发展你现有的团队,你不需要雇佣一个全新的独立军团。

    另一个常见的误解是“DevSecOps 可以取代敏捷”。事实上,DevSecOps 只是对敏捷的补充,但它本身并不能替代敏捷。两者必须共存,以确保公司最大限度地提高其商业利益。敏捷强调促进协作和持续反馈,但与 DevSecOps 不同,敏捷不涉及软件测试、质量保证 (QA) 和生产。DevSecOps 需要借助敏捷的力量全面增强现有业务流程。

    第三个迷思是,“只要付费就可以实现 DevSecOps”。并不真地。我们只能购买流程工具,例如发布管理和 CI/CD,但我们不能直接购买整个 DevSecOps 流程。DevSecOps 代表一种哲学和方法论。真正对业务有直接影响的东西,也就是团队之间的高效协作和团队成员的责任感,是不能直接买到的。

    随着越来越多的企业意识到 DevSecOps 的重要性,DevSecOps 工程师也越来越受到人才市场的追捧。那么李健小悟空^^^编写高质量代码:改善c++程序的150个建议,优秀工程师的特点是什么?DevSecOps 工程师角色本身,必须具备一些互补的技能,例如对核心 DevOps 原则、实践和文化倾向的深刻理解。考生还应精通Python、Java、Ruby等语言。此外,优秀的 DevSecOps 工程师应该能够轻松访问 Chef、Puppet、Checkmarx 和 ThreatModeler 等程序。

    此外,DevSecOps 专业人员需要了解风险评估和威胁建模技术的复杂性,了解最新的网络安全威胁、现代最佳实践和其他相关软件。工作经验方面,当然最好有 DevSecOps 经验。但纯粹的 IT 安全(没有 DevOps)经验足以支撑 DevSecOps 工程师敏锐的安全意识。

    DevSecOps 最佳实践

    这些因素在 DevSecOps 的规划和实施中发挥着重要作用:

    首先,安全编码实践。安全编码的意义在于开发对安全漏洞具有高度抵抗力的软件。不安全的编码实践可能会导致各种软件安全风险,例如泄露公司组织内的机密信息。所以,最重要的是要保证开发者有足够的技能储备,在时间和成本投入上积极支持。此外,企业应建立并遵循编码标准,以帮助开发人员编写更多高质量的代码。

    第二,拥抱自动化。自动化在 DevSecOps 中与在 DevOps 中一样重要。为了使安全保障的速度与 CI/CD 环境中代码交付的速度相匹配,安全性也必须迈向自动化的新时代。如果没有这个前提,大型企业组织根本无法有效保护开发人员每天提交的大量代码版本。

    当涉及到自动化安全测试时,我们必须考虑一切。为错误的目的选择错误的自动化工具会造成很大的伤害。静态应用程序安全测试 (SAST) 工具如今广泛用于开发周期早期的持续检测和问题识别。只有选择合适的安全自动化工具与实际需求相匹配,才能真正有效保障产品的顺利交付。

    三、左移法。左移测试方法的核心是在周期开始时将安全性构建到应用程序中,而不是等待交付链的最后阶段到达。这种方法的主要优点是加快识别潜在漏洞并立即解决它们。虽然这种方法本身有很多优点,但也带来了很多隐患。左移方法的一个常见挑战是它会暂时中断现有的 DevOps 工作流程。这确实是一个问题,但如果企业下定决心采用 DevSecOps,那么从长远来看,左手方法仍然是不可或缺的最佳实践。

    编写高质量代码改善java程序的151个建议_李健小悟空^^^编写高质量代码:改善c++程序的150个建议_陆敏技编写高质量代码:改善c#程序的157个建议

    第四,人、过程和技术。在 DevSecOps 的成功实施中,人、流程和技术可谓是三位一体,缺一不可。即使其他条件完美,如果员工对文化创新不感兴趣,也谈不上成熟有效的 DevSecOps 环境。虽然很难说服高层管理团队接受这样的重大转变,但由于安全状况不佳而频繁发生重大数据泄露事件应该引起高度关注。所以除了安全专家的指导外,尽可能多地培养安全倡导者对于 DevSecOps 的良好运作也至关重要。

    任何流程都包含多个环节,其中最重要的当然是工作流标准化和文档化。一般来说,组织内的各个团队需要执行不同的流程,而 DevSecOps 则需要团队就统一的流程达成一致,并通过协作执行来加强开发周期中的安全级别。同时,技术可以帮助人们高效地执行 DevSecOps 流程。其具体实践中涉及的常见技术包括自动化和配置管理、安全即代码、自动合规扫描和主机加固。

    如何实施 DevSecOps

    可以想象,DevSecOps 的实施将是一个复杂的过程。我们现在将这个过程分解为以下具体步骤。虽然没有具体的、连续的路线图步骤设计,但大部分都涵盖了以下链接。

    首先,一切从计划开始。计划的战略层次和简洁程度将直接决定最终的实施结果。因此,仅对功能特性的描述是不够的。专家还需要建立测试验收标准、用户设计和威胁模型。下一个阶段是开发,团队应该首先评估现有实践的成熟度。在这个阶段,您可以从多个来源收集资源用于路线指导,也可以设置代码审查系统。由此支撑的统一架构将成为DevSecOps后期成功的重要基础。

    之后就是构建阶段,自动化构建工具无疑是这个阶段的绝对主角。使用这些工具,我们可以构建脚本、将源代码组合成机器代码等等。自动化构建工具不仅提供了多种强大的功能、丰富的插件库,还提供了多种易用的用户界面,其中一些甚至可以自动检测易受攻击的库并及时更换。下一步是测试,通过稳定可靠的测试实践,将强大的自动化测试框架完全引入流水线。部署通常通过 IaC 工具完成,这些工具可以自动化流程并加快软件交付。

    作为另一个关键步骤,运维无疑是运维团队的一项常规职能。鉴于零日漏洞可能造成的威胁程度,运营团队必须注意;此外,运营团队需要关注人为错误的传播,包括使用 DevSecOps 通过 IaC 工具快速有效地保护企业拥有的基础设施。该过程中的另一个重要因素是使用强大且持续的监控工具来确保安全系统按预期运行。

    缩放也不容忽视。虚拟化技术的出现意味着企业不再需要浪费资源来维护大型数据中心。相反,如果发生任何威胁,公司可以简单地扩展其 IT 基础架构以吸收突然的冲击。

    以上只是 DevSecOps 实施中的一些基本步骤。根据项目的规模和复杂性,路线图可能需要涵盖某些额外的步骤。

    DevSecOps 挑战

    当然,DevSecOps 的实施必然会带来一系列的挑战。

    阻止大多数公司转向 DevSecOps 的首要挑战是文化阻力。毕竟,人们更喜欢呆在他们熟悉的舒适区。此外,在传统的软件开发模式中,安全防护更多是一种“善后”式的措施,聊胜于无。

    此外,DevSecOps 还强调统一开发人员和安全专家来创建协作环境。但两支球队之间总是存在一定程度的摩擦,甚至有人认为对方总是与他们为敌。这种观点导致两个“老死”,直接违背了DevSecOps的核心原则。只有改变这两个方面,DevSecOps 文化思维才能在企业中成熟和开花。

    另一个常见的挑战是安全会减慢工作甚至阻碍创新尝试的看法。为了满足现代业务需求,开发人员希望不断加快代码的交付速度。然而李健小悟空^^^编写高质量代码:改善c++程序的150个建议,安全团队的核心焦点是保持代码安全,这两个不同的目标使团队难以相互理解和合作。

    根据 Cyber​​security Ventures 发布的一份报告,到 2021 年,全球将有多达 350 万个网络安全职位空缺。由此可以推断,尽管安全漏洞和攻击越来越多,但仍然缺乏足够的网络安全市场上的工程师。为此,安全专家的稀缺很可能成为中小企业的一大难题。

    与开发和安全团队之间的协作不同,将操作和安全结合起来的复杂性往往更高。对于前两个,我们只需要向开发人员传授安全最佳实践,并指导他们与安全团队密切合作。虽然所有这些确实改变了开发人员的一些日常习惯,但总体上并没有太大变化。但当试图引导运营团队与安全团队合作时,情况就不同了。当运维工程师发现任何异常时,他们通常不会想到安全漏洞。对他们来说,最大的风险通常来自软件配置错误或基础设施故障。但对于安全团队来说,异常会让他们本能地意识到潜在的漏洞。因此,操作工程师必须重新校准他们对操作环境的分析。

    DevSecOps 的好处

    DevSecOps 最重要和最明显的好处是有助于提高整体安全性。如前所述,您可以在管道的早期阶段发现错误,从而更容易修复。通过持续监控,DevSecOps 还增强了威胁搜寻能力。从商业角度看,产品安全性越高,上市难度越小。

    从 SDLC 初期就寻找错误意味着可以以更低的成本修复它们。多个团队将聚集在一起解决安全问题,从而提高问责制。这种协作还有助于提出更快、更有效的安全响应策略,从而构建更强大的安全设计模式。

    DevSecOps 还最大限度地减少了安全瓶颈的频率。安全专家不必等到开发周期完全完成后再运行安全检查。这两个因素进一步加速了产品交付。

    DevSecOps 还可以帮助公司更好地遵守行业标准法规。通用数据保护条例 (GDPR) 等法规要求人们更加谨慎地处理数据。DevSecOps 以框架的形式让管理者对合规需求有更全面的印象,降低合规难度。

    概括

    毫无疑问,DevSecOps 将彻底改变企业实施安全的方式。但由于各种原因,包括对 DevSecOps 的本质缺乏正确理解、员工态度消极、预算有限以及术语定义模糊,许多中小企业仍然对 DevSecOps 持怀疑态度。

    但必须承认,无论从技术层面还是业务层面,DevSecOps 完全有能力为企业带来巨大的收益。虽然初期总会出现一些小问题,但从长远来看,DevSecOps的实施将帮助企业一步步重塑自我,帮助我们迎来一条难以想象的发展道路。

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » DevSecOps贯穿在DevOps流程的各个阶段(图)破解这一困局

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论