将DAST集成到CI/CD管道中的优势和实施步骤

在当今快速发展的网络环境中,维护Web应用程序的安全更加必要。由于漏洞的出现速度比以往任何时候都要快,将动态应用程序安全测试(DAST)集成到持续集成/持续部署(CI/CD)管道中成为改变游戏规则的因素,帮助您在早期阶段即考虑安全因素,尽早发现和解决安全漏洞,而不是等到它们严重影响用户后再采取措施。

本文解释了将 DAST集成到 CI/CD管道中的重要性和好处,探索了这种方法如何能够显著提升应用程序的安全性、降低成本并加快上市时间。

我们还将指导您选择正确的 DAST工具和策略的过程,以嵌入到您的管道中,并提供一个集成到 Jenkins的实用教程。

1、什么是 DAST?

动态应用程序安全测试(DAST)是一种安全测试方法,它在运行时分析应用程序以识别潜在的漏洞和安全风险。这与静态应用程序安全测试(SAST)不同,后者仅仅检查应用程序的源代码而不去执行它。

DAST的主要目标是从攻击者的角度模拟对 Web应用程序和 API的攻击。这种方法帮助 DAST发现诸如 SQL注入、 XSS和不安全的文件上传等漏洞(要了解更多有关这些漏洞的信息,请参阅相关的 OWASP备忘录)。在开发过程的早期识别这些威胁,可以使组织在它们发展成为严重的问题之前修复它们。

2、DAST集成到CI/CD管道中的优势

将 DAST集成到您的 CI/CD管道中有很多好处,如提高安全性、节约成本、加快市场推广速度等。

(1)增强的安全态势

DAST工具旨在通过模拟真实世界的攻击来识别 Web应用程序中的漏洞。通过将这些工具集成到您的 CI/CD管道中,您可以确保每个组件在投入生产之前能够自动测试潜在的安全性问题。这种积极主动的方法有助于及早发现潜在的漏洞,允许在对应用程序或组织构成威胁之前解决这些漏洞。

(2)提前投放市场

与手工测试和部署之后在进行测试相比,在开发过程中使用 DAST可以使开发人员更快地找到和修复安全漏洞。通过将自动扫描作为 CI/CD过程的一部分,开发人员可以立即获取其代码更改对应用程序安全性影响的反馈。这样,他们就可以快速地解决任何被识别出的问题,而不会推迟发布计划,也不会降低质量。

(3)影响市场发布的 DAST其他方面包括:

提高协作能力:自动 DAST扫描提供有关检测到的漏洞及修复建议的详细报告。这些见解可以促进开发团队和安全专家之间更好地沟通,避免可能造成软件交付延迟的误解。

更少的错误标记(false positive):一些高级的 DAST解决方案使用机器学习算法来最小化扫描的错误标记结果。这可以确保开发人员花费时间来解决真正的安全问题,而不是寻找错误警报。

(4)更少的成本

将 DAST集成到 CI/CD管道中,可以为您的组织节省大量成本。通过在开发过程的早期识别和修复漏洞,可以减少代价高昂的数据损毁可能性。此外,自动化安全测试降低了与传统安全测试方法相关的人工成本。

DAST降低成本的其他措施包括:

降低修复费用:在开发期间修补漏洞的费用远远低于在开发之后修补的费用。通过自动 DAST扫描,及早发现问题,可以让企业避免花费昂贵的后期补丁,并避免可能出现的停机情况。

减少监管罚金:在整个开发流程中保证应用程序的安全有助于组织遵循诸如 GDPR, HIPAA和PCI-DSS等行业法规。违规可能会导致巨额罚款和名誉受损;在 CI/CD管道上集成 DAST可以通过不断地监控潜在的违规行为来降低这些风险。

3、将 DAST集成到 CI/CD管道的策略

(1)选择正确的工具

寻找能提供与CI/CD管道整合的工具。选择一个 DAST工具,它要符合应用程序栈、技术选择以及开发方式。确保它既支持在用的Web应用程序框架,也支持像容器、API以及微服务这样的现代范式。

(2)尽早将 DAST合并到开发过程中

为了最大限度地利用 DAST集成的好处,可以在开发过程的早期就开始合并它,例如在代码审查或开发新功能的时候。通过尽早开始,开发人员可以立即解决安全漏洞,而不是将修复推迟到测试的后期。

(3)建立基线扫描

基线扫描是使用一组预定义的规则或策略对应用程序的安全性进行的初步评估。使用所选的 DAST工具创建基线扫描,设置一个起始点,用于测量随时间变化的改进效果。基于对应用程序代码库或者基础设施配置的变更,定期更新这个基线扫描。

(4)安排定期扫描

可以安排定期扫描,也可以安排在 CI/CD管道的关键阶段扫描。这些扫描中发现的任何问题都应该反馈到开发和测试阶段,允许开发人员和测试人员立即加以解决:

  • 每日扫描:将每日扫描安排在非高峰时间,以避免可能对终端用户的体验造成的干扰。
  • 每周扫描:每周执行更全面的扫描,以发现在每日扫描期间可能出现的遗漏。
  • 按需扫描:应用程序发生重大更改时触发按需扫描,例如部署新功能或更新关键组件。

(5)分析结果并确定优先处理顺序

DAST工具通常会生成大量数据。必须根据这些结果的严重性、可利用性和潜在影响,对其进行分析和排序。使用风险评分系统,如 CVSS (常见的漏洞评分系统),根据其威胁等级对已识别的漏洞进行排名。这样可以帮助团队集中精力在首先解决优先级高的问题上。

(5)创建反馈循环

在开发人员和安全团队之间建立反馈循环,以持续改进代码质量和安全状态。通过显示 DAST结果的共享仪表板或将警报集成到 Slack或 Microsoft Team等通信平台上来鼓励协作。

为了快速修复已识别的漏洞,需要确保DAST工具为开发人员提供操作指南,并为他们提供解决每个问题的明确步骤。这样他们自己就能够有效地解决问题,而不需要额外的安全专家。

4、教程:将 DAST集成到 Jenkins

本教程将指导您完成将动态应用程序安全测试(DAST)集成到 Jenkins(一款开源的CI/CD工具)CI/CD管道中的步骤。这样您就可以在构建和部署阶段自动扫描应用程序的安全漏洞。

步骤1:安装并配置 DAST工具

首先,选择一个适合您需求的 DAST工具。在本教程中,我们将使用OWASP Zed Attack Proxy,一个开放源码的 Web应用程序扫描器。从官方网站下载并安装 ZAP。

步骤2:建立Jenkins环境

如果您还没有建立 Jenkins环境,请参考官方的 Jenkins安装指南。成功设置 Jenkins后,登录到您的账户,进入“Manage Jenkins”下的“Manage Plugins”。在可用插件列表中搜索“OWASP ZAP”并安装它。

步骤3:在 Jenkins中创建新的管道项目

  1. 转到 Jenkins实例的主仪表板。
  2. 从左侧菜单中选择“New Item”创建新的管道作业。
  3. 给你的新项目起一个合适的名字(例如'DAST_Pipeline'),并选择' Pipeline'作为类型,然后单击' OK'。
  4. 在新创建的项目页的管道配置部分,向下滚动以查找“定义”。从 SCM或“Pipeline script”中选择“Pipeline script”并提供您的管道代码。此代码将包括运行 ZAP所需的步骤。

步骤4:为 DAST集成配置管道脚本

在这一步中,需要修改Jenkins文件或管道脚本,将 ZAP集成到组件过程中。下面是一个简单的 Jenkins文件示例,其中包括运行 ZAP:

将" http://your-web-application-url"替换为指向 Web应用程序的链接,将"YOUR_ZAP_API_KEY"替换为从 OWASP Zed Attack Proxy (ZAP)获得的 API密钥。

步骤5:在Jenkins中运行管道项目

配置完所有参数后,保存更改并单击“立即构建”启动新组件。您应该看到两个阶段运行中—一个用于构建应用程序,另一个用于使用 OWASP Zed Attack Proxy (ZAP)运行 DAST。

完成后,在左侧菜单的“生成历史记录”下转到“控制台输出”。检查在扫描期间是否检测到任何安全漏洞。

5、结论

将 DAST工具集成到 DevOps流程中,对于维护安全和确保在开发周期的早期阶段发现漏洞至关重要。通过实施DAST,您可以在潜在威胁升级为重大安全问题之前识别它们,最终节省时间和资源。

通过将 DAST工具集成到您的 CI/CD管道中,您可以在开发过程的早期检测漏洞,节省时间和资源,并防止以后出现重大问题。它确保应用程序在部署到生产环境之前是安全的。最后,它将帮助您遵守安全法规和标准。

在实施DAST工具时,需要考虑几个因素。首先,选择与您的开发环境和编程语言兼容的DAST工具。其次,确保该工具可以集成到您的管道中,而不会造成延迟或中断。最后,建立清晰的流程来分析和处理DAST识别出的漏洞,以确保被发现的问题能够被组织中的开发人员和测试人员及时修正。

这我可不懂
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iperf3:TCP,UDP和SCTP网络带宽测量工具-C/C++开发
05-26
iperf3:TCP,UDP和SCTP网络带宽测量工具概述iperf是用于主动测量IP网络上最大可达到带宽的工具。 它支持调整与ti iperf3相关的各种参数:TCP,UDP和SCTP网络带宽测量工具总结iperf是用于主动测量IP网络上最大可达到...
我们可以! 开源DaST与MVC和WebForms竞争
04-05
文章将通过对比分析,展示DaST在创建动态树形视图Web应用程序时如何展现出优于MVC和WebForms的简洁性和优雅性。动态树形视图是一种常见的UI设计,用于呈现层次结构的数据,常见于导航菜单或文件管理器。 首先,让...
6大优势、2种类型,一文吃透动态应用安全测试(DAST).doc
07-12
通过自动化工具,DAST 可以无缝集成CI/CD 流程,实现持续安全。 总结,DAST 是保障软件安全的关键技术,它提供了对运行时应用程序安全性的深度洞察,通过模拟攻击来揭示潜在的漏洞。结合手动和自动测试,DAST ...
dast
03-15
文章121的工件:在边缘计算实现可序列化事务的低尾部延迟和高可伸缩性工件摘要DAST是一个分布式数据库,专为需要可序列化,低尾部延迟和水平可伸缩性的新兴边缘计算应用程序而设计。 DAST是基于Janus开源代码库的...
开目3DAST三维装配工艺软件下载-V12.0正式版
07-25
3DAST充分考虑了产品全生命周期的各个环节,利用产品的三维CAD模型,由装配工艺规划人员在计算机环境对产品的装配工艺过程进行交互式的定义和分析,包括建立产品各组成零部件的三维模型、装配顺序、空间装配路径、...
gitlab 的CI/CD (二)
weixin_50464533的博客
09-19 396
本文实现gitlab的ci/cd对远程服务器的操作;
GitLab CI_CD 从入门到实战笔记
demon7552003的小本本
09-15 2218
本书主要介绍GitLabCI/CD的相关内容。首先介绍GitLabCI/CD的基础知识,包括CI/CD的几个基本概念(pipeline、stages、job、GitLabRunner和.gitlab-ci.yml文件);然后介绍GitLabCI/CD的35个关键词、每个关键词的语法及其使用场景,并给出一些示例;最后介绍CI/CD的实践,通过3种不同的项目详细讲解各种部署方式,包括微服务架构项目流水线开发、GitLabCI/CD与Kubernetes的集成,以及如何将项目部署到Kubernetes集群等。
文件系统设计 - 开发文件系统 Store (上篇)
qq_44746132的博客
09-21 314
本章以一个基础的响应式Store类开始,对编辑器最核心的基础模块-文件系统管理进行开发设计,遵循面向接口编程的理念,设计文件系统的相关接口类型定义。
前端vue3打印,多页打印,不使用插件(工作让我写一个打印功能)
m0_51798113的博客
09-17 733
getTableData().tableData,其实就是去后端获取参数去了,因为这是公司的前端框架,基于vxe的,包装的方法,获取了一个表格信息,相当于获取参数。说下总体思路,创建一个组件,里面放多个span字段,然后根据父组件传入的参数,生成子组件,最好我们打印子组件的信息即可。这里也很关键,间我遇到一个问题,那就是经常第一次点击按钮,dom元素没有加载完,就弹出打印框了,所以我加了一个异步事件,还有记得把抽屉关了。
Gradio 自定义组件
hawk2014bj的博客
09-19 330
Gradio 组件使用起来很方便,前端使用的是 Svelte,和 Vue 很像,入门的门槛也不高。同时,也可以引入其他三方类库,例如 tailwindcss 等等。
【Vue】- 路由及传参
不靠谱先森的博客
09-18 1260
什么是单页面应用程序?● 所有功能在一个html页面上实现单页面应用优缺点?● 优点:按需更新性能高,开发效率高,用户体验好● 缺点:学习成本,首屏加载慢,不利于SEO应用场景?● 系统类网站 / 内部网站 / 文档类网站 /移动端站点什么是路由?○ 路由是一种映射关系Vue的路由是什么?○ 路径和组件 的映射关系○ 根据路由就能知道不同路径的,应该匹配渲染哪个组件如何实现路径改变,对应组件切换,应该使用哪个插件?○ Vue 官方插件 VueRouter。
前端入门:HTML+CSS
mingangel的博客
09-21 551
之前的文章我已经讲过HTML,这篇文章我将讲解HTML和CSS的案例。
在typescript浏览器端调用C++编写的函数,WebAssembly传递指针类型的参数,以及处理指针类型的返回值。
Xeon_CC的博客
09-17 470
最后是返回一个C++结构体指针,在TypeScript通过DataView来获取内存的地址偏移量来取得结构体的数据,因为em++编译器是以32位来编译.cpp文件的,所以指针占4个字节。DataResult结构体第一个属性dArr是一个指针,那么就是地址偏移量0,然后以32位无符号整型取得dArr指针,通过这个指针去读取wasmmemoryBuffer的数据,就可以得到dArr属性对应的值了。同理,通过地址偏移量+4来得到propCount属性,以32位整数读取数据即可。
前端-js例子:定时器
m0_75163045的博客
09-19 190
用周期函数定时器,当点击开始(只能点一次)时,开始转动;嵌套使用setTimeout()
基于JAVA的居家办公OA系统
嵌入式行业打工人,不定期更新博客。
09-18 351
使用Spring Boot来搭建一个基础的居家办公OA系统的一部分——例如一个简单的任务管理模块。这个例子将包括创建一个任务的功能,并且能够将任务保存到数据库。为了简化起见,这里我们只展示核心代码片段,并假设已经设置好了Spring Boot项目环境。以上代码展示了如何用Spring Boot创建一个简单的任务管理API。为了运行这个示例,你需要有一个Spring Boot项目,并且正确配置了数据库连接。此外,前端部分也需要开发,以便用户可以通过Web界面与后端API交互。
前端vue-父传子
weixin_46969393的博客
09-19 772
父传子的话是在components创建一个子组件MyTest.vue,并且在父组件先导入(import MyTest from "./components/MyTest"),再注册(在expo二default写上 compnents:{MyTest}),再使用标签(<MyTest>< / MyTest>),子组件要接收,在子组件的export default(props:['obj']),在子组件使用obj.goodsList数组的字段就可以了(obj.id或者obj.name或者obj.pr
【LLM】Ollama:本地大模型 WebAPI 调用
最新发布
2303_80346267的博客
09-22 573
Ollama 是一个基于 Python 的工具,专为本地调用大型语言模型而设计。它提供了用户友好的接口,使开发者能够在本地环境快速加载和管理模型,简化了大模型的集成与使用流程。Ollama 适用于各种应用场景,包括自然语言处理、对话系统等,旨在提升开发效率和灵活性。
Unity webgl跨域问题 unity使用nginx设置跨域 ,修改请求头
GoodCooking的博客
09-17 596
Unity webgl跨域问题 unity使用nginx设置跨域 ,修改请求头
前端入门:HTML+CSS简便开发的技巧
mingangel的博客
09-21 222
比如一些双标签,我们可以只输入,第一个标签,然后敲击tab键,则可以生成停止标签。4.如果想要生成有父子关系的标签,可以使用>,如ul与li则可以 输入ul>li。敲击回车,则可以生成。7.如果想要在生成的标签内部写内容,则可以使用{},如p{}6.如果生成的标签具有顺序关系,则可以使用$符号,如p$,比如标签,我们之后敲击tab,就会生成
动态应用安全测试(DAST)详解:优势与类型
5. **与SDLC集成**:可以轻松融入持续集成/持续部署(CI/CD)流程,实现DevSecOps。 6. **成本效益**:早期发现漏洞能降低修复成本,避免后期因数据泄露带来的损失。 DAST有两种主要类型: 1. **自动化测试**:...
写文章

热门文章

  • 给你们讲个笑话——低代码会取代程序员 41075
  • 2023年闷声发大财的6个风口行业 26470
  • 16个最佳Chrome插件推荐给做前端的你 14712
  • 国产技术迎来突破,14nm芯片横空出世,低代码也有好消息 12067
  • 嚯——ChatGPT是很强,但也会胡说八道。。。 8902

最新评论

  • 引迈信息-JNPF平台怎么样?值得入手吗?

    2401_87462868: 不好用不好用不好用!!!

  • 引迈信息-JNPF平台怎么样?值得入手吗?

    不要卷了: 不好用,劝退

  • 如何在React Native中使用SVG

    ha_lydms: 博文作者真是一位出色的写手!这篇博文让我受益匪浅,语言简洁明了,逻辑严谨有序。作者不仅运用了丰富的例子和引文,为观点提供了充分的支持和验证,还以其独特的视角带给读者全新的思考。

  • 一文搞懂前端渲染技术:什么是SSR、SSG、CSR?

    芝士码匠(Geek Coder): 文章清晰讲解了低代码平台概念,让非技术员也能开发软件,加速应用上市,降低成本。深入浅出分析CSR、SSR、SSG三种前端渲染技术,列举优缺点,并附带JavaScript代码示例,最后强调选择合适技术对项目的重要性,内容全面,易于理解。

  • 一文搞懂前端渲染技术:什么是SSR、SSG、CSR?

    HRSYS: 这篇文章清晰地对比了CSR、SSR和SSG三种前端渲染技术的特点,每种技术的优缺点一目了然,对于理解它们在项目中的适用场景很有帮助。最后提到低代码和JNPF,拓宽了技术视野,让人思考在快速开发场景下的新工具选择。

大家在看

  • 网络安全专业,在校大学生如何赚外快,实现财富自由?零基础入门到精通,收藏这一篇就够了
  • java计算机毕业设计二手交易管理网络平台(开题+程序+论文)
  • redis数据库安装(源码包安装) 32
  • Vue.js与Flask/Django后端配合 545
  • path=$1,file=$2在shell编程中是什么意思

最新文章

  • 吊打面试官!业务架构的关键概念
  • 普通公司的技术面试,凡人歌的鸡汤你喝了吗?
  • 企业成功的“秘诀”,业务架构的关键概念
2024
09月 7篇
08月 13篇
07月 11篇
06月 22篇
05月 24篇
04月 16篇
03月 11篇
02月 20篇
01月 45篇
2023年380篇
2022年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家泰州玻璃钢雕塑设计与制作深圳玻璃钢雕塑定做南昌景观玻璃钢雕塑批发公园玻璃钢卡通雕塑厂家现货玻璃钢动物雕塑价格表舟山玻璃钢雕塑哪家便宜秦淮商场美陈宣威市玻璃钢雕塑定做陕西玻璃钢雕塑定做深圳节庆商场美陈售价玻璃钢现代人物景观雕塑长沙花朵玻璃钢仿铜雕塑宪法书雕塑玻璃钢图片海安卡通玻璃钢雕塑河南佛像玻璃钢雕塑设计焦作玻璃钢马雕塑日照人物玻璃钢雕塑厂家商场日常美陈所需要的物料鑫泰玻璃钢花盆生产厂家杭州商场美陈装饰山东玻璃钢动物雕塑小区景观湖南玻璃钢雕塑公司梅河口雕塑玻璃钢雕塑白山玻璃钢雕塑厂家余杭商场美陈昆山商场大型美陈原装玻璃钢雕塑厂家诚信企业推荐德阳商场美陈布置景洪市玻璃钢雕塑生产商酒店装饰玻璃钢雕塑工程香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化