fbpx

ビルドからランタイムまでのコンテナイメージの脆弱性管理 #aqua #コンテナ #セキュリティ #脆弱性管理

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「Aqua Security」社の技術ブログで2021年5月13日に公開された「 Vulnerability Management in Container Images from Build to Runtime 」の日本語翻訳です。

ビルドからランタイムまでのコンテナイメージの脆弱性管理


コンテナ化されたワークロードの場合、環境の安全性を確保するためには、基盤となるコンテナイメージの脆弱性を解決することが最も重要です。セキュリティリスク情報を迅速かつ効率的に開発者に提供することは、強固なアプリケーションセキュリティを維持しつつ、開発サイクルをできるだけ短くするための鍵となります。どのようなリスク情報を活用し、それを開発、エンジニアリング、DevOps、セキュリティの各チームでどのように共有すればよいのでしょうか。それは、どのようなアプローチやツールを使用するかによります。

ビルド時のイメージの脆弱性の検知と修正

シフトレフトの考え方を採用する場合は、アプリケーションをスキャンして、開発プロセスのできるだけ早い段階でリスクを特定する必要があります。このブログでは、ビルドパイプラインに Aqua Scanner を導入していますが、これは Docker コマンドやプラグイン、その他の手段で実行できます。Aqua Scanner は、ビルド時に対象のコンテナイメージを分析し、セキュリティリスク情報を自動的に開発者に提供することで、開発者による迅速な修正を可能にします。

セキュリティチームは、イメージスキャン結果を評価するための Aqua Assurance Policies を確立することで、アプリケーションのセキュリティリスクを確実に管理することができます。これにより、重要なアラートを自動化したり、ポリシーに違反した場合に定義されたアクションをトリガーすることができます。
また、これらに関する情報は、JSON、HTML、またはテキスト出力の形で共有されます。

これにより、開発者や自動化機能にレポートが引き継がれ、その結果アプリケーションに必要な変更を行うことができます。このような分析、洞察、行動のフィードバックのサイクルにより、パイプラインが成熟し、パイプラインを通過するコンテナイメージがより一貫してポリシーを遵守するようになります。Assurance Policies に準拠していない場合は、ビルドプロセスをブロックし、準拠していないイメージがレジストリにプッシュされないようにするなど、より厳格な制限を設定することができます。

CI を完全に統合するための最終目標は、Assurance Policies に適合しないコンテナイメージについてはパイプラインを失敗させ、適合するコンテナイメージについてはパイプラインを続行させることです。イメージスキャン時に --register-compliant オプションを使用することで、ポリシーに適合したイメージのみを Aquaプラットフォームに保存し、イメージの実行が可能になります。

ビルド後のイメージの脆弱性の検知と修正

コンテナ化されたアプリケーションのライフサイクルは、必ずしも CI/CD パイプラインで終わるわけではありません。レジストリでコンテナイメージが利用できるようになった後は、そのコンテナイメージを特定のノードにデプロイし、コンテナとして実行できます。そのコンテナが実行されていても、基盤となるパッケージやリソースは、新しい CVE が特定され、悪用される可能性があるため、その影響を受けます。そのため、Aqua は登録済みのコンテナイメージを再スキャンし、そのアプリケーションの最新のセキュリティ情報を提供します。

これらのアプリケーションはまだ環境内で稼働している可能性があるため、この情報を開発、セキュリティ、運用の各関係者に届けることは非常に重要です。このようなワークフローを促進するために、Aqua は Postee というレポートツールを導入しました。

設定された間隔でイメージスキャンが完了すると、Postee は結果を更新し、事前に定義された設定に基づいて、優先順位付けや修正のためにそれぞれのチームやプラットフォームに送信します。一般的に、これは Aqua の RBAC 機能と連動しており、Application Scope には、即時通知のために所有者の電子メールアドレスを含めることができます。Postee は、この値を動的な受信者として利用することができ、それに応じてメールを送信します。

実行中のアプリケーションの動作を分析する

基盤となるコンテナイメージが安全で、新たな脆弱性がないか監視されているのと同様に、実行中のアプリケーションにも同じことを行う必要があります。これには、通常のコンテナ活動からの逸脱を特定することや、Runtime Policy へのコンプライアンス状況に基づくことが含まれます。この情報は、Aqua Enforcer から Gateway を経て、最終的には設定された SIEM ツールに伝えられます。そこでは、SOC チーム(または同等のチーム)が、潜在的なポリシー違反を監視し、その結果を対応するチームに転送するか、セキュリティ部門に転送して、さらなる分析、優先順位付け、および対処を行うことができます。

まとめ


セキュリティは、イメージの初期評価で終わるのではなく、アーティファクト自体のライフサイクルや、環境への継続的なデプロイにまで及びます。そのためには、これらのセキュリティギャップを確実に特定し、迅速に対処するための一貫したモニタリングとアラートが必要です。Aqua Scanner を CI パイプラインに統合し、Postee を設定して毎日のスキャン結果通知を処理し、ランタイムイベントのために SIEM ツールを活用することで、セキュリティ状態を大幅に改善し、暴露や悪用を制限することができます。

New call-to-action

新規CTA