安裝及使用 Azure DevOps Services 外掛程式

這個作業說明如何安裝及使用 Azure DevOps Services 外掛程式,以便在 Azure DevOps Services 和 Team Foundation Server (TFS) 管線中,執行靜態或動態掃描。(Azure DevOps Services 先前稱為 Visual Studio Team Services (VSTS))。

指導教學

安裝 Azure DevOps/TFS 外掛程式

註: AppScan 360° 支援 TFS 2018 版更新 2 及更新版本。
如果要使用 Azure DevOps/TFS 外掛程式,您必須先從 Azure DevOps 市集下載外掛程式,然後進行安裝:
  1. 在 Azure DevOps Services 中,前往「管理延伸 > 瀏覽市集」。
  2. 在產生的視窗中,搜尋 HCL
  3. 選取及安裝 HCL AppScan 外掛程式。
註: 如果是 TFS,請依照指示從 Azure DevOps 市集下載外掛程式。完成之後,前往「管理延伸 > 瀏覽本端延伸 > 上傳新的延伸」,然後選擇已下載的延伸進行安裝。

設定 Azure DevOps 環境

如果要配置 Azure DevOps 環境以進行測試:

  1. 登入 Azure DevOps Services。
  2. 建立新組織:
    1. 按一下「建立新組織」。
    2. 指定組織名稱。
    3. 指定專案名稱。
    4. 指出專案為公用或私密。
    5. 按一下確定
  3. 讓程式碼儲存庫與專案產生關聯:
    1. 按一下「儲存庫 > 檔案」。
    2. 選取「匯入」。
    3. 選擇儲存庫的來源類型。
    4. 指定儲存庫的複製 URL。
    5. 按一下「匯入」。
  4. 建立建置管線:
    1. 按一下「管線 > 建置」。
    2. 按一下「新管線」。
    3. 按一下「使用視覺化設計程式」。
    4. 在選取來源時,按一下「Azure Repos git」,選取要掃描的儲存庫,然後按一下「繼續」。
    5. 選取「空管線」和「繼續」。
    6. 按一下「代理程式工作 1」旁邊的 +,搜尋 NuGet,然後按一下「新增」。
    7. 從作業中選取「NuGet 還原」,並且將其指向解決方案檔案。在「解決方案、packages.config 或 project.json 的路徑」底下,瀏覽至適當的 .sln 檔案。
    8. 按一下「代理程式工作 1」旁邊的 +,以新增第一個步驟。依序按一下「建置」、「Visual Studio 建置」、「新增」。
    9. 按一下「建置解決方案 **/*.sln」並且將其指向解決方案檔案。在「解決方案」欄位中,瀏覽至適當的 .sln 檔案。
    10. 按一下「儲存並排入佇列」以測試建置。

      當您對建置進行調整時,新增註解以反映這些變更。您每次按一下「儲存並排入佇列」時,建置號碼就會更新。

使用 Azure DevOps/TFS 外掛程式

新增安全測試

如果要將安全測試新增至 Azure DevOps/TFS 中的建置程序:
  1. 選擇下列其中一項:
    • 如果是 Azure DevOps Services,請從您專案的首頁選擇「管線 > 建置」功能表。
    • 如果是 TFS,請選擇「建置和版本 > 建置」。
  2. 編輯您想要在其中新增安全測試的管線。
  3. 在「作業」標籤上。按一下「+」以新增作業。
  4. 找到作業為 HCL AppScan on Cloud,然後按一下新增
  5. 在您的建置程序中,按一下新增的執行 HCL AppScan on Cloud 安全測試作業。
  6. 指定「作業設定
    1. 在「顯示名稱」輸入字串。

      這個字串會成為建置程序中的作業名稱。

    2. 從清單中選取適當的認證

      如果「認證」欄位是空白的,請參閱新增服務端點

    3. 選取「應用程式」清單中的應用程式。

      隨即根據您選取的認證移入「應用程式」下拉清單。

    4. 在「掃描名稱」欄位中輸入掃描的名稱。選用。

      這個名稱會成為服務中掃描的名稱。

    5. 從「掃描類型」清單中選取掃描類型:
      • 選取「Static Analyzer」以執行靜態分析安全測試。
        1. Static Analyzer 掃描參數
        參數 說明
        要掃描的儲存庫子目錄 輸入值或是從儲存庫的檔案瀏覽器對話框選取值(選擇性)。依預設,服務會掃描整個儲存庫。如果要將掃描限制為子目錄,請在這裡指定相對路徑。
        其他選項
        掃描速度 根據需要和時間需求,指定掃描最佳化層次:
        • 簡易simple 掃描會執行檔案的表面層次分析,為您識別最需要補救的緊迫問題。此類掃描完成所需的時間最短。
        • 平衡balanced 掃描提供中等層次的安全問題分析和識別,完成所需的時間比 simple 掃描稍微久一點。
        • 深層:預設值。deep 掃描會對您的檔案執行更完整的分析,以識別漏洞,通常需要較久的時間才能完成。
        • 完整thorough 掃描會執行全面性的分析,識別最全面的漏洞清單,因此完成所需的時間最久。
        註: 掃描速度與在程式碼中找到的漏洞數目不一定相關。例如,thorough 分析可能會排除 simple 掃描報告中的誤判,因此報告的漏洞較少。

進階選項

進階選項不是使用 Azure DevOps/TFS 外掛程式的必要選項。如果要設定進階內容:

  1. 按一下「進階」以顯示其他選項。
  2. 選取「電子郵件通知」勾選框,在安全分析完成時接收電子郵件。電子郵件會傳送到與選取的認證相關聯的電子郵件位址。
  3. 選取「以個人掃描執行」,以評估開發中應用程式的相對安全性,而不影響整體的應用程式掃描資料或合規性。在已淘汰的 HCL AppScan 作業中,無法使用個人掃描支援。
  4. 請選取容許掃描啟用團隊介入,以允許掃描啟用團隊在掃描失敗或找不到問題時介入,以嘗試修正配置。這可能會導致掃描結果延遲。依預設,會選取此選項。
  5. 選取「暫停工作,直到安全分析完成」:如果您要在進行管線中的下一步之前,讓 Jenkins 建置等待安全分析結果成為可用,請選取此勾選框。
  6. 選取「失敗建置配置」以指定使建置根據安全測試結果而失敗的條件。只有在選取「暫停工作,直到安全分析完成」時,才會顯示「失敗建置配置」。
    • 選取「與應用程式原則不相符」,在發現任何不符所選取應用程式原則規範的安全問題時,使建置失敗。
    • 選取「當下列條件為真時」,根據不符規範之「總計」安全問題、「重大」嚴重性安全問題、「」嚴重性安全問題、「」嚴重性安全問題,或「」嚴重性安全問題的指定數目,使建置失敗。如果指定多個臨界值,邏輯上為 OR 關聯。
  7. 一旦建置完成,您可以從「建置摘要」頁面上的「應用程式安全報告」標籤,檢視或下載掃描報告。此報告僅包含不相容的問題。
    「應用程式安全」報告和 irx. 產生日誌(適用於「靜態」掃描)也可以透過「Azure 管線建置」日誌下載。
    註: 請注意,如果未選取「暫停工作,直到安全分析完成」的選項,則無法下載掃描報告。在此情況下,您可以從 HCL AppScan On Cloud 入口網站下載報告。

新增服務端點

如果在「作業設定」中「認證」欄位是空白的,您必須配置服務端點。如果要配置服務端點以使用 Azure DevOps/TFS 外掛程式:

  1. 在「作業設定」中,按一下空白「認證」欄位上方的「管理」。
  2. 在產生的視窗中,按一下「新增服務端點」。
  3. 從端點的清單中按一下 HCL AppScan on Cloud
  4. 在產生的對話框中填入詳細資料,然後按一下「確定」。
    2. 服務端點內容
    內容
    連線名稱 連線的邏輯名稱。
    伺服器 URL
    KeyID 請參照 準備配置檔
    KeySecret

最佳化掃描並且檢閱結果

至於其他掃描,您可以使用配置檔,藉由指定個別目標納入掃描或從掃描中排除以及指定其他資訊,來最佳化掃描。配置檔案應放在專案的根目錄,讓外掛程式挑選它進行掃描。

當掃描完成時,AppScan 360° 會產生掃描的報告。檢閱結果中的資訊,以瞭解安全漏洞的報告方式,以及如何修補問題。