Acunetix與Jenkins集成
將Acunetix與Jenkins集成
您可以從https://jenkins.io/download/ 下載Jenkins 。Jenkins在Windows,Linux發行版等平臺上以及Docker容器中工作。本文檔的其余部分假定使用從LTS文件組下載的“ jenkins-2.222.4.zip”文件在Windows上安裝了Jenkins。測試中使用的特定URL為:
http://ftp-nyc.osuosl.org/pub/jenkins/windows-stable/jenkins-2.222.4.zip
本文檔將描述如何:
- 配置Jenkins與Acunetix集成
- 在Jenkins作業中添加Acunetix掃描作為構建步驟
配置Jenkins與Acunetix集成
步驟1:安裝Jenkins的Acunetix插件

- 在Jenkins用戶界面中,導航到“管理Jenkins”

- 點擊“管理插件”
- 轉到“可用”標簽。

- 篩選“ acunetix”,然后從插件列表中選擇“ Acunetix”
- 單擊“Install without restar”按鈕,開始為Jenkins安裝Acunetix插件。

- Jenkins將自動安裝任何必需的依賴項以及Acunetix插件。完成后,單擊“在安裝完成且沒有作業正在運行時重新啟動Jenkins”。

步驟2:查找證書存儲路徑,您需要將Acunetix SSL證書安裝到Jenkins CA存儲中
| ??關于Jenkins機器上的多個JAVA實例 |
|---|
| 請注意,運行您的Jenkins服務的JAVA實例與“管理Jenkins =>全局工具配置”中定義的任何JDK實例無關。Jenkins在構建過程中使用了全局工具配置中定義的JDK實例。 |
證書存儲路徑和文件將為JAV_HOME_FOLDER \ lib \ security \ cacerts。因此,下一步是為運行您的jenkins服務的JAVA二進制文件標識JAVA_HOME_FOLDER –請記住,您的計算機可能安裝了不同版本的JAVA。
Windows上的Jenkins
- 首先,我們需要了解哪個JAVA安裝正在運行Jenkins服務。您可以通過檢查Jenkins安裝目錄中的“ jenkins.xml”文件中的“ executable”標簽來獲得此文件:
< executable >%BASE%\ jre \ bin \ java </ executable>
%BASE%變量引用Jenkins安裝目錄。通常,這將是“ C:\ Program Files(x86)\ Jenkins”。
- 要找到運行jenkins服務的JAVA實例的“ java.home”目錄,請運行以下命令:
“ C:\ Program Files(x86)\ Jenkins \ jre \ bin \ java” -XshowSettings:properties -version 2>&1 | find “ java.home”
用“ jenkins.xml”文件中“ executable”標記產生的適當值替換JAVA路徑。輸出將顯示相關的“ java.home”目錄:
java.home = C:\ Program Files(x86)\ Jenkins \ jre
- 由于使用的證書存儲文件是JAV_HOME_FOLDER \ lib \ security \ cacerts,因此我們現在知道在此示例中,使用的證書存儲文件是C:\ Program Files(x86)\ Jenkins \ jre \ lib \ security \ cacerts。
Linux上的Jenkins
- 您首先需要了解哪個JAVA二進制文件正在運行您的Jenkins服務。在命令行中,運行以下命令:
ps -aux | grep jenkins
您應該收到輸出,該輸出顯示名稱或路徑中包括“ jenkins”在內的所有進程;像這樣:
jenkins 11044 0.0 0.4 21156 9060?Ss 13:42 0:00 / lib / systemd / systemd –user jenkins 11045 0.0 0.1 106264 2620?S 13:42 0:00(SD-PAM)jenkins 11058 0.0 0.0 0.0 5712 160?S 13:42 0:00 / usr / bin / daemon –name = jenkins –inherit –env = JENKINS_HOME = / var / lib / jenkins –output = / var / log / jenkins / jenkins.log –pidfile = / var / run / jenkins / jenkins.pid-/ bin / java -Djava.awt.headless = true -jar /usr/share/jenkins/jenkins.war –webroot = / var / cache / jenkins / war- -httpPort = 8080 jenkins 11059 3.1 14.0 2623256 287656 Sl 13:42 0:22 / bin / java -Djava.awt.headless = true -jar /usr/share/jenkins/jenkins.war –webroot = / var / cache / jenkins / war –httpPort = 8080 root 11194 0.0 0.0 6048 888 pts / 0 S + 13:54 0:00 grep jenkins
在這種情況下,我們可以看到java可執行文件是“ / bin / java”(您的系統可能顯示一些不同的配置)–但幾乎可以肯定,它是由JDK或JRE軟件包安裝的實際二進制文件的符號鏈接–甚至可能是符號鏈接鏈。
- 要找到運行jenkins服務的JAVA實例的“ java.home”目錄,請運行以下命令:
/ bin / java -XshowSettings:properties -version 2>&1 | grep“ java.home”
將“ / bin / java”替換為您在運行的命令中報告的內容,如上所述。輸出將顯示相關的“ java.home”目錄:
java.home = / usr / lib / jvm / java-11-openjdk-amd64
- 由于正在使用的證書存儲文件為JAV_HOME_FOLDER / lib / security / cacerts,因此我們現在知道在此示例中,正在使用的證書存儲文件為/ usr / lib / jvm / java-11-openjdk-amd64 / lib / security / cacerts 。
步驟3:將證書安裝到您的JAVA密鑰庫中
| ??about關于將證書安裝到JAVA密鑰庫中的注意事項 |
|---|
| 每次安裝JAVA時,在密鑰庫“ changeit”上都有一個默認密碼。通常無需更改此密碼,并且本文檔將假定您知道您的JAVA密鑰庫密碼。在此處列出的所有示例中,您可能需要調整路徑以確保JAVA密鑰庫的正確位置。 |
將證書安裝到您的JAVA密鑰庫中:
a. 對于Windows,從命令提示符處運行此命令:C:> keytool-import-trustcacerts-alias AcunetixCA -keystore“ C:\ Program Files(x86)\ Jenkins \ jre \ lib \ security \ cacerts”-fileC:\ ProgramData \ Acunetix \ certs \ ca.cer
b. 對于Linux,從命令提示符處運行此命令:
[john @ localhost]?] $ 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
檢查您是否已成功安裝證書:
a. 在Windows上:C:> keytool-list-keystore“ C:\ Program Files \ Java \ jre1.8.0_251 \ lib \ security \ cacerts” -alias AcunetixCA
b. 在Linux上:
[john @ localhost]?] $ 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
如果證書已成功安裝,您將看到AcunetixCA詳細信息,例如:
C:> keytool -list -keystore“ c:\ Program Files \ Java \ jre1.8.0_251 \ lib \ security \ cacerts” -alias AcunetixCA
Enter keystore password:AcunetixCA,15 May 2020,trustedCertEntry,
Certificate fingerprint (SHA-256):E6:01:86:F3:43:33:97:25:71:B9:4E:BC:D9:08:30:AC:18:75:F6:9A:E6: D0:09:1D:D0:90:DF:2A:1D:8E:97:BAC:>
步驟4:配置Jenkins與Acunetix集成
- 轉到“管理Jenkins”頁面。

- 單擊“配置系統”,然后滾動到頁面底部以轉到Acunetix插件配置部分。

確保默認的API URL值正確。默認情況下,Acunetix API URL字段包含值localhost。
- Acunetix CA證書是在安裝過程中選擇的主機名上頒發的。因此,在Jenkins中配置Acunetix URL時,重要的是使用在安裝過程中選擇的主機名。有關更多信息,請參見本文檔進一步的標題為“連接問題-注釋和故障排除”的小節。
- 如果您的Jenkins實例部署在與Acunetix實例不同的主機上,則需要使localhost以外的其他主機均可訪問Acunetix.
- 如果您使用的是Acunetix Online,則應使用https://online.acunetix.com/api/v1
點擊“添加=>Jenkins”按鈕

- 在“憑據提供程序”對話框中:
- 將“種類”字段設置為“秘密文本”
- 將“范圍”字段設置為“全局(詹金斯,節點,項目,所有子項目等)”
- 將“秘密”字段設置為Acunetix API密鑰。要檢索Acunetix API密鑰,請轉到Acunetix UI:
- 轉到“個人資料”頁面(您必須是管理員用戶),然后滾動到底部
- 如果您還沒有API密鑰,請單擊“生成新的API密鑰”按鈕
- 點擊“復制”按鈕,將API密鑰復制到剪貼板
- 返回Jenkins用戶界面
- 將API密鑰從剪貼板粘貼到“秘密”字段中
- (可選)將“說明”設置為類似于“ Acunetix API密鑰”
- 單擊“添加”按鈕完成此步驟。
- 單擊“應用”按鈕以保存Acunetix API密鑰設置–使用“測試連接”按鈕之前,單擊“應用”很重要。
- 單擊“測試連接”按鈕-您將看到消息“已成功連接”
連接問題-注釋和故障排除
Acunetix CA證書是在安裝過程中選擇的主機名上頒發的。因此,在Jenkins中配置Acunetix URL時,重要的是使用在安裝過程中選擇的主機名。如果要使用IP地址,則需要在IP地址上再次生成Acunetix CA證書。
如果您使用主機名而不是IP或其他方式,Jenkins將以 “連接被拒絕” 錯誤響應。要進一步調查遇到的問題,請針對您的操作系統按照以下說明進行操作。
Windows
默認情況下,除非在%JENKINS_HOME%\ jenkins.xml中進行了自定義,否則您可以在%JENKINS_HOME%\ jenkins.out 和%JENKINS_HOME%\ jenkins.err中找到Jenkins日志。
Linux
默認情況下,你可以找到/jenkins日志中/var/log/jenkins/jenkins.log ,除非定制的/ etc /default/jenkins/jenkins(為* .deb),或通過在/ etc / SYSCONFIG /jenkins(為*.rpm )。
在Jenkins作業中添加Acunetix掃描作為構建步驟
要將Acunetix掃描添加為Jenkins作業的構建步驟,請導航至現有作業的配置或創建新作業。在“ 構建” 步驟中, 從“ 添加構建步驟” 下拉列表中選擇Acunetix 。

您將看到以下選項:
- 掃描類型:選擇掃描的掃描類型。掃描類型用于減小掃描儀在掃描過程中運行的測試范圍。
- 掃描目標:選擇您要掃描的掃描目標。掃描目標是從Acunetix獲得的,但需要手動干預的目標除外。列出的目標包含其描述的一部分,以幫助您區分具有相同URL的目標。
- 如果威脅級別為,則構建失敗:根據掃描的威脅級別(高嚴重性,中嚴重性或低嚴重性)選擇要使Jenkins構建失敗的威脅級別
- 如果構建失敗,則停止掃描:如果 滿足“如果威脅級別失敗,則構建失敗”中的失敗條件時,如果要中止掃描,請選中此復選框。默認情況下啟用此設置。
- 生成報告:選擇掃描完成時生成的報告。可以在Acunetix內訪問該報告,并在作業控制臺輸出內提供下載鏈接。
推薦文章: