將安全分析新增至 Jenkins 自動化伺服器

IBM AppScan Jenkins 外掛程式可讓您將安全掃描支援新增至 Jenkins 專案。此外掛程式可讓您連接到 HCL AppScan 360° 上的 HCL AppScan 360°

執行這項作業的原因和時機

程序

  1. 在 Jenkins 中,安裝 IBM AppScan 外掛程式:
    1. 選取「管理 Jenkins」,然後選取「管理外掛程式」。
    2. 選取「可用」標籤,然後選取 IBM AppScan 旁邊的勾選框。
    3. 按一下位於頁面底端的安裝按鈕。在安裝 IBM AppScan 外掛程式之後,您必須重新啟動 Jenkins 後再使用它。不過,您可能想要安裝它,然後在稍後重新啟動 Jenkins(例如,如果您有執行中的工作)。
    註: 視您正在執行的 Jenkins 版本而定,這些步驟可能會稍微不同。
  2. 在重新啟動 Jenkins 之後,新增認證,以便建置專案可以連接到 AppScan 360°
    1. 在 Jenkins 儀表板中,選取「認證」。
    2. 在「認證」頁面中,新增全域認證。如果要這麼做,請選取(全域)連結旁邊的箭頭圖示,然後選取「新增認證」。
    3. 在「認證」頁面中,選取「類型」清單中的 HCL AppScan 360° 認證。
    4. 指定連線的 AppScan 360° 伺服器 URL。依預設,URL 為 https://cloud.appscan.com
    5. AppScan 360° 服務中產生 API 金鑰時,您會接收到金鑰 ID金鑰密碼。請在「ID」和「密碼」欄位中輸入這些值。如果您尚未產生 API 金鑰,請遵循連結以建立 API 金鑰。
    6. 選用項目:使用「標籤」欄位來新增認證的 ID。
  3. 在 Jenkins 儀表板中,選取 Jenkins 專案來編輯它,然後按一下「配置」。在專案的「一般」標籤中完成這些步驟:
    1. 在「建置」區段中,選取用於新增建置步驟的動作旁邊的箭頭圖示。此動作上的標籤將會隨專案的類型而異。範例包括新增建置步驟新增後建置步驟
    2. 選取「執行 AppScan on Cloud/AppScan 360° 安全測試」
    3. 在「認證」清單中,選取您在上面步驟中新增的認證。如果您新增了認證的標籤 ID,它會出現在清單中。如果您未新增標籤,則會顯示「金鑰 ID」及隱藏的「金鑰密碼」。
    4. 安全掃描必須與現有的 AppScan 360° 應用程式相關聯。選取「應用程式」清單中的應用程式。
      註: 隨即根據您的認證移入「應用程式」清單。該應用程式必須已存在於 AppScan 360° 服務中。如果尚未在服務中建立任何應用程式,則此清單將會是空的。
    5. 選用項目:在「測試名稱」欄位中,輸入掃描的名稱。如果您完成此欄位,掃描在 AppScan 360° 服務中將會具有該名稱(附加時間戳記)。此外,還會使用該名稱來區分各種 Jenkins 視圖中的結果。
    6. 在「測試類型」區段中:
      • 選取「靜態分析 (SAST)」 以針對建置構件執行靜態分析安全測試。如果選取了此測試類型,請在必填的「目標目錄」欄位輸入包含要掃描檔案目錄的完整路徑。如需受支援的檔案類型,請參閱靜態分析語言支援
        • 掃描方法
          • 產生 IRX:從指定檔案和資料夾中本端產生 IRX 封存。
            • 僅限原始碼:選取是否您僅想要分析原始碼。
            • 掃描速度:根據開發階段最佳化掃描速度和結果。在開發生命週期早期選擇較快速的掃描以識別基本安全問題;在週期晚期選擇完整掃描以確保涵蓋應用程式完整範圍。
              • 正常:執行完整的程式碼分析、詳細識別漏洞並區分可能回報為誤判的問題。此掃描需要最久時間才能完成。
              • 快速:執行全面的檔案分析以識別漏洞,比「較快」或「最快」掃描需要更久時間才能完成。
              • 較快:提供中等層次的安全問題分析和識別。此掃描完成所需的時間比「最快」掃描更久。
              • 最快:執行檔案的表面層次分析,識別最需要補救的緊迫問題,所需的完成時間最短。
          • 上傳檔案和資料夾:將檔案和資料夾直接上傳至 AppScan 以立即進行掃描準備並加快處理速度。
        註: 軟體組成分析 (SCA) 僅在 AppScan on Cloud 中提供。
    7. 選用項目:電子郵件通知:如果您要在分析完成時接收電子郵件,請選取此勾選框。
    8. 選用項目:允許掃描啟用團隊介入:若選取此選項,掃描啟用團隊會在掃描失敗或找不到問題時介入,並嘗試修正配置。這可能會導致掃描結果延遲。依預設,會選取此選項。
    9. 選用項目:暫停工作直到安全分析完成:如果您要在進行專案中的下一步之前讓 Jenkins 建置等待安全分析結果可用,請選取此勾選框。
    10. 選用項目:選取「建置失敗條件」勾選框可啟用建置失敗準則。在選取之後,請新增至少一個建置失敗條件。如果要這麼做,請選取「新增條件」,然後完成其準則。您可以設定建置在下列情況失敗:
      • 安全問題的總數大於您在欄位中指定的數目。
      • 重大嚴重性安全問題的總數大於您在欄位中指定的數目。
      • 嚴重性安全問題的總數大於您在欄位中指定的數目。
      • 嚴重性安全問題的總數大於您在欄位中指定的數目。
      • 嚴重性安全問題的總數大於您在欄位中指定的數目。
      註:
      • 如果新增了多個條件,則會視同以邏輯 OR 區隔處理。
      • 如果選取了「建置失敗條件」,「暫停工作直到安全分析完成」選項將會自動變成被選定並且為必要。
      • 如果取消選取了「建置失敗條件」勾選框,則您已新增的任何條件將會持續保存但沒有作用。只有手動刪除條件才會移除它們。
    11. 按一下「儲存」以新增建置步驟及停止配置 Jenkins 專案。按一下「套用」以新增建置步驟但繼續配置專案。
      在新增建置步驟之後,您可以將更多執行安全測試建置步驟新增至專案。
  4. 在執行 Jenkins 專案之後,如果您開啟建置,將會看到安全發現項目的 Snapshot。此外,將會有安全測試的結果連結可用。按一下這些連結將會開啟不符規範的安全報告。在專案的主要狀態頁面中,當您有多組結果時,您將會看到安全分析結果的趨勢圖。