Docker Hardened Images のセキュリティとコンプライアンスを検証する
本シリーズの Part 1 では、Node.js サービスを Docker Hardened Images (DHI) へ移行し、以下のような結果を確認しました。
- 脆弱性を 100% 排除
- パッケージ数を 90% 削減
- イメージサイズを 41.5% 削減
また、SBOM を抽出し、FIPS、STIG、CIS といったコンプライアンスラベルが付与されていることも確認しました。
数値だけを見ると非常に魅力的です。しかし、これらの主張を客観的に検証するにはどうすればよいのでしょうか?
セキュリティ製品が信頼されるかどうかは、約束ではなく「検証」によって決まります。特に、本番環境で利用するセキュリティ製品を評価する際には、デジタル署名などにより改ざんの有無を客観的に確認できる証拠が欠かせません。
本記事では、以下の観点から DHI を検証していきます。
- 署名の検証
- プロビナンス (来歴) の確認
- コンプライアンス証跡の確認
- SBOM の分析
いずれも、トライアル期間中に実際に実行できる実践的な検証方法です。
本記事では、DHI のセキュリティ特性を自ら確認し、本番利用に向けた確信を得るための検証方法を解説します。
Docker Hardened Images が提供するセキュリティ アテステーションとは
検証を始める前に、まず「何を検証するのか」を理解しておく必要があります。
Docker Hardened Images には、アテステーションと呼ばれる、イメージのビルド プロセス、内容、コンプライアンス状態に関する暗号署名付きメタデータが含まれています。
これらは第三者が独立して検証可能な正式な証明情報です。
注意:
すでにローカルにイメージを pull している場合でも、アテステーションを扱う際はregistry://プレフィックスを使用してください。これにより、Docker Scout はローカル キャッシュではなく、レジストリ上のアテステーションを参照します。
アテステーションの一覧を表示する
docker scout attestation list registry://<your-org-namespace>/dhi-node:24.11-debian13-fips
このコマンドにより、次のような 16 種類のアテステーションが表示されます。
- SLSA プロビナンス
- FIPS 準拠情報
- STIG スキャン結果
- CycloneDX / SPDX SBOM
- 脆弱性 / シークレット / マルウェア スキャン
- テスト レポート
- OpenVEX (VEX)
など
各アテステーションは JSON 形式で、以下の要素を含みます。
- Subject: 対象となるイメージ
- Predicate: 実際の主張内容 (例: FIPS 準拠)
- Signature: ビルダーによる暗号署名
これらは in-toto 仕様に準拠しており、ソフトウェア サプライ チェーン セキュリティのオープン標準です。
Docker Scout によるアテステーションの検証
DHI のアテステーションは Docker のビルド基盤によって署名されています。
Docker Scout を使うことで、公開鍵や証明書チェーンを自分で管理することなく、簡単に検証できます。
--verify フラグを付けることで、署名検証の結果が明示的に表示されます。
この検証では以下が保証されます。
- アテステーションが Docker の署名鍵で署名されている
- 署名が有効期限内である
- 対象イメージの digest と一致している
- 改ざんされていない
SLSA プロビナンスの確認
SLSA (Supply-chain Levels for Software Artifacts) は、Google や Linux Foundation などが策定したサプライチェーンセキュリティのフレームワークです。
Docker Hardened Images は SLSA レベル 3 を目標としています。
SLSA 3 では、以下が求められます。
- ビルドは完全に自動化されている
- すべてのビルド手順がバージョン管理されている
- ビルドサービスが自動的にプロビナンスを生成する
- ソース、ビルダー、ビルド条件が明示されている
取得した provenance.json を確認すると、使用された GitHub リポジトリ、コミット ハッシュ、GitHub Actions の実行 ID まで追跡できます。
これにより、「どこで」「どのソースから」「どのワークフローで」ビルドされたのかを完全に把握できます。
DHI Enterprise 向け: 高保証コンプライアンスの検証
FIPS 140-3 準拠の検証
FIPS 140-3 は、米国政府が定める暗号モジュールの認証規格です。
政府機関、金融、医療分野では必須要件となることが多く、未対応の場合は利用自体が認められません。
FIPS アテステーションを取得すると、以下のように NIST CMVP に登録された正式な証明書番号が確認できます。
- 認証番号 (例: CMVP #4985)
- 対象モジュール (OpenSSL FIPS Provider)
- 有効期限
これは公式の NIST データベースと突き合わせ可能な、実在する認証です。
STIG 準拠の検証
STIG (Security Technical Implementation Guide) は、米国国防総省 (DoD) が定める厳格なセキュリティ構成基準です。
DHI は、DoD の General OS SRG をベースにした独自 STIG によるスキャンを実施しています。
結果を見ると、適用対象となる 91 項目すべてをクリアし、失敗は 0 件、スコアは 100% です。
CIS ベンチマーク
CIS ベンチマークは、業界横断で合意されたセキュリティ ベストプラクティスです。
法的義務ではありませんが、監査や顧客からの信頼確保において重要な指標となります。
DHI では、イメージラベルから FIPS / STIG / CIS への準拠を確認できます。
SBOM が果たす本当の役割
SBOM (Software Bill of Materials) は、コンテナーに「何が含まれているか」を完全に可視化します。
これはセキュリティ対策の出発点です。
トランジティブ依存関係の可視化
脆弱性の多くは、直接依存ではなく「依存の依存」に潜んでいます。
DHI の最小構成は、パッケージ数と依存関係の両方を大幅に削減し、攻撃対象領域を根本から小さくします。
脆弱性と VEX による実効性評価
DHI には署名付き VEX (Vulnerability Exploitability eXchange) アテステーションが含まれており、「存在するが悪用不可能な CVE」を明確に区別できます。
Docker Scout はこの VEX 情報を自動適用し、誤検知を排除します。
ライセンス コンプライアンス
SBOM を SPDX 形式で出力すれば、含まれる OSS ライセンスを一覧化できます。
MIT や Apache のような寛容ライセンスと、GPL のような注意が必要なライセンスを明確に区別でき、
法務 / 監査対応を大幅に効率化できます。
まとめ: 何が証明されたのか
本記事で、以下の点を検証しました。
- 真正性: 暗号署名により改ざんされていないことを確認
- 来歴: SLSA によりソースとビルドプロセスを追跡可能
- コンプライアンス: FIPS、STIG、CIS への準拠を確認
- セキュリティ: SBOM、VEX に基づく実効的な脆弱性管理
CIS を除き、すべての主張には検証可能なアテステーションが存在します。
エクセルソフトは Docker の Preferred Reseller として、Docker Desktop や DHI Enterprise を販売しています。Docker 製品のライセンスや機能に関するご質問、製品デモのご要望を承っています。お問い合わせはこちらから。

*本記事は、Docker 社が提供している以下の記事から抜粋・転載したものです。
docker強化イメージエンタープライズトライアルを最大限に活用する パート 2
Docker の最新情報をお届けするエクセルソフトのメールニュース登録はこちら。


