jenkins+Acunetix實現自動化安全測試


目前主流的開發采用的是devops模式(開發、測試、運維一體化)。隨着互聯網安全要求越來越高,對網絡安全就越發變得重要了。傳統的測試工程師主要是對功能、接口、性能方面做測試,而對安全方面測試考慮很少。需要專業的白帽子工程師來實現測試,對人的要求較高。目前提出devsecops模式 也就是增加安全測試這塊。

DevSecOps 是一種把安全的最佳實戰集成到DevOps的流程里面。 DevSecOps包括創立一種 安全即代碼(‘Security as Code’ )的文化,從而在發布開發工程師和安全團隊之間,建立一種可以持續的,靈活合作的機制和流程,從而把在傳統軟件開發流程里面最后由安全測試團隊把關掃描的安全工作,左移到整個軟件開發的全流程,從而大大降低了應用在上線后出現的安全隱患,也大大加快了上線的速度,同時也讓其他非安全團隊的軟件人員在開發,測試,發布的全過程中,有安全意識,而不是時候補救,甚至大大修改框架

jenkins+Acunetix實現自動化安全測試

 

下面介紹jenkins+Acunetix實現自動化安全測試

1)安裝jenkins 關於Acunetix的插件

在jenkins 插件管理市場中 搜索到Acunetix 插件

jenkins+Acunetix實現自動化安全測試

 

安裝完成后在已經安裝插件列表中會顯示

jenkins+Acunetix實現自動化安全測試

 

安裝好插件后,重啟jenkins 使得插件生效

2)安裝Acunetix 證書到 java keystore 中

2.1) Acunetix ca 證書是什么東西,在哪里呢?

使用到Acunetix 會用到https 所以我們需要將Acunetix ca證書安裝到jenkins 依賴的jdk java keystore中。

Acunetix on windows

Acunetix ca在哪里呢,下面以windows為例,介紹一下

我這里使用的是
acunetix_14.1.210316110.exe 安裝版本,安裝后會在D:\ProgramData\Acunetix\certs 目錄下生成 ca證書

jenkins+Acunetix實現自動化安全測試

 

Acunetix on linux

我使用的是docker 容器版本的官方的鏡像secfa/docker-awvs,官方鏡像地址

jenkins+Acunetix實現自動化安全測試

 

容器里面ca 證書在哪呢?目錄結構在
/home/acunetix/.acunetix/data/certs

jenkins+Acunetix實現自動化安全測試

 

2.2 jdk 如何導入Acunetix ca 證書呢?

Jenkins on Windows

查找當前jenkins 依賴的jdk. 我們的jdk是windows 環境的,所以我的jre security 目前在

D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts

jenkins+Acunetix實現自動化安全測試

 

jenkins+Acunetix實現自動化安全測試

 

我們使用cmd命令行執行如下命令

keytool -import -trustcacerts -alias AcunetixCA -keystore "D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts" -file D:\ProgramData\Acunetix\certs\ca.cer

解釋 通過 keytool 導入 證書 Java keystore 目錄“ D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts

導入 目標Acunetix ca “D:\ProgramData\Acunetix\certs\ca.cer

jenkins+Acunetix實現自動化安全測試

 

輸入密碼 changeit

確認已在Windows上成功安裝證書

keytool -list -keystore "D:\develop\java\jdk1.8.0_211\jre\lib\security\cacerts" -alias AcunetixCA

jenkins+Acunetix實現自動化安全測試

 

輸入密碼 changeit

顯示如下信息

jenkins+Acunetix實現自動化安全測試

 

Jenkins on Linux

從命令提示符運行以下命令:

keytool -import -trustcacerts -alias AcunetixCA -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/jre/lib/security/cacerts -file /home/acunetix/.acunetix/data/certs/ca.cer

確認已在Windows上成功安裝證書

keytool -list -keystore /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/jre/lib/security/cacerts -alias AcunetixCA

 

3)jenkins 配置Jenkins and Acunetix

在jenkins 中 manage Jenkins ——Configure System

jenkins+Acunetix實現自動化安全測試

 

在Acunetix API Key 增加Acunetix key

點擊“添加” 按鈕 設置Jenkins 憑據提供者

jenkins+Acunetix實現自動化安全測試

 

Acunetix key 是從哪獲取的呢?

登陸Acunetix 平台在點擊profile

jenkins+Acunetix實現自動化安全測試

 

jenkins+Acunetix實現自動化安全測試

 

通過復制生成的api key 列如
1986ad8c0a5b3df4d7028d5f3c06e936cf9fc21aaf2a947ff88827667d8186740

復制的到上面Jenkins 憑據提供者中的secret 中

 

點擊Test Connection 驗證配置是否成功

jenkins+Acunetix實現自動化安全測試

 

4)jenkins 項目中配置Acunetix實現自動安全測試

新建ddd項目,添加acunetix scan 配置

1 Scan Type

這里面根據掃描的類型(完全掃描、掃描高風險漏洞、掃描XSS漏洞、掃描SQL注入漏洞、弱口令檢測、Crawl Only,僅爬蟲、惡意軟件掃描)等屬性進行掃描

jenkins+Acunetix實現自動化安全測試

 

2 Scan Target

這個里面是根據acunetix 平台中目前存在的目標項列出,我們根據自己的實際項目選擇一個目標項目

jenkins+Acunetix實現自動化安全測試

 

3.Fail the build if threat level is

這個根據自己實際項目來(不要使構建失敗、高危、中危和高位、低位中危高危)

目前我們設置有漏洞也不阻止構建失敗

jenkins+Acunetix實現自動化安全測試

 

4.Generate Report

這里面會根據報告模版創建各種報告,目前我們默認就選擇developer 就可以了

jenkins+Acunetix實現自動化安全測試

 

這里面報告和acunetix平台報告相對應

jenkins+Acunetix實現自動化安全測試

 

jenkins+Acunetix實現自動化安全測試

 

設置好點擊保存

5)jenkins 項目中實現自動安全測試

點擊項目構建,完成項目 編譯、打包、單元測試、接口測試、安全測試等。

我這里只是設置了安全測試 其他這里就不做重點介紹。

jenkins+Acunetix實現自動化安全測試

 

構建后自動生成安全測試報告

 

以上,我們通過jenkins+Acunetix 實現了 安全自動化測試,這樣我們再結合其他單元測試、自動化接口測試,就實現了簡單的DevSecOps功能了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM