證明
Docker 硬化映象 (DHI) 包含全面的、已簽名的安全證明,用於驗證映象的構建過程、內容和安全態勢。這些證明是安全軟體供應鏈實踐的核心組成部分,有助於使用者驗證映象是否可信並符合策略。
什麼是證明?
證明是一種已簽名的宣告,提供有關映象的可驗證資訊,例如它是如何構建的、內部包含什麼以及通過了哪些安全檢查。證明通常使用 Sigstore 工具(例如 Cosign)進行簽名,使其防篡改並可進行加密驗證。
證明遵循標準化格式(如 in-toto、CycloneDX 和 SLSA),並作為符合 OCI 標準的元資料附加到映象。它們可以在映象構建期間自動生成,也可以手動新增以記錄額外的測試、掃描結果或自定義來源。
為什麼證明很重要?
證明透過以下方式為軟體供應鏈提供關鍵可見性:
- 記錄映象中包含的*內容*(例如 SBOM)
- 驗證其*構建方式*(例如構建來源)
- 捕獲它透過或未透過的*安全掃描*(例如 CVE 報告、秘密掃描、測試結果)
- 幫助組織強制執行合規性和安全策略
- 支援執行時信任決策和 CI/CD 策略門
它們對於滿足 SLSA 等行業標準至關重要,並透過使構建和安全資料透明和可驗證來幫助團隊降低供應鏈攻擊的風險。
Docker 硬化映象如何使用證明
所有 DHI 均使用 SLSA 構建級別 3 實踐構建,每個映象變體都發布了一整套已簽名的證明。這些證明允許使用者:
- 驗證映象是否在安全環境中從可信源構建
- 以多種格式檢視 SBOM,以瞭解元件級詳細資訊
- 檢視掃描結果,以檢查漏洞或嵌入的秘密
- 確認每個映象的構建和部署歷史
證明會自動釋出並與您的 Docker Hub 組織中每個映象的 DHI 相關聯。它們可以使用 Docker Scout 或 Cosign 等工具進行檢查,並且可供 CI/CD 工具或安全平臺使用。
可用證明
雖然每個 DHI 變體都包含一組證明,但證明可能會因映象變體而異。例如,某些映象可能包含 STIG 掃描證明。下表是 DHI 中可能包含的所有證明的完整列表。要檢視特定映象變體可用的證明,您可以在 Docker Hub 中檢視映象變體詳細資訊。
證明型別 | 描述 | 謂詞型別 URI |
---|---|---|
CycloneDX SBOM | 一個採用 CycloneDX 格式的軟體物料清單,列出了元件、庫和版本。 | https://cyclonedx.org/bom/v1.5 |
STIG 掃描 | STIG 掃描結果,輸出為 HTML 和 XCCDF 格式。 | https://docker.com/dhi/stig/v0.1 |
CVE(In-Toto 格式) | 根據包和分發掃描,列出影響映象元件的已知漏洞 (CVE)。 | https://in-toto.io/attestation/vulns/v0.1 |
VEX | 一份 漏洞可利用性交換 (VEX) 文件,用於識別不適用於映象的漏洞並解釋原因(例如,無法訪問或不存在)。 | https://openvex.dev/ns/v0.2.0 |
Scout 健康評分 | Docker Scout 提供的簽名證明,總結了映象的整體安全和質量狀況。 | https://scout.docker.com/health/v0.1 |
Scout 來源 | 由 Docker Scout 生成的來源元資料,包括源 Git 提交、構建引數和環境詳細資訊。 | https://scout.docker.com/provenance/v0.1 |
Scout SBOM | 由 Docker Scout 生成和簽名的 SBOM,包括額外的 Docker 特定元資料。 | https://scout.docker.com/sbom/v0.1 |
秘密掃描 | 意外包含的秘密(例如憑據、令牌或私鑰)的掃描結果。 | https://scout.docker.com/secrets/v0.1 |
測試 | 針對映象執行的自動化測試記錄,例如功能檢查或驗證指令碼。 | https://scout.docker.com/tests/v0.1 |
病毒掃描 | 對映象層執行的防病毒掃描結果。 | https://scout.docker.com/virus/v0.1 |
CVE(Scout 格式) | 由 Docker Scout 生成的漏洞報告,列出已知 CVE 和嚴重性資料。 | https://scout.docker.com/vulnerabilities/v0.1 |
SLSA 來源 | 一個標準 SLSA 來源宣告,描述了映象的構建方式,包括構建工具、引數和來源。 | https://slsa.dev/provenance/v0.2 |
SLSA 驗證摘要 | 一份摘要證明,表明映象符合 SLSA 要求。 | https://slsa.dev/verification_summary/v1 |
SPDX SBOM | 一個採用 SPDX 格式的 SBOM,在開源生態系統中廣泛採用。 | https://spdx.dev/Document |
FIPS 合規性 | 一份證明,驗證映象是否使用 FIPS 140 驗證的加密模組。 | https://docker.com/dhi/fips/v0.1 |
檢視和驗證證明
要檢視和驗證映象的證明,請參閱驗證 Docker 硬化映象。
新增您自己的證明
除了 Docker 硬化映象提供的全面證明外,您還可以在構建衍生映象時新增自己的簽名證明。如果您在 DHI 之上構建新應用程式,並且希望在軟體供應鏈中保持透明度、可追溯性和信任,這將特別有用。
透過附加 SBOM、構建來源或自定義元資料等證明,您可以滿足合規性要求,透過安全審計,並支援 Docker Scout 等策略評估工具。
然後,可以使用 Cosign 或 Docker Scout 等工具在下游驗證這些證明。
要了解如何在構建過程中附加自定義證明,請參閱構建證明。