We couldn't find a match for given <KEYWORD>, please try again.

コンテナ セキュリティとは

コンテナ セキュリティは、セキュリティ用のツールやポリシーを使用して、コンテナ化されたアプリケーションのあらゆる側面を潜在的なリスクから保護するプロセスです。ソフトウェア サプライ チェーンまたは CI/CD パイプライン、インフラストラクチャ、コンテナ上で動作するコンテナ ランタイムおよびライフサイクル管理アプリケーションのあらゆる側面を含む、環境全体のリスクを管理します。コンテナ ネットワーク セキュリティ ソリューションを導入する際は、アプリケーションのコンテキストを認識できるよう、基盤となるコンテナ オーケストレーションと統合されていることを確認します。

モダン アプリケーションのセキュリティを高める革新的技術

コンテナ セキュリティが重要な理由

コンテナには、アプリケーションの分離性を高めるなど、セキュリティ上の利点がありますが、同時に、組織の脅威を拡大させる要素もあります。コンテナに関する具体的なセキュリティ対策を認識して計画を立てなければ、組織のセキュリティ リスクを増大させることになりかねません。

本番環境におけるコンテナ導入の著しい増加により、悪意のある攻撃者にとってコンテナはより魅力的なターゲットとなっています。さらに、脆弱なコンテナや侵害されたコンテナが 1 つでもあれば、組織全体の環境への侵入口となる可能性もあります。データセンターやクラウド内を通過する East-West トラフィックが増加する一方で、この主要なネットワーク トラフィックのソースを監視するセキュリティ コントロールはほとんどありません。従来のネットワーク セキュリティ ソリューションでは、水平方向の攻撃に対する防御ができないため、こうしたことからもコンテナ セキュリティの重要性が浮き彫りになっています。

コンテナ セキュリティのメリット

コンテナ セキュリティは、コンテナの利用が拡大するにつれて脚光を浴びるようになりました。さまざまな関係者がアプリケーションのコンテナ セキュリティの重要性を認識し、プラットフォーム、プロセス、トレーニングに投資していることを考えれば、それだけでも有益ですが、コンテナ セキュリティは、コンテナ化されたアプリケーションとそのインフラストラクチャを保護するためのあらゆる側面に関係しているため、包括的なメリットも生まれます。IT セキュリティ全体を向上させる要因となり、効果が倍増する点です。開発環境、テスト環境、本番環境にわたる継続的なセキュリティ監視(DevSecOps とも呼ばれます)を義務づけることで、たとえば CI/CD パイプラインの早い段階で自動スキャンを導入し、全体的なセキュリティを高めることができます。

コンテナ セキュリティの仕組み

コンテナ セキュリティは総合的な分野として捉えるのがふさわしいものですが、コンテナ自体に焦点を当てていることは間違いありません。米国国立標準技術研究所(NIST)では、そのための基本的なアプローチをいくつかまとめた「アプリケーション コンテナ セキュリティ ガイド」を発表しています。ここでは、NIST の報告書から 3 つの重要な検討事項を紹介します。

  1. コンテナ専用のホスト OS を使用する。NIST は、攻撃対象領域を減らすために、機能を抑えて構築されたコンテナ専用のホスト OS を使うことを推奨しています。
  2. 目的別、リスク プロファイル別にコンテナをセグメント化する。コンテナ プラットフォームは一般的に、コンテナどうしや基盤となる OS からコンテナを分離するのに適していますが、NIST は、「目的、機密レベル、脅威に対する方針」によってコンテナをグループ化し、別々のホスト OS 上で実行することで、より「徹底した防御」を実現できると指摘しています。これは、インシデントや攻撃の影響の範囲を限定する、つまり侵害の影響をできるだけ狭い範囲に封じ込めるという、IT セキュリティの一般的な原則に従ったものです。
  3. コンテナ固有の脆弱性管理ツールとランタイム セキュリティ ツールを使用する。従来の脆弱性スキャン ツールや管理ツールでは、コンテナに対して盲点が多く、コンテナ イメージや構成設定などに一切問題がないという誤った結果が報告される可能性があります。同様に、ランタイムのセキュリティを確保することは、コンテナのデプロイや運用においても重要なポイントになります。侵入防止システムのような従来の境界指向のツールは、コンテナを念頭に置いて構築されていないことが多く、適切に保護することができません。

また NIST は、セキュリティの信頼性をさらに高めるために Trusted Platform Module(TPM)のようなハードウェアベースの Root of Trust(信頼の起点)を使用すること、さらに、コンテナやクラウドネイティブ開発に適した文化やプロセス(DevOps や DevSecOps など)を確立することも推奨しています。

コンテナ セキュリティの基本ポイント

コンテナ セキュリティにはいくつかの重要な柱があります。

  • 構成:コンテナ、オーケストレーション、クラウドプラットフォームの多くは、強固なセキュリティ機能と制御機能を備えています。しかし、これらは正しく設定し、時間の経過とともに再調整する必要があり、最初から最適化されていることはほとんどありません。たとえば、アクセス/権限、分離、ネットワークなどの領域で重要な設定や強化が必要になります。
  • 自動化:多くの場合、コンテナ化されたアプリケーションとその基盤となるインフラストラクチャは非常に動的で分散しているため、脆弱性スキャンやアノマリー検知などのセキュリティ ニーズには、手作業では対応しきれない可能性があります。このため、コンテナ セキュリティの多くの機能やツールでは自動化が重要なポイントになっています。これは、コンテナ オーケストレーションが、コンテナの大規模実行に伴う多くの運用上のオーバーヘッドを自動化するのに役立つのと同じ理由です。
  • コンテナ セキュリティ ソリューション:チームによっては、コンテナ環境向けに特別に構築された新しいセキュリティ ツールやサポートを追加する場合があります。なかには、CI ツール、コンテナ ランタイム セキュリティ、Kubernetes など、クラウドネイティブ エコシステムの別の側面に焦点を当てたツールもあります。

コンテナ セキュリティにおいて避けるべきよくある間違い

コンテナや環境のセキュリティを確保する場合、以下のような間違いが起こりがちです。

  • 基本的なセキュリティ対策を忘れる。コンテナは比較的新しい技術であり、より新しいセキュリティ アプローチを必要としますが、だからといって、基本的なセキュリティをおろそかにしてよいわけではありません。たとえば、オペレーティング システム、コンテナ ランタイム、その他のツールなど、システムにパッチを適用し、最新の状態にしておくことが重要な戦略であることに変わりはありません。
  • ツールや環境の設定および強化を怠る。優れたコンテナおよびオーケストレーション ツールは、多くのクラウドプラットフォームと同様に、重要なセキュリティ機能を備えています。しかし、その効果を発揮させるには、デフォルトの設定で使うのではなく、それぞれの環境に合わせた設定を行う必要があります。たとえば、コンテナの実行に実際に必要な機能または権限のみを付与することで、権限昇格攻撃などのリスクを最小化することができます。
  • 監視、ログ、テストを無視する。本番環境でコンテナの運用を始めたら、チームが気を配らないと、アプリケーションの健全性と環境に対する可視性が失われる可能性があります。これはときに忘れられがちですが、オンプレミスのインフラストラクチャと複数のクラウド環境で動作する高度な分散システムを採用している場合に特に関連する大きなリスクです。未知の脆弱性やその他の盲点を最小限に抑えるには、適切な監視、ログ収集、テストを確実に行うことが重要です。
  • CI/CD パイプラインに保護されていないフェーズがある。コンテナ セキュリティ戦略においてもう 1 つ見落としがちな点は、ソフトウェア デリバリ パイプラインの別の要素を無視してしまうことです。優れたチームは、これを回避するために「シフト レフト」の方針を採用しています。つまり、ソフトウェアのサプライ チェーンにおいてできるだけ早い段階でセキュリティの優先順位を決め、ツールやポリシーを一貫して適用します。

関連するソリューションおよび製品

VMware Carbon Black Container

継続的な可視化、コンテナ セキュリティ、コンプライアンスの実現

VMware Tanzu

アプリケーションのモダナイゼーションを支援する製品/サービス ポートフォリオ