Docker Scout と安全なリポジトリによるコンテナセキュリティの強化

Docker Scout は、コンテナイメージリポジトリとの統合を簡素化し、現在のプロセスを中断したり置き換えたりすることなく、コンテナイメージの承認ワークフローの効率を向上させます。 リポジトリの厳格な検証フレームワークの外部に位置する Docker Scout は、イメージが承認されるまでの時間を大幅に短縮するためのプロアクティブな手段として機能します。 

セキュリティチェックをシフトレフトし、Docker Scoutを開発サイクルの初期段階に統合することで、問題を特定し、開発者のマシンで直接対処することができます。

2400×1260 ジェネリックスカウトブログD

脆弱性の最小化 

このセキュリティの左へのシフトにより、開発者の流れを維持し、開発時点でポリシー違反に関するフィードバックを即座に提供することで、開発プロセスが加速されます。 その結果、イメージは継続的インテグレーション/継続的デプロイメント (CI/CD) パイプラインにプッシュされる前に保護され、コンプライアンスがレビューされるため、リソースを大量に消費するスキャンへの依存が軽減されます (図 1)。 Docker Scoutは、問題を早期に解決することで、CI/CDプロセス中に検出される脆弱性の数を最小限に抑え、セキュリティチームが優先度の高いタスクに集中できるようにします。

イメージがセキュリティで保護され、コンプライアンスがレビューされてから継続的インテグレーション/継続的デプロイ (ci/cd) パイプラインにプッシュされることを示すサンプルのセキュリティで保護されたリポジトリ パイプラインにより、リソースを大量に消費するスキャンへの依存が軽減されます。
図 1: サンプルの安全なリポジトリ パイプライン。

さらに、Docker Scoutコンソールを使用すると、セキュリティチームはカスタムセキュリティポリシーを定義し、 VEX(Vulnerability Exploitability eXchange)ステートメントを管理できます。 VEXは、ベンダーやその他の関係者が脆弱性の悪用可能性のステータスを伝達できるようにする標準であり、 Common Vulnerabilities and Exposures(CVE)に関連付けられたソフトウェアを含めるための正当な理由を作成できます。

この機能により、開発チームとセキュリティ チーム間のシームレスなコラボレーションが可能になり、開発者は最新のコンプライアンス ガイドラインに従って作業できます。 Docker Scout コンソールは、重要なデータを既存のセキュリティ ツールにフィードすることもでき、より包括的な分析情報で組織のセキュリティ体制を強化し、全体的な保護を強化します (図 2)。

Scoutを使用した安全なリポジトリパイプラインのサンプル:Docker Scoutコンソールは、重要なデータを既存のセキュリティツールにフィードすることもでき、より包括的な洞察で組織のセキュリティ体制を強化し、全体的な保護を強化します。
図 2:Docker Scoutを使用した安全なリポジトリパイプラインのサンプル。

イメージリポジトリを保護する方法

セキュアなコンテナ・イメージ・リポジトリは、デジタル署名された OCI準拠のイメージを提供し、毎晩再構築および再スキャンされます。 これらのリポジトリは通常、規制の厳しい環境やセキュリティ重視の環境で使用され、オープンソースソフトウェアから商用オフザシェルフ(COTS)製品まで、幅広いコンテナイメージを提供します。 リポジトリ内の各イメージは、制限された環境や機密性の高い環境にデプロイする前に、厳格なセキュリティ標準に準拠していることを確認するために、厳格なセキュリティ評価を受けます。

リポジトリの主要なコンポーネントには、強化されたソース コード リポジトリと OCI 準拠のレジストリが含まれます (図 3)。 すべてのイメージは、脆弱性、保存されたシークレット、問題のあるコード、およびさまざまな標準への準拠について継続的にスキャンされます。 各イメージには、リビルド時にスコアが割り当てられ、そのコンプライアンスと使用の適合性が判断されます。 スキャンレポートと潜在的な問題の正当化は、通常、VEX形式を使用して処理されます。

リポジトリの主要なコンポーネントには、強化されたソースコードリポジトリとoci準拠のレジストリが含まれます
図 3:リポジトリの主要コンポーネントには、強化されたソースコードリポジトリとOCI準拠のレジストリが含まれます。

強化されたイメージリポジトリを使用する理由

強化されたイメージリポジトリは、機密性の高い環境やミッションクリティカルな環境にコンテナをデプロイすることに関連するセキュリティリスクを軽減します。 従来のソフトウェアデプロイメントでは、攻撃者が悪用できる脆弱性や設定ミスに組織をさらす可能性があります。 コンテナイメージに厳格な要件を適用することで、強化されたイメージリポジトリは、デプロイ前にイメージが必要なセキュリティ基準を満たしていることを確認します。 各イメージを毎日再構築して再スキャンすることで、新しい脆弱性と新たな攻撃ベクトルを継続的に監視できます。

また、強化されたリポジトリから事前に審査されたイメージを使用すると、開発プロセスが効率化され、開発チームの負荷が軽減され、より迅速で安全なデプロイが可能になります。

リポジトリは、セキュリティリスクに対処するだけでなく、各イメージにソフトウェア部品表(SBOM)を組み込むことで、ソフトウェアサプライチェーンのセキュリティも確保します。 コンテナイメージの SBOM は、オペレーティングシステムパッケージ、アプリケーション固有の依存関係とそのバージョン、ライセンス情報など、イメージの構築に使用されたすべてのコンポーネントのインベントリを提供できます。 リポジトリは、堅牢な審査プロセスを維持することで、すべてのソフトウェアコンポーネントが追跡可能、検証可能、改ざんされていないことを保証します。これは、デプロイされたソフトウェアの整合性と信頼性を確保するために不可欠です。

強化されたイメージリポジトリを使用するのは誰ですか?

強化されたコンテナイメージリポジトリの主なユーザーには、アプリケーションの作成を担当する内部開発者、ユーティリティイメージに取り組む開発者、および他のコンテナ化されたアプリケーションの基本イメージの構築を担当する開発者が含まれます。 これらのロールのタイトルは、組織によって異なる場合があることに注意してください。

  • アプリケーション開発者は 、リポジトリを使用して、アプリケーションの構築元となるイメージが必要なセキュリティおよびコンプライアンス基準を満たしていることを確認します。
  • DevOps エンジニア は、組織内のさまざまな内部運用をサポートするユーティリティ イメージの構築と保守を担当します。
  • プラットフォーム開発者は 、他のチームがコンテナ化されたアプリケーションの基盤として使用できる安全な基本イメージを作成および維持します。

デイリービルド

強化されたイメージリポジトリを使用する際の課題の 1 つは、イメージの承認に必要な時間です。 各イメージの脆弱性とポリシー違反を評価するために、毎日のリビルドが実施されますが、問題が発生する可能性があり、開発者はパイプラインを繰り返し通過する必要があります。 通常、再構築は夜間に行われるため、このプロセスにより、開発チームは次の再構築サイクルで問題が解決されるのを待たなければならないため、遅延が発生する可能性があります。

Docker Scoutの登場

Docker Scout を申請前フェーズに統合すると、パイプラインに入る問題の数を減らすことができます。 この積極的なアプローチにより、提出と承認のプロセスが迅速化され、開発チームは夜間のスキャンの前に問題を特定できます。 

脆弱性の検出と管理

  • 要件: 画像には、受け入れの遅延を避けるために、提出時に既知の脆弱性がないことが必要です。
  • Docker Scout の貢献:
    • 早期発見: Docker Scout は、開発中に Docker イメージをスキャンして脆弱性を早期に検出できるため、開発者は提出前に問題を解決できます。
    • 継続的な分析: Docker Scoutは、アップロードされたSBOMを継続的にレビューし、新しい重大なCVEに対して早期に警告を提供し、夜間の再構築プロセスの外部で問題に対処できるようにします。
    • ジャスティフィケーションの処理: Docker Scout は、例外の処理に VEX をサポートしています。 これにより、正当化プロセスが合理化され、開発者は潜在的な脆弱性の正当化をより簡単に提出できます。

セキュリティのベスト プラクティスと構成管理

  • 要件: イメージは、セキュリティのベスト プラクティスと構成ガイドライン (セキュリティで保護されたベース イメージの使用や攻撃対象領域の最小化など) に従う必要があります。
  • Docker Scout の貢献:
    • セキュリティ体制の強化: Docker Scoutを使用すると、チームはリポジトリのガイドラインに沿ったポリシーを設定し、許可されていないソフトウェアや未承認の基本イメージなどのポリシー違反をチェックできます。

依存関係管理の遵守

  • 要件: すべての依存関係を宣言する必要があり、通常、ビルド プロセス中のインターネット アクセスは禁止されています。
  • Docker Scout の貢献:
    • 依存関係のスキャン: Docker Scout は、イメージに含まれる古いライブラリまたは脆弱なライブラリを特定します。
    • 自動レポート: Docker Scoutは、依存関係ごとにセキュリティレポートを生成し、リポジトリ自体のスキャン結果をクロスチェックするために使用できます。

ドキュメントと来歴

  • 要件: イメージには、監査目的でビルド プロセス、依存関係、および構成に関する詳細なドキュメントが含まれている必要があります。
  • Docker Scout の貢献:
    • ドキュメントのサポート: Docker Scoutは、スキャンされたイメージに関するデータを提供することでセキュリティドキュメントに貢献し、イメージとともに提出される公式ドキュメントの一部として使用できます。

継続的なコンプライアンス

  • 要件: イメージがリポジトリに受け入れられた後でも、新しいセキュリティ標準と脆弱性の開示に準拠し続ける必要があります。
  • Docker Scout の貢献:
    • 継続的なモニタリング: Docker Scoutは、イメージを継続的に監視し、新しい脆弱性が発生したときに特定し、リポジトリ内のイメージがセキュリティポリシーに準拠していることを確認します。

これらの領域でDocker Scoutを利用することで、開発者はイメージがリポジトリの厳格な基準を満たしていることを確認できるため、提出とレビューに必要な時間と労力を削減できます。 このアプローチにより、開発プラクティスを組織のセキュリティ目標に合わせることができ、安全でコンプライアンスに準拠したコンテナをより迅速にデプロイできます。

Docker Scout の CI/CD パイプラインへの統合

Docker Scout を組織の CI/CD パイプラインに統合すると、開発フェーズからデプロイまでイメージのセキュリティを強化できます。 Docker Scout を CI/CD プロセスに組み込むことで、組織はイメージが本番環境にプッシュされる前に脆弱性スキャンとポリシーチェックを自動化でき、安全でないイメージや非準拠のイメージをデプロイするリスクを大幅に軽減できます。

  • ビルドパイプラインとの統合: CI/CD パイプラインのビルド段階では、Docker Scout を設定して、Docker イメージの脆弱性とセキュリティポリシーの遵守を自動的にスキャンできます。 統合には通常、 GitHub アクションなどを通じて、ビルド ジョブのステップとして Docker Scout スキャンを追加することが含まれます。 Docker Scout が古い依存関係、脆弱性、ポリシー違反などの問題を検出した場合、ビルドを停止でき、フィードバックはすぐに開発者に提供されます。 この早期検出は、イメージが強化されたイメージリポジトリにプッシュされるずっと前に問題を解決するのに役立ちます。
  • デプロイ パイプラインでの検証: イメージが開発から本番環境に移行すると、Docker Scout を使用して最終的な検証チェックを実行できます。 この手順により、初期ビルド以降に発生した可能性のあるセキュリティ問題が対処され、イメージが最新のセキュリティ ポリシーに準拠していることが保証されます。 デプロイプロセスは、Docker Scoutのレポートに基づいてゲート化できるため、安全でないイメージがデプロイされるのを防ぐことができます。 さらに、Docker Scout の SBOM の継続的な分析により、デプロイ後もイメージに新たな脆弱性やコンプライアンスの問題がないか監視でき、イメージのライフサイクル全体を通じて継続的な保護が提供されます。

Docker Scout を CI/CD パイプラインに直接埋め込むことで (図 1)、組織はセキュリティに対するプロアクティブなアプローチを維持し、デプロイされた各イメージが安全で、準拠し、最新の状態であることを確保しながら、開発プロセスでシフトレフトを行うことができます。

多層防御と Docker Scout の役割

セキュリティを重視する組織では、多層防御戦略の採用が不可欠です。 多層防御は、セキュリティに対する多層的なアプローチであり、防御の 1 つの層が侵害された場合に、影響を防止または軽減するための追加の保護手段が講じられるようにします。 この戦略は、機密データやミッションクリティカルな操作を処理する環境では特に重要であり、脆弱性が 1 つでも重大な結果をもたらす可能性があります。

Docker Scoutは、開発プロセス中にプロアクティブなセキュリティレイヤーを提供することで、この多層防御戦略で重要な役割を果たします。 Docker Scoutは、提出後のスキャンや本番環境の監視だけに頼るのではなく、開発ワークフローとCI/CDワークフローに直接統合し(図 2)、チームがセキュリティの問題を早期に発見して解決できるようにします。 この早期検出により、問題がパイプラインの後半でより重大なリスクにエスカレートするのを防ぎ、SecOps チームの負担を軽減し、デプロイ プロセスをスピードアップします。

さらに、Docker Scoutの継続的な監視機能により、イメージはデプロイ時に安全であるだけでなく、進化するセキュリティ標準やデプロイ後に発生する可能性のある新しい脆弱性にも準拠しています。 この継続的な警戒は、多層防御アプローチの重要なレイヤーを形成し、コンテナイメージのライフサイクル全体を通じてセキュリティが維持されるようにします。

Docker Scout を組織のセキュリティプロセスに統合することで、チームはより回復力があり、安全で、コンプライアンスに準拠したソフトウェア環境を構築でき、開発からデプロイ、そしてそれ以降のすべての段階でセキュリティが深く組み込まれていることを確認できます。

さらに詳しく