GitLab DevSecOps:一栈式开发、运维和安全 – 作者:ijzmesec

之前我的文章中介绍过DevSecOps。时下随着DevOps越来越成熟,被越来越多的公司和组织所采用,利用它打破了孤岛,使产品迭代和发布更快更健壮。于此同时企业也越来越重视应用安全性的问题。随着攻击模式的升级,针对软件整个供应链各个环节为目标的攻击也成了趋势。缺乏统一、贯穿全局的安全防护以及依赖支离破碎的工具链所面临得风险越来越大。

面对这种严重安全形势,日前Git和DevOps前沿企业Gitlab宣布其DevSecOps解决方案。通过Gitlab CICD流程和工具链,将开发人员,运营专业人员和安全团队聚集在整个DevSecOps生命周期的一栈流程中。

目前Gitlab提供了完整的安全工具链(收费EE版本): SAST,DAST,依赖项扫描和容器扫描,同时在功能方面提供了自动修复,安全仪表板和安全审批(12.1中推出),Kubernetes原生集成和多云部署支持外,还添加功能标志,操作仪表板以及事件管理(12.1中推出)。在最新的GitLab 12.0中增加了可视预览工具,项目依赖列表和Merge Trains,Gitlab的DevSecOps体系成环更具系统性。

一栈式DevSecOps

一栈式应用程序的优点很多:单点登录消除了请求访问每个单独工具需要的权限管理和访问控制,还可以减少工具间上下文切换,从而缩短了周期历程。通过将所有工作都集成到一个地方一个界面跟踪,可以让信息获取变得方便快捷。根据Forrester报告,超过40%的企业希望通过使用开箱即用的解决方案来提高质量、安全性和开发人员的工作效率。对于安全专业人员来说,这样可以平衡速度和安全性。

传统上,安全性一直是开发生命周期中的“最后障碍”,最终才会加以解决,经常在开发人员提交代码之后进行审核。当安全性与DevOps工作流分开时,安全性审查就成为交付的潜在瓶颈。而DevSecOps旨在集成DevOps工作流中的安全最佳实践,以确保在提交时对每段代码进行测试。GitLab则更进一步,通过在CI/CD工作流中集成安全功能,使开发人员能够识别漏洞并及早发现和修复漏洞,并为安全团队提供自己的仪表板,以查看和追踪开发人员未解决的问题。整个DevSecOps栈流程如下图: 

sec1.png

这种一栈式的解决方案为决策者提供了可操作可跟踪的工具,使其更容易采取正确的行动并从中学习。用户可以与工具交互并根据提供的信息执行风险评估,而不是自动阻止管道或阻止新版本发布到生产中的安全功能。

在对漏洞进行分类时,用户可以通过创建问题或者确认来完成问题审查,来保证整个流程的连贯。

GitLab中的安全功能

Gitlab(EE版本)中集成了静态应用程序安全性测试(SAST)和动态应用程序安全性测试(DAST),容器扫描和依赖性扫描,可以让开发人员能够在编码时发现潜在的漏洞。Gitlab一栈DevOps目前提供的功能如下: 

sec2.png

合并请求中显示漏洞

SAST通过扫描应用程序源代码和二进制文,可以在部署之前发现潜在漏洞,DAST则通过分析正在运行的Web应用程序是否存在运行时漏洞,并针对应用程序自动进行渗透测试。所有测试结果信息会直接显示在合并请求中,结果按漏洞的优先级排序。

sec3.png

同样依赖扫描和容器扫描也集成在GitLab CI/CD中,是Gitlab DevOps安全功能部件。容器扫描通过容器镜像进行安全扫描以确保容器环境中不存在已知的安全漏洞。依赖扫描分析外部依赖项(例如Ruby gem库),如果应用依赖的基本类库有安全问题,则会向开发人员发出警报。结果会显示在合并请求和管道视图中。通过依赖扫描和容器扫描可以有效的缓解由于供应链上游的漏洞导致的安全问题。

安全仪表盘

Gitlab即将推出的版本将会带来自动化的内容并确保安全团队拥有了解其应用程序当前安全状态所需的视图,使GitLab成为安全团队的可行产品。

安全仪表板在组和项目级别均可用,可用作安全团队的主要工具。除了提供安全状态概述之外,安全控制台还可用于启动修复过程并提供数据可视化。

sec4.png

自动修复Auto Remediation

Auto Remediation旨在实现自动化漏洞解决的流程,通过自动创建修复程序、自动测试该修复程序,如果测试无误,自动给应用程序打补丁,自动部署到生产中。GitLab还可以监控部署的应用程序的性能,如果出现导致性能急剧下降的情况,可以恢复所有更改,通过告警通知整个过程的信息给用户,而减少或者免除用户手动操作。

sec5.png

总结

总体而言,Gitlab 通过多年积累的DevOps和快速自动化迭代经验,推出一栈式DevSecOps,可以极大的方便企业、开发人员和安全人员。通过在整个开发、测试、部署流程过程中的安全性工具链的集成实现安全问题的快速迭代和解决,当然目前主要问题是Gitlab所有安全工具链都是收费版本(EE)才有的功能,需要付费才能享受整个DevSecOps链的完整功能,为一栈式安全方案买单是否值得,需要大家根据各自实际情况斟酌选择。

来源:freebuf.com 2019-07-22 12:17:10 by: ijzmesec

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论