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

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

開始之前

若要瞭解外掛程式的必要條件,請參閱系統需求

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

程序

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