乐趣区

关于devops:从-Dev-和-Ops-视角出发聊聊-DevSecOps-的-What-Why-How

近日,极小狐和 TA 的敌人们相聚上海,发展了一场技术 Meetup,从 DevSecOpsWhat、Why、How 登程,通过分享 实在利用案例,与参会者交换 DevSecOps 的实际过程和落地教训。

本文整顿自 极狐 (GitLab) 资深云原生架构师郭旭东 在会上分享的内容,从 Dev 视角和 Ops 视角聊了聊企业引入 DevSecOps 能解决什么问题,并基于极狐 GitLab 的实践经验,分享 DevSecOps 如何落地。Enjoy~

DevSecOps 是笼罩软件开全生命周期的一种平安防护体系,也是一种集泛滥平安伎俩于一体的办法。

“工具是伎俩,不是目标” 这是咱们一再申明的观点。DevSecOps 最终目标是 为了尽早的发现、开掘软件中潜在的平安问题,以直观的形式出现给软件开发生命周期上的相干人员,包含 Dev、Ops、Sec、QA 等

为什么须要 DevSecOps?

Dev 视角 👀

Dev(研发人员)不小心写了 bug,造成安全漏洞,给研发人员和公司都会带来损失。

为了防止这样的“喜剧”,研发心愿在开发过程中,就进行充沛的平安验证,「平安左移」由此而生。

相较于传统「右侧防护」的平安模式,「平安左移」把各种平安实际内建到软件开发的各个要害节点之中,通过尽早引入平安实际以及疾速获取平安反馈的形式,从问题的源头着手防止平安问题的产生

而 DevSecOps 是平安左移的最佳实际:DevSecOps 的要害是将安全性嵌入到整个软件开发生命周期中,从而确保应用程序的安全性可能失去继续一直地改良和保护

施行 DevSecOps,Dev 会面临什么变动?

一方面,是须要 学习新知

  • 平安常识:例如常见的攻打类型、安全漏洞、安全措施等;
  • 工具和技术:例如继续集成和继续交付工具、自动化测试工具、容器化技术等;
  • 测试方法和流程:例如自动化测试、集成测试、平安测试等;
  • DevOps 文化和实际:例如麻利开发、继续集成和交付、自动化和可观测性等。

另一方面,可能也会面临一些 心智累赘

  • 压力:例如须要疾速响应问题、继续改良工作流程等;
  • 复杂性:可能会减少肯定的复杂性,例如须要对多个工具和技术进行整合、须要解决多个团队的反馈等;
  • 变动:例如须要扭转工作形式、角色和责任等;
  • 沟通和合作:须要更频繁地进行沟通和合作,须要团队成员具备良好的沟通和合作能力。

Ops 视角 👀

从 Ops 视角看,DevSecOps 的关键在于:确保应用程序的安全性失去继续一直地监控、检测和响应,以爱护应用程序在生产环境中的安全性和稳定性。

施行 DevSecOps,Ops 面临什么变动?

一方面,将更加关怀 自动化和标准化

  • 自动化:DevSecOps 实际中的许多工作都能够通过自动化来实现,例如构建、测试、部署、监控和复原等。通过自动化,能够实现更疾速、更牢靠的交付流程,缩小人为谬误和故障,并进步生产效率和品质;
  • 标准化:标准化能够帮忙团队建设对立的流程和标准,以确保开发、测试、部署和运维过程的一致性和可重复性,帮忙团队缩小谬误和危险,提高效率和品质;
  • 流程优化:自动化和标准化能够帮忙团队优化整个交付流程,从而更疾速、更牢靠地交付高质量的软件和服务。流程优化能够使团队更加麻利和翻新,更好地适应疾速变动的业务需要。

另一方面,须要更加关注 平安和合规性

  • 平安:在 DevSecOps 中,平安是开发和交付流程中必须思考的关键因素;
  • 合规:开发和交付过程必须合乎实用的法规、规范和政策;
  • 平安与合规的交融:在 DevSecOps 中,平安和合规应该融入到整个开发和交付生命周期中,而不是独自的流程,以确保软件和服务在设计和交付时满足平安和合规规范。

实际 DevSecOps 的难点与挑战

难点 1:文化改革

DevSecOps 要求不同团队之间更严密的合作,这须要突破传统的部门隔离和沟通壁垒,须要进行文化上的改革,晋升团队之间的信赖和合作能力。

难点 2:工具品种繁多

咱们让 ChatGPT 帮忙列举了一些 DevSecOps 工具,可见之多。

抉择适宜业务需要的 DevSecOps 工具是一项艰巨的工作。因为每家企业的平安需要不同,团队首先要理解所需平安产品类型及其细分产品;选定细分类别产品后,通过下载、试用和充沛比对,能力在泛滥产品中,挑选出适合的。

难点 3:老本和资源限度

DevSecOps 的施行须要投入大量的人力、物力,这对于小型团队或者资源无限的组织来说可能是一个挑战。

如果进攻老本比被攻破之后损失的老本更高的话,进攻就没有意义了。因而须要对老本和资源进行正当的布局和治理,以确保 DevSecOps 的胜利施行和继续倒退。

难点 4:危险与合规治理

DevSecOps 须要思考到平安风险管理和合规要求,须要对应用程序的整个生命周期进行粗疏的监控和治理,深刻理解各种合规规范和监管要求。

难点 5:获取反对

要解决以上几点艰难,首先须要的就是获取反对,包含获取领导的反对,争取更多的工夫与资源来实际 DevSecOps;获取共事的反对,相互信赖,共同完成既定目标。

实际落地难?极狐 GitLab 来帮忙

极狐 GitLab 提供一站式开箱即用的 DevSecOps 计划,帮忙用户发现问题、追踪问题、解决问题。

  • 七大平安性能:密钥检测、动态利用平安测试(SAST)、动静利用平安扫描(DAST)、容器镜像扫描、依赖项扫描、License 合规、含糊测试;
  • 全员参加:研发工程师、测试工程师、运维工程师、平安工程师均参加其中,相互合作,共建平安。
  • 平安流程自动化:将平安最佳实际集成到 DevOps 工作流中,通过流水线自动化执行,迅速晋升认知,造成反馈闭环。

三步实现 DevSecOps 配置,低学习老本和心智累赘

只有相熟极狐 GitLab CI 的应用,就能够疾速上手,仅需几行代码,就能够播种一个开箱即用的 DevSecOps。

  • Step 1 导入:极狐 GitLab  DevSecOps 七大平安性能都有各自的 Template,用户各取所需,导入即可;
  • Step 2 自动识别:自动识别提交代码的语言,进行扫描;
  • Step 3 MR:破绽报告间接显示在 Merge Request 中。

更进一步,极狐 GitLab 还提供了 UI 配置,即便不相熟平安性能的 Template,也能够低门槛轻松上手

如下图 SAST 配置,填写字段后,点击「创立合并申请」,即可主动生成 MR,查看后果。

破绽详情高深莫测,高效杜绝代码安全隐患

以往工作流程中,平安工程师测试后,将破绽报告发送到工作群,请研发工程师一一批改。但研发工程师只看到了破绽,而具体的破绽所在的地位等信息全然不知,修复起来非常低效和繁琐。

极狐 GitLab 提供的破绽详情和报告如下图,清晰展现了破绽所在我的项目、在哪个文件的第几行、破绽级别等信息;针对须要修复的破绽,平安工程师一键「创立议题」,研发工程师即可“隔靴搔痒”开始追溯和修复破绽,高效明了

反对自定义配置,灵便匹配用户需要

每个扫描器有不同的配置,在极狐 GitLab 中,能够 通过 Variables 来自定义配置,来达到定制局部扫描配置的目标

退出移动版