如何在華為云DevCloud流水線中運(yùn)行OWASP ZAP安全測試?

來源:華為云社區(qū)
作者:倫語春秋&浩初
時間:2020-08-21
2931
在本文中,主要分步展示了如何在華為云DevCloud中配置OWASP ZAP安全測試并發(fā)布HTML結(jié)果。

【摘要】安全測試是測試的重要組成部分。每個企業(yè)組織都應(yīng)該在進(jìn)行生產(chǎn)前,至少進(jìn)行基本的安全測試。同時,從2012年Gartner公司提出DevSecOps以來,DevSecOps的理念與實(shí)踐越來越得到業(yè)界的關(guān)注與認(rèn)可。DevSecOps旨在將安全測試結(jié)合到持續(xù)集成/持續(xù)交付(CI/CD)中,使得安全能夠跟上代碼的迭代速度。因此,企業(yè)組織與其它任何測試(例如回歸測試、冒煙測試)一樣,將安全測試加入到流水線。

引言:在“DevOps能力之屋(Capabilities House of DevOps)”中,華為云DevCloud提出(工程方法+最佳實(shí)踐+生態(tài))×工具平臺=DevOps能力。華為云DevCloud將推出“DevOps on DevCloud”系列,針對DevOps領(lǐng)域場景,闡述該場景在華為云DevCloud上的實(shí)施方法與實(shí)踐。

安全測試是測試的重要組成部分。無可否認(rèn),安全測試是一片汪洋大海,如果沒有經(jīng)過全面培訓(xùn)與豐富實(shí)戰(zhàn)的專業(yè)人員的幫助,企業(yè)可能很難進(jìn)行完整的安全測試。但是每個企業(yè)組織都應(yīng)該在進(jìn)行生產(chǎn)前,至少進(jìn)行基本的安全測試。同時,從2012年Gartner公司提出DevSecOps以來,DevSecOps的理念與實(shí)踐越來越得到業(yè)界的關(guān)注與認(rèn)可。DevSecOps旨在將安全測試結(jié)合到持續(xù)集成/持續(xù)交付(CI/CD)中,使得安全能夠跟上代碼的迭代速度。因此,企業(yè)組織與其它任何測試(例如回歸測試、冒煙測試)一樣,將安全測試加入到流水線,這樣安全測試也可以作為流水線的一部分運(yùn)行并及時報(bào)告問題,在一定程度上踐行DevSecOps。

OWASP是一個開源的、非盈利的全球性安全組織,致力于應(yīng)用軟件的安全研究。OWASP ZAP(Zed Attack Proxy)是用于安全測試的開源工具,它可以幫助我們查找不同類型的漏洞,例如SQL注入,跨站點(diǎn)腳本編寫等。ZAP以架設(shè)代理的形式來實(shí)現(xiàn)滲透性測試,它充當(dāng)一個中間人的角色,瀏覽器所有與服務(wù)器的交互都要經(jīng)過ZAP,這樣ZAP就可以獲得所有這些交互的信息,并且可以對他們進(jìn)行分析、掃描,甚至是改包再發(fā)送。

在本文中,主要分步展示了如何在華為云DevCloud中配置OWASP ZAP安全測試并發(fā)布HTML結(jié)果,主要實(shí)現(xiàn)以下目標(biāo):

1.將OWASP ZAP測試配置到華為云DevCloud流水線中;

2.將ZAP HTML測試結(jié)果發(fā)布到Tomcat服務(wù)器中,進(jìn)行在線查看;

3.基于ZAP測試結(jié)果,在華為云DevCloud項(xiàng)目管理創(chuàng)建相應(yīng)的工作項(xiàng)。

1.前提準(zhǔn)備

1.1 創(chuàng)建代碼倉庫

本安全測試用到的腳本已經(jīng)存放在華為云DevCloud的代碼托管模板中。用戶首先創(chuàng)建一個項(xiàng)目,然后點(diǎn)擊代碼-代碼托管-按模板新建,在彈出頁面中選擇華北-北京四,在搜索框中輸入DoD進(jìn)行搜索,如下圖所示:

1597728962339093707.png

選中圖中搜索出的代碼倉庫,并新建自己的倉庫。在倉庫中有如下兩個腳本:

1597728979389025866.png

start_zap.sh腳本用來執(zhí)行安全測試,生成測試結(jié)果,并將測試結(jié)果傳遞給data_analysis.py進(jìn)行處理。

data_analysis.py腳本用來進(jìn)行測試結(jié)果處理,實(shí)現(xiàn)門禁功能。注意用戶在使用過程中,需將該腳本中的用戶名、密碼改成自己的華為云用戶名、密碼。

1597728996637006072.png

1.2 將ZAP鏡像上傳到華為云SWR鏡像倉

華為云容器鏡像服務(wù)(Software Repository for Container)是一種支持容器鏡像全生命周期管理的服務(wù),提供簡單易用、安全可靠的鏡像管理功能,幫助用戶快速部署容器化服務(wù)。

在這里,我們首先將ZAP鏡像拉取到本地,命令如下:

docker pull owasp/zap2docker-weekly

然后再上傳到華為云SWR中,以便后續(xù)使用。如下圖所示:

1597729011537027192.png

1.3 在華為云DevCloud中添加相應(yīng)服務(wù)擴(kuò)展點(diǎn)

服務(wù)擴(kuò)展點(diǎn)是DevCloud平臺的一種擴(kuò)展插件,為DevCloud平臺提供鏈接第三方服務(wù)的能力。如本文中的華為云SWR鏡像倉。

本文中使用華為云SWR鏡像倉地址為:swr.cn-north-4.myhuaweicloud.com

用戶名、密碼等信息可以到華為云SWR頁面點(diǎn)擊登錄信息按鈕進(jìn)行獲取。

1597729024813042136.png

1.4 已準(zhǔn)備好待檢測網(wǎng)站地址

本文用的是ZAP Baseline Scan中的示例:https://www.example.com

1.5 彈性云服務(wù)器

部署將使用帶有公網(wǎng)IP的彈性云服務(wù)器,本文使用的是華為云ECS。

2.在華為云DevCloud流水線中設(shè)置OWASP ZAP測試

2.1 將腳本發(fā)布到發(fā)布倉庫

我們可以使用編譯構(gòu)建任務(wù)將步驟1.1代碼倉庫中的start_zap.sh和data_analysis.py腳本發(fā)布到發(fā)布倉庫中,供后續(xù)使用。當(dāng)然也可以下載后上傳到發(fā)布倉庫,本處不在贅述。

1597729039738089005.png

2.2 創(chuàng)建ZAP運(yùn)行環(huán)境

通過華為云DevCloud的部署任務(wù)來創(chuàng)建ZAP運(yùn)行環(huán)境,主要是從SWR拉取鏡像部署到用戶自己的彈性云服務(wù)器中,然后安裝Python、Tomcat基礎(chǔ)環(huán)境,并將安全測試腳本拉取到彈性云服務(wù)器中執(zhí)行并進(jìn)行結(jié)果處理。

?安裝Docker。

1597729050757024655.png

?登錄Docker鏡像倉。

1597729106322099566.png

?拉取鏡像。

1597729118633092279.png

?安裝Python,執(zhí)行Python腳本用。

1597729134164037856.png

?安裝Tomcat,在線瀏覽測試結(jié)果用。

1597729145145048885.png

?停止Tomcat。

1597729155039057565.png

?拉取步驟2.1中上傳到發(fā)布倉庫中的測試用腳本(start_zap.sh和data_analysis.py)。

1597729173083035210.png

?執(zhí)行測試用腳本,進(jìn)行流程控制。

1597729190820023436.png

?啟動Tomcat服務(wù),在線瀏覽測試結(jié)果。

1597729203939069065.png

2.3 將ZAP安全測試添加到流水線中

將要測試網(wǎng)站進(jìn)行構(gòu)建、檢查、打包、部署,然后通過ZAP進(jìn)行安全測試,測試沒有問題后,進(jìn)行業(yè)務(wù)決策,并上線生產(chǎn)環(huán)境。

1597729216231084877.png

流水線執(zhí)行后,我們可以通過在線瀏覽查看相應(yīng)的測試報(bào)告,如下圖所示:

1597729226492091349.png

根據(jù)測試結(jié)果腳本中的處理流程,在有問題的情況下,我們可以直接在華為云DevCloud的項(xiàng)目管理服務(wù)新建相應(yīng)工作項(xiàng)如下圖所示:

1597729234657009558.png

本文實(shí)現(xiàn)了在華為云DevCloud流水線中實(shí)現(xiàn)OWASP ZAP安全測試,企業(yè)組織可以在本文的基礎(chǔ)上進(jìn)一步優(yōu)化相關(guān)的實(shí)現(xiàn)。當(dāng)然,企業(yè)組織在軟件交付中,可能還會使用其它第三方工具,也可以參考本文找到解決方法。

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來源:華為云社區(qū)
版權(quán)說明:本文內(nèi)容來自于華為云社區(qū),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
近6成金融機(jī)構(gòu)的選擇!華為云GaussDB加快金融核心系統(tǒng)轉(zhuǎn)型
近6成金融機(jī)構(gòu)的選擇!華為云GaussDB加快金融核心系統(tǒng)轉(zhuǎn)型
當(dāng)前,數(shù)據(jù)庫在金融機(jī)構(gòu)的應(yīng)用正在從辦公、一般系統(tǒng)逐步邁入核心系統(tǒng)應(yīng)用的深水區(qū)。如何構(gòu)建安全可靠、高效穩(wěn)定的核心系統(tǒng)數(shù)據(jù)庫,支持業(yè)務(wù)運(yùn)營和管理決策,成為了眾多金融機(jī)構(gòu)關(guān)注的焦點(diǎn)問題。
華為云
2024-07-04
華為云以系統(tǒng)性創(chuàng)新加速千行萬業(yè)智能化升級
華為云以系統(tǒng)性創(chuàng)新加速千行萬業(yè)智能化升級
華為云全球銷售收入達(dá)553億元人民幣,是全球增長最快的主流云廠商之一。
華為云
2024-04-22
華為云發(fā)布新型工業(yè)互聯(lián)網(wǎng)平臺參考架構(gòu)
華為云發(fā)布新型工業(yè)互聯(lián)網(wǎng)平臺參考架構(gòu)
近日,在華為分析師大會上,華為混合云副總裁胡玉海重磅發(fā)布《新型工業(yè)互聯(lián)網(wǎng)平臺參考架構(gòu)》白皮書,在傳統(tǒng)工業(yè)互聯(lián)網(wǎng)的基礎(chǔ)上,融入大模型的能力,讓智能化賦能新型工業(yè)化。
華為云
云服務(wù)
2024-04-22
支撐核心系統(tǒng)分布式改造,GaussDB為江南農(nóng)商銀行筑穩(wěn)根基
支撐核心系統(tǒng)分布式改造,GaussDB為江南農(nóng)商銀行筑穩(wěn)根基
在移動互聯(lián)網(wǎng)快速普及的當(dāng)下,金融機(jī)構(gòu)能否提供便捷、智能、個性化的金融服務(wù),成為關(guān)乎業(yè)務(wù)開展和企業(yè)成長的重要命題。
華為云
2024-01-25
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家