如何把安全融入到DevOps当中?

自2009年被首次提出以来,DevOps所涵盖的内容已经发生过多次迭代,尽管不少企业坚称自己以DevOps为中心,但却几乎没多少人能真正准确理解其含义。没有正确实践作为前提,DevOps给团队及企业做带来的价值也将无从谈起。

在全面普及之后,DevOps能够加快部署速度、降低故障率并增强恢复能力。而这一切都将帮助团队乃至企业打造出周期更短、适应性更强、质量更好的产品。但这也给我们提出了新的问题——如何把安全考量融入进去?

[[407541]]

DevOps与DevSecOps有什么区别?

敏捷框架、一次构建/随处运行的开发方法、一切即代码、自动化、沟通与协作,是DevOps的五大核心组件。而DevSecOps的重点,在于以符合安全要求的方式扩展DevOps核心组件。通过拆分,我们能够审视在哪里适合插入安全要素,从而实现软件的安全性。

(1) 敏捷框架——敏捷方法是当今软件开发生命周期(SDLC)的主要内容。与瀑布式开发方法相反,敏捷开发更强调短周期加小变化的组合,确保企业能够针对客户反馈做出快速反应。敏捷框架在加快开发周期方面确实表现不错,但却又常常受制于运营与安全要求。开发人员希望将运营与安全工作交给支持性工具负责,自己则专注于提升开发人员的行动速度。

总而言之,敏捷框架在提升运营效率方面,取得了不错的效果;但其中的重点只有开发本身,一切运营与安全元素都成为事后才考虑的元素。

(2) 一次构建、随处运行——容器技术让SDLC更上一层楼。作为一项真正具有颠覆性的技术,容器使得开发人员能够独立于运营资源之外进行编码、构建、运行以及测试。如今,由于开发人员不必分神设置运营环境,他们可以将更多精力集中在测试、安全与扩展方面。利用容器技术,一切都可由Dockerfile所容纳并实现随处运行。在提交最终镜像之前,开发人员根本不需要接触运营工作;但在整个过程中,运营仍然始终存在、在不知不觉中为开发者提供支持。

虽然存在这种开发与运营之间的隔绝,容器本身仍然是一项重大成就,而容器的起效又离不开编排工具的引导,例如Kubernetes。Kubernetes使企业得以高效管理、扩展、观察并接入容器。它将Dockerfile的需求抽象为可以管理及扩展的明确对象。这种声明式抽象要求开发人员与运营人员开展沟通,进而有效运用Kubernetes。随着时间推移,双方的交流将逐渐升级、最终将安全问题纳入进来。

(3) 自动化——通过在不影响开发速度的情况下,向开发人员提供直接反馈,自动化成为实现DevSecOps的关键所在。单元测试、代码分析与镜像扫描已经成为可轻松被添加至持续集成(CI)管道的常见工具,即时向开发人员通报必要修改。在开发团队的协作下,这些变更可以快速被集成至现有管道当中。运营与安全团队应该明白,他们越早提供自动化反馈机制,开发人员就能越早适应这种新的协作模式。

借助新的工具与最佳实践,安全团队可以为开发人员提供稳定且安全的基础镜像,由此不断提升代码质量。安全团队还可以在管道中引入自动检查机制,监控一切包含权限提升行为的YAML文件、未匹配网络策略的命名空间或者存在漏洞及风险的容器镜像。

(4) 一切即代码——Kubernetes及其他编程语言的声明性质,极大提高了基础设施与应用程序的可重用性与可理解性。YAML文件将帮助各团队准确理解容器如何才能发挥预期作用。时钟时间、卷挂载以及secret注入等一切行为都可通过这个文件及注释进行观察。这种方法还让代码成功呈现为文档的形式,以供随时进行版本控制并实现迭代变更。

但即使有了最新、最好的工具,如果无法正确记录和编目具体问题,一切努力仍然可能是徒劳的。没有清晰的文档,将很难跨团队分享经验教训。而在尝试新的管道配置时,各团队掌握的经验教训很可能对其他团队有着决定性的指导作用。因此,请使用代码与版本控制系统充分展示变更内容,并允许各方据此开展讨论。否则随着单一团队的快速推进,知识共享体系将土崩瓦解,各团队间再难开展充分交流。

(5) 沟通与协作——如果团队和个人间不进行充分沟通,那么一切代码、应用程序与安全变更都将毫无意义。而IT部门中最常忽视的一大沟通要点,在于对意图的明确解释。

DevOps与DevSecOps之所以难以发挥其全部潜力,一大核心原因就是相关行动的意图往往未被各方正确理解。安全团队并不是要阻碍开发工作,他们只是在完成自己的本职工作并保证应用程序安全。而开发团队虽然也关心安全性,但他们面前的头号难题永远是如何在限期之内让新功能顺利上线。

企业必须努力弥合各团队之间的差距,专注于吸取教训,鼓励合理的尝试失败,并设定出切合实际的后续目标。从文化角度来看,这种变化通常由高层自上而下推动。在重视这种方法的企业当中,开发、运营及安全团队会乐于讨论哪些意图较合理、哪些不合理,并愿意站在对方的立场上考虑问题。

DevSecOps将向何处去?

总而言之,DevSecOps向我们提出了以下几项重点要求:

  • 要求在快速迭代的软件开发生命周期中建立嵌入式自动安全检查机制
  • 可重用的各开发环境间具有同类型的安全控制机制
  • 版本控制CI管道
  • 以组织或团队职能范围为边界进行管道变更,借此改善事件后的安全调查流程
  • 完善的说明文档,最好以声明式方法实现安全即代码
  • 鼓励创新,并接纳由此带来的失败文化

DevSecOps代表的是一种文化变革,其背后代表的思维方式转变不限于任何特定工具。当然,大家也应尽可能采用支持协作解决问题的工具,包括保证其具有良好的可移植性、可观察性并提供简单易懂的说明文档。最重要的,还有获得团队的支配以建立起可跨团队共享的上下文素材。

结合种种成功案例与理论层面的巨大潜能,相信DevSecOps这波不断发展的浪潮终将成为我们手中的有力武器。

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/129732.html<

(0)
运维的头像运维
上一篇2025-02-25 18:13
下一篇 2025-02-25 18:15

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注