STIG

什麼是 STIG?

安全技術實施指南 (STIGs) 是由美國國防資訊系統局 (DISA) 釋出的一套配置標準。它們定義了在美國國防部 (DoD) 環境中使用的作業系統、應用程式、資料庫和其他技術的安全要求。

STIGs 有助於確保系統配置安全且一致,以減少漏洞。它們通常基於更廣泛的要求,例如國防部的通用作業系統安全要求指南 (GPOS SRG)。

為什麼 STIG 指南很重要

遵循 STIG 指南對於與美國政府系統合作或支援美國政府系統的組織至關重要。它表明與國防部安全標準保持一致,並有助於:

  • 加速國防部系統的執行授權 (ATO) 流程
  • 降低配置錯誤和可利用弱點的風險
  • 透過標準化基線簡化審計和報告

即使在聯邦環境之外,STIGs 也被注重安全的組織用作強化系統配置的基準。

STIGs 源自更廣泛的 NIST 指南,特別是 NIST 特別出版物 800-53,該出版物定義了聯邦系統的安全和隱私控制目錄。尋求符合 800-53 或相關框架(如 FedRAMP)的組織可以將 STIGs 用作幫助滿足適用控制要求的實施指南。

Docker 強化映象如何幫助應用 STIG 指南

Docker 強化映象 (DHI) 包含 STIG 變體,這些變體根據定製的基於 STIG 的配置檔案進行掃描,幷包含已簽名的 STIG 掃描證明。這些證明可以支援審計和合規性報告。

Docker 根據 GPOS SRG 和國防部容器強化過程指南為映象建立自定義的基於 STIG 的配置檔案。由於 DISA 尚未釋出專門針對容器的 STIG,這些配置檔案有助於以一致、可審查的方式將類 STIG 指南應用於容器環境,並且旨在減少容器映象中常見的誤報。

識別包含 STIG 掃描結果的映象

包含 STIG 掃描結果的 Docker 強化映象在 Docker 強化映象目錄中被標記為 STIG

要查詢包含 STIG 映象變體的 DHI 儲存庫,請瀏覽映象並:

  • 在目錄頁上使用 STIG 篩選器
  • 查詢單個映象列表上的 STIG 標籤

要在儲存庫中查詢 STIG 映象變體,請轉到儲存庫中的 Tags 選項卡,並在 Compliance 列中查詢標記為 STIG 的映象。

檢視和驗證 STIG 掃描結果

Docker 為每個 STIG 強化映象提供已簽名的STIG 掃描證明。這些證明包括:

  • 掃描結果摘要,包括透過、失敗和不適用檢查的數量
  • 使用的 STIG 配置檔案的名稱和版本
  • HTML 和 XCCDF (XML) 格式的完整輸出

檢視 STIG 掃描證明

您可以使用 Docker Scout CLI 檢索和檢查 STIG 掃描證明

$ docker scout attest get \
  --predicate-type https://docker.com/dhi/stig/v0.1 \
  --verify \
  --predicate \
  <your-namespace>/dhi-<image>:<tag>

提取 HTML 報告

提取並檢視人類可讀的 HTML 報告

$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
  --predicate-type https://docker.com/dhi/stig/v0.1 \
  --verify \
  --predicate \
  | jq -r '.[0].output[] | select(.format == "html").content | @base64d' > stig_report.html

提取 XCCDF 報告

提取 XML (XCCDF) 報告以便與其他工具整合

$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
  --predicate-type https://docker.com/dhi/stig/v0.1 \
  --verify \
  --predicate \
  | jq -r '.[0].output[] | select(.format == "xccdf").content | @base64d' > stig_report.xml

檢視 STIG 掃描摘要

僅檢視掃描摘要而不檢視完整報告

$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
  --predicate-type https://docker.com/dhi/stig/v0.1 \
  --verify \
  --predicate \
  | jq -r '.[0] | del(.output)'