DevSecOps | 极狐GitLab 动态应用程序安全测试(DAST)使用指南
DAST 是 Dynamic Application Security Testing 的缩写,也即动态应用程序安全测试,属于应用程序安全测试的一种,与 SAST 相对应,属于黑盒测试。
DAST 的优势
与语言无关
快速发现那些容易被利用的漏洞(XSS,SQL Injection 等)
无需访问源代码
DAST 的劣势
无法将安全漏洞精确到代码行数
需要花费较长的时间
报告需要有一些安全专业知识来解读
极狐GitLab DAST 的使用
Gartner 4 月下旬发布了 2022 年 AST 魔力象限,GitLab 位于挑战者象限:
极狐GitLab 在功能上大于或等于 GitLab,DAST 也是极狐GitLab DevSecOps 安全体系中重要的安全功能之一,能够帮助用户构建动态安全防御体系。而且随着版本的更新迭代,功能在不断增强。
极狐GitLab DAST 既可以当做独立的工具来进行应用程序动态扫描,也可以嵌入到 CI/CD Pipeline 中,帮助用户实现真正的 DevSecOps。
单独使用
可以将极狐GitLab 视为一个单独的 DAST 工具,来对处于运行状态的应用程序进行动态扫描。比如用如下命令启动一个 jenkins 实例:
$ docker run -d -p 8088:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
用 http://jenkins.example.com:8088 登陆 jenkins 并确认实例运行正常之后,就可以用极狐GitLab 单独对此 jenkins 实例进行动态扫描。
在极狐GitLab 上新建一个 Repo,并添加如下内容到 .gitlab-ci.yml 文件中:
include:- template: DAST.gitlab-ci.ymlstages: - testdast: stage: testvariables:DAST_WEBSITE: "http://jenkins.example.com:8088"DAST_FULL_SCAN_ENABLED: "true"DAST_BROWSER_SCAN: "true"DAST_SKIP_TARGET_CHECK: "true"
可以触发 CI/CD Pipeline 进行构建,并查看结果(太长,只截取部分):
如果是旗舰版用户还可以在安全与合规中看到完整的漏洞报告(安全与合规 --> 漏洞报告):
和 CI/CD 结合
DAST 是实现 DevSecOps 的一个重要安全测试手段,将 DAST 嵌入到 CI/CD 中,能够实现真正的“安全自动化”。DAST 属于动态测试手段,需要放置在应用程序部署成功以后:
在极狐GitLab CI/CD 中的 job 顺序是:
stages:- build- test- deploy- dast
下面使用一个托管在极狐GitLab SaaS 上的 Demo 来演示 DAST 在极狐GitLab CI/CD 中的用法。
极狐GitLab CI/CD 代码如下:
stages: - build- test- deploy- dastbuild:image: docker:20.10.7-dindstage: buildtags:- devsecopsscript:- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY- docker build -t $CI_REGISTRY_IMAGE:1.0.0 .- docker push $CI_REGISTRY_IMAGE:1.0.0test:stage: testtags:- devsecopsimage:name: docker:20.10.7-dindscript:- echo "go test"deploy:image: docker:20.10.7-dindtags:- devsecopsstage: deployscript:- docker run -d -p 9998:9998 $CI_REGISTRY_IMAGE:1.0.0include:- template: DAST.gitlab-ci.ymldast: stage: dastvariables:DAST_WEBSITE: "http://your.application.real.url"DAST_FULL_SCAN_ENABLED: "true"DAST_BROWSER_SCAN: "true"DAST_SKIP_TARGET_CHECK: "true"
触发 CI/CD Pipeline 构建,查看构建结果:
如果是旗舰版用户还可以在 MR 中看到 DAST 结果:
可以看到有两个潜在扫描漏洞,这种情况下需要修复漏洞才可以进行代码 Merge,可以点击扫描出来的漏洞来创建 issue 进行安全问题追踪:
在问题修复之后会再次触发扫描的 CI/CD,在无安全问题后,即可合并代码并将对应的 issue 关闭。
对于旗舰版用户来讲,还可以在安全仪表盘中查看所有的 DAST 安全漏洞,做到安全漏洞的统一、透明展示:
DAST 需要与其他安全测试手段,诸如 SAST、密钥检测、Fuzz Testing 等一起构建完整的 DevSecOps 体系。
更多关于 DevSecOps 内容,请点击
极狐GitLab DevSecOps 之敏感信息检测
极狐GitLab DevSecOps 之镜像扫描
极狐GitLab DevSecOps 之模糊测试
极狐GitLab DevSecOps 之 SAST
极狐GitLab DevSecOps 之依赖项扫描
极狐GitLab DevSecOps 之 IaC 安全扫描
DevSecOps | 极狐GitLab 动态应用程序安全测试(DAST)使用指南相关推荐
- DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全
极狐GitLab 在 14.5 中引入了基础设施即代码(Infrastructure as code,即 IaC)的安全扫描功能.主要针对 IaC 配置文件中的已知漏洞进行扫描.目前支持的配置文件类型 ...
- 使用 KubeSphere 和极狐GitLab 打造云原生持续交付系统
KubeSphere 简介 Kubernetes 是一个非常复杂的容器编排平台,学习成本非常高,KubeSphere 所做的事情就是高度产品化和抽象了底层 Kubernetes,是一个面向云原生的操作 ...
- 极狐(GitLab)发布首款“GitNative”DevOps云一体化解决方案
2022年1月5日,极狐(GitLab)正式宣布推出业界首款"GitNative"--"Git原生" DevOps 云一体化解决方案(以下简称"Git ...
- 版本更新 | 极狐 GitLab 15.2 发布飞书通知机器人、多层史诗调整至专业版、实时 Wiki 图表预览和全新设计的合并请求报告
沿袭我们28日发布的传统,今天带来了极狐GitLab 15.2 版本,新功能包括 极狐版专享 - 飞书通知机器人,极狐版专享 - 多层史诗调整至专业版,实时 Wiki 图表预览.事件(Incident ...
- 极狐GitLab 和 ArgoCD 的集成实践
极狐GitLab ArgoCD 和 GitOps 概述 ArgoCD 是一款开源且主要针对 Kubernetes 来做 GitOps 的持续交付工具.现在是 CNCF 的孵化项目.其整体架构图如下: ...
- 担心 GitHub?那就试试极狐GitLab 吧
随着开源的发展,GitHub 成为了开源的"集散地",但是近些年频发的各种新闻,亦让 GitHub 成为了开源"风波亭". 段时间 SFC(software f ...
- 极狐GitLab:从硅谷到中国,远程办公背后的挑战与创新
编辑 | 宋 慧 供稿 | 极狐(GitLab) 头图 | 付费下载于视觉中国 最近,海外的互联网巨头们纷纷开启了远程办公的政策,谷歌允许员工提出更换办公地点的要求或申请成为永久远程办公者,目前已经批 ...
- 官宣 | 极狐GitLab SaaS来了!
GitLab点击蓝字 关注我们 虎力全开的极狐(GitLab) 如虎添翼 极狐GitLab SaaS正式上线 极狐(GitLab)正式宣布推出极狐GitLab SaaS (JihuLab.com),为 ...
- 极狐GitLab 15.3 | issues 中建任务、许可证合规分析,超 30 项更新全面来袭!
沿袭我们月度发布的传统,今天带来了极狐GitLab 15.3 版本,新功能包括议题中的任务.免费的 GitOps 功能.SAML 群组链接的 API 维护.高级密码复杂度要求等. 这些只是该版本中 6 ...
最新文章
- 关于go语言中的JWT(JSON WEB TONKE)ECHO
- 在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用
- SpringBoot集成Flowable_Jsite待办任务菜单报500
- JS正则表达式的分组匹配
- 虚拟机上安装Linux时出现的问题及解决方法
- 阿里iconfont图标的使用教程
- ZEMAX | 使用 Project Directory 组织 OpticStudio文件
- nacos注册服务地址为内网地址解决方法
- js中函数传参的问题
- 【项目实战】Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
- dsolve函数的功能_MATLAB求解常微分方程:ode45函数与dsolve函数
- U8常用的二次开发方式
- 实现共享要修改哪些计算机策略,局域网共享组策略怎么设置
- 金戈铁马 Android NDK 实战篇:男人之间的那些事
- ASP计算周开始和一年有多少周及某年第一周开始日期
- matlab 运算符
- MySQL innodb引擎,事务提交 commit 异常,但数据提交成功
- win32编程的经典书籍
- 雷军:从金山“宰相”到小米“沙皇”
- 视频营销3-视频设备清单