安裝及使用 Azure DevOps Services 外掛程式
這個作業說明如何安裝及使用 Azure DevOps Services 外掛程式,以便在 Azure DevOps Services 和 Team Foundation Server (TFS) 管線中,執行靜態或動態掃描。(Azure DevOps Services 先前稱為 Visual Studio Team Services (VSTS))。
指導教學
安裝 Azure DevOps/TFS 外掛程式
- 在 Azure DevOps Services 中,前往「 」。
- 在產生的視窗中,搜尋 HCL。
- 選取及安裝 HCL AppScan 外掛程式。
設定 Azure DevOps 環境
如果要配置 Azure DevOps 環境以進行測試:
- 登入 Azure DevOps Services。
- 建立新組織:
- 按一下「建立新組織」。
- 指定組織名稱。
- 指定專案名稱。
- 指出專案為公用或私密。
- 按一下確定。
- 讓程式碼儲存庫與專案產生關聯:
- 按一下「 」。
- 選取「匯入」。
- 選擇儲存庫的來源類型。
- 指定儲存庫的複製 URL。
- 按一下「匯入」。
- 建立建置管線:
- 按一下「 」。
- 按一下「新管線」。
- 按一下「使用視覺化設計程式」。
- 在選取來源時,按一下「Azure Repos git」,選取要掃描的儲存庫,然後按一下「繼續」。
- 選取「空管線」和「繼續」。
- 按一下「代理程式工作 1」旁邊的 +,搜尋 NuGet,然後按一下「新增」。
- 從作業中選取「NuGet 還原」,並且將其指向解決方案檔案。在「解決方案、packages.config 或 project.json 的路徑」底下,瀏覽至適當的 .sln 檔案。
- 按一下「代理程式工作 1」旁邊的 +,以新增第一個步驟。依序按一下「建置」、「Visual Studio 建置」、「新增」。
- 按一下「建置解決方案 **/*.sln」並且將其指向解決方案檔案。在「解決方案」欄位中,瀏覽至適當的 .sln 檔案。
- 按一下「儲存並排入佇列」以測試建置。
當您對建置進行調整時,新增註解以反映這些變更。您每次按一下「儲存並排入佇列」時,建置號碼就會更新。
使用 Azure DevOps/TFS 外掛程式
新增安全測試
- 選擇下列其中一項:
- 如果是 Azure DevOps Services,請從您專案的首頁選擇「 」功能表。
- 如果是 TFS,請選擇「 」。
- 編輯您想要在其中新增安全測試的管線。
- 在「作業」標籤上。按一下「+」以新增作業。
- 找到作業為 HCL AppScan on Cloud,然後按一下新增。
- 在您的建置程序中,按一下新增的執行 HCL AppScan on Cloud 安全測試作業。
- 指定「作業設定」
- 在「顯示名稱」輸入字串。
這個字串會成為建置程序中的作業名稱。
- 從清單中選取適當的認證。
如果「認證」欄位是空白的,請參閱新增服務端點。
- 選取「應用程式」清單中的應用程式。
隨即根據您選取的認證移入「應用程式」下拉清單。
- 在「掃描名稱」欄位中輸入掃描的名稱。選用。
這個名稱會成為服務中掃描的名稱。
- 從「掃描類型」清單中選取掃描類型:
- 選取「Static Analyzer」以執行靜態分析安全測試。
表 1. Static Analyzer 掃描參數 參數 說明 要掃描的儲存庫子目錄 輸入值或是從儲存庫的檔案瀏覽器對話框選取值(選擇性)。依預設,服務會掃描整個儲存庫。如果要將掃描限制為子目錄,請在這裡指定相對路徑。 其他選項 掃描速度 根據需要和時間需求,指定掃描最佳化層次: - 簡易:
simple
掃描會執行檔案的表面層次分析,為您識別最需要補救的緊迫問題。此類掃描完成所需的時間最短。 - 平衡:
balanced
掃描提供中等層次的安全問題分析和識別,完成所需的時間比simple
掃描稍微久一點。 - 深層:預設值。
deep
掃描會對您的檔案執行更完整的分析,以識別漏洞,通常需要較久的時間才能完成。 - 完整:
thorough
掃描會執行全面性的分析,識別最全面的漏洞清單,因此完成所需的時間最久。
註: 掃描速度與在程式碼中找到的漏洞數目不一定相關。例如,thorough
分析可能會排除simple
掃描報告中的誤判,因此報告的漏洞較少。 - 簡易:
- 選取「動態分析器」,對執行於瀏覽器中的應用程式執行分析。
表 2. Dynamic Analyzer 掃描參數 參數 說明 起始 URL 輸入 URL,表示您要掃描開始探索網站的位置。
如果您選取「其他選項」,則有下列選用設定可用:
其他選項 網站類型 指出您的網站是「暫置」網站(開發中)或「正式作業」網站(現正使用中)。或是選擇「NA」。 測試最佳化 指定最佳化層次: - 無最佳化(預設值):一般深度掃描。掃描時間較久。最大漏洞涵蓋範圍。
- 快速:速度加快高達兩倍。漏洞涵蓋範圍 ~97%。
- 較快:速度加快高達五倍。漏洞涵蓋範圍 ~85%。
- 最快:速度加快高達十倍。漏洞涵蓋範圍 ~70%。
如需測試最佳化和相對掃描深度和速度的其他資訊,請參閱「測試最佳化」。
登入使用者和登入密碼 如果應用程式需要登入,請輸入有效的使用者認證。 第三個認證 如果您的應用程式需要第三方認證,請在此欄位中輸入它。 Presence 如果應用程式不在網際網路上,請輸入 AppScan Presence 名稱。如需建立 AppScan Presence 的相關資訊,請參閱 AppScan Presence。 掃描檔案 如果您擁有 AppScan Standard 掃描檔案,請在此欄位中輸入相對路徑和檔名。如果要進一步瞭解 AppScan Standard 標準掃描檔案,請參閱使用 AppScan Standard 掃描或範本。 如果要進一步瞭解動態分析設定,請參閱建立新的掃描(完整配置)。
- 選取「Static Analyzer」以執行靜態分析安全測試。
- 在「顯示名稱」輸入字串。
進階選項
進階選項不是使用 Azure DevOps/TFS 外掛程式的必要選項。如果要設定進階內容:
- 按一下「進階」以顯示其他選項。
- 選取「電子郵件通知」勾選框,在安全分析完成時接收電子郵件。電子郵件會傳送到與選取的認證相關聯的電子郵件位址。
- 選取「以個人掃描執行」,以評估開發中應用程式的相對安全性,而不影響整體的應用程式掃描資料或合規性。在已淘汰的 HCL AppScan 作業中,無法使用個人掃描支援。
- 請選取容許掃描啟用團隊介入,以允許掃描啟用團隊在掃描失敗或找不到問題時介入,以嘗試修正配置。這可能會導致掃描結果延遲。依預設,會選取此選項。
- 選取「暫停工作,直到安全分析完成」:如果您要在進行管線中的下一步之前,讓 Jenkins 建置等待安全分析結果成為可用,請選取此勾選框。
- 選取「失敗建置配置」以指定使建置根據安全測試結果而失敗的條件。只有在選取「暫停工作,直到安全分析完成」時,才會顯示「失敗建置配置」。
- 選取「與應用程式原則不相符」,在發現任何不符所選取應用程式原則規範的安全問題時,使建置失敗。
- 選取「當下列條件為真時」,根據不符規範之「總計」安全問題、「重大」嚴重性安全問題、「高」嚴重性安全問題、「中」嚴重性安全問題,或「低」嚴重性安全問題的指定數目,使建置失敗。如果指定多個臨界值,邏輯上為 OR 關聯。
- 一旦建置完成,您可以從「建置摘要」頁面上的「應用程式安全報告」標籤,檢視或下載掃描報告。此報告僅包含不相容的問題。「應用程式安全」報告和 irx. 產生日誌(適用於「靜態」掃描)也可以透過「Azure 管線建置」日誌下載。註: 請注意,如果未選取「暫停工作,直到安全分析完成」的選項,則無法下載掃描報告。在此情況下,您可以從 HCL AppScan On Cloud 入口網站下載報告。
新增服務端點
如果在「作業設定」中「認證」欄位是空白的,您必須配置服務端點。如果要配置服務端點以使用 Azure DevOps/TFS 外掛程式:
- 在「作業設定」中,按一下空白「認證」欄位上方的「管理」。
- 在產生的視窗中,按一下「新增服務端點」。
- 從端點的清單中按一下 HCL AppScan on Cloud。
- 在產生的對話框中填入詳細資料,然後按一下「確定」。
表 3. 服務端點內容 內容 值 連線名稱 連線的邏輯名稱。 伺服器 URL -
AppScan on Cloud 美國資料中心: http://cloud.appscan.com/
-
AppScan on Cloud 歐盟資料中心: http://cloud.appscan.com/eu/
KeyID 在 AppScan on Cloud 服務取得您正在使用的資料中心 的 KeyID 和 KeySecret: KeySecret -
最佳化掃描並且檢閱結果
至於其他掃描,您可以使用配置檔,藉由指定個別目標納入掃描或從掃描中排除以及指定其他資訊,來最佳化掃描。
當掃描完成時,AppScan on Cloud 會產生掃描的報告。檢閱結果中的資訊,以瞭解安全漏洞的報告方式,以及如何修補問題。