設定 Checkov 掃描

概觀

Checkov 是一款用於「基礎架構即代碼」( IaC )的靜態程式碼分析工具。 它會掃描雲端配置,以檢查是否存在安全與合規性的設定錯誤。 它確保:

  • 「基礎架構即代碼」符合資安最佳實務。
  • 會掃描諸如開放埠、硬編碼的機密資訊、過高的權限以及不安全的設定等問題。
  • 適用於各類雲端平台與容器調度系統,有助於避免部署過程中的安全風險。

此掃描屬於 PR(應用程式預覽版)、CI 及 CC 管線中「合規性檢查」階段的一部分。

啟用並設定 Checkov 掃描

您可以透過兩種不同的框架來執行 Checkov 掃描:

  • Terraform 計畫:對計算出的 Terraform 計畫執行 Checkov 掃描。 若要啟用此功能,請將 opt-in-checkov 作為文字屬性新增至您的管線或觸發器屬性中,並將其值設定為非空字串( 0 除外)。
  • Kubernetes: 對 Kubernetes 的清單執行 Checkov 掃描。 若要啟用此功能,請將 opt-in-checkov-kubernetes 作為文字屬性新增至您的管線或觸發器屬性中,並將其值設定為非空字串( 0 除外)。 :由於 Code Risk Analyzer (CRA) 已 停用,Checkov Kubernetes 掃描可作為 cra-deploy-analysis 的替代方案,並能產生 com.ibm.code_cis_check 中的相關證明。

啟用這些功能會從「合規性檢查」階段執行以下腳本:

如果環境中尚未安裝 Checkov,這些腳本會自動進行安裝。

契訶夫參數

下列表格中所列的管道環境屬性與機密資料,用於自訂 Checkov 的掃描設定。

契訶夫參數
參數名稱 說明
checkov-args 直接提供給 checkov 指令的額外參數。
tf-dir 源儲存庫中存放 main.tf 的位置或路徑。 (預設值為 .)
checkov-version 若環境中尚未安裝 Checkov,請安裝此版本。 (預設會安裝最新版本)
checkov-prisma-api-url Prisma Cloud API URL。 必須是 *.prismacloud.io*.prismacloud.cn*.bridgecrew.cloud 格式的網域。
checkov-bc-api-key Bridgecrew API 金鑰或 Prisma Cloud 存取金鑰。 請使用 get_secret 來檢索此資料。

契訶夫的證據與附件

DevSecOps 流程會將證據上傳至儲存庫,並將該證據納入變更請求的證據摘要中。

Checkov Terraform 計畫證明

下表列出了 Terraform Plan checkov 掃描的證據詳細資訊。

檢查 Checkov Terraform 計畫的證據欄位及其值
欄位
tool type checkov
evidence type com.ibm.code_vulnerability_scan
asset type repo
attachments Checkov 結果 JSON 檔案
契訶夫 Kubernetes 證據

下表列出了「Kubernetes」checkov 掃描的證據詳情。

Checkov Kubernetes 證據欄位與數值
欄位
tool type checkov
evidence type com.ibm.code_cis_check
asset type repo
attachments Checkov 結果 JSON 檔案

查看您的掃描結果

您可以透過以下方式查看您的掃描結果: