現代の多くの企業やサービス主導型企業は、コンテナ環境でデジタル業務を運用しています。これにより、実行するマイクロサービスやアプリケーションのセットごとに、異なる権限、ワークフロー、ルールを簡単に設定できます。
この現代的なインフラ選択は、運用ワークフローに数多くのメリットをもたらします。しかし、適切なセキュリティポリシーやツールを導入していなければ、新たなセキュリティ脆弱性や攻撃経路を招く可能性もあります。組織のコンテナをあらゆるセキュリティ脅威に備えさせるには、直面する課題と、コンテナセキュリティ環境を最適化するために実践できるベストプラクティスの両方を把握することが重要です。
詳しく見る:コンテナセキュリティの主要ソリューション
コンテナセキュリティにおける主な8つの課題
コンテナネットワークは、さまざまなコンポーネントが固有のプロセスやワークフローを実行する複雑な環境です。コンテナの設計は、数多くのコンテナセキュリティ上の課題につながる可能性があります。主な課題を以下に示します。
脆弱なコンテナイメージ
新しいコンテナの作成に使用するコンテナイメージは、クラウドネットワークに新たなセキュリティ脆弱性をもたらす原因となることが少なくありません。特に、信頼性が低い、または十分に検証されていないサードパーティーのイメージライブラリから取得したイメージは、古くなっていたり、ユーザーが気づかないうちに悪意あるコードが大量に仕込まれていたりする可能性があります。また、攻撃者がレジストリ内の既存イメージに対してポイズニング攻撃を仕掛けたり、セキュリティ対策の施されていないバックドア経由で汚染されたイメージを持ち込んだりする可能性もあります。
コンテナの利用開始時に組織が使用するイメージやソースは多岐にわたるため、最初からすべての異常やリスクを検出するのは難しい場合があります。特に、チームがこの種のテクノロジーに不慣れであればなおさらです。
脆弱なCI/CD環境
コンテナの開発・デプロイライフサイクルのさらに早い段階で、コンテナイメージの構築に使用する継続的インテグレーション/継続的デリバリー(CI/CD)環境の脆弱性が見逃される可能性があります。攻撃者は、コンテナが構築される前に、これらのビルド環境へ悪意あるコードを持ち込み、コンテナイメージ、レジストリ、ソースコードリポジトリを攻撃するようになっています。多くの組織が、他のコンテナコンポーネントのセキュリティほどビルド環境のセキュリティに注意を払っていないため、ビルド環境は頻繁に標的となっています。
分離・セグメント化されたアーキテクチャの監視
コンテナは本質的に分離され、固有のマイクロサービスへとセグメント化されています。そのため、サイバーセキュリティチームが個々のコンテナの挙動を、ネットワーク全体の状況に照らして監視し、迅速に評価することは困難です。各コンテナで異なるルールや基準が運用される大規模ネットワークの可視性を維持し、効果的に監視するには、十分な訓練を受けたチームと適切なツールが必要です。
ランタイム中のリアルタイム脅威検知の維持
コンテナのランタイムでは、深刻なセキュリティインシデントがほとんど予告なく発生する可能性があります。特に、組織が適切なユーザー権限を設定しておらず、異常な挙動を定期的にスキャンしていない場合は危険です。コンテナが稼働したら、既存の問題と新たに発生する問題の両方をすべて検知できるよう、リアルタイムの脅威検知ツールと戦略を整備しておく必要があります。
さまざまな構成の設定と運用
コンテナエコシステムの各コンポーネントには、それぞれ固有の構成ルールとベストプラクティスがあります。コンテナイメージ、オーケストレーションプラットフォーム、イメージレジストリ、個々のアプリケーションの設定を誤るのは簡単であり、1つの設定ミスだけでコンテナネットワーク全体が脆弱になる可能性があります。
各コンテナに存在する可能性のあるさまざまなマイクロサービス、ソフトウェア形式、コンプライアンスルールを考慮すると、構成の管理はさらに複雑になります。オープンソースのコンテナ構成は、この種のソフトウェアにチームが不慣れな場合、正しく設定して維持することが特に難しくなります。
コンテナ全体にわたるセキュリティ更新への対応
各コンテナ、オーケストレーションプラットフォーム、アプリケーション、その他の個々のコンポーネントは通常、異なるソフトウェアソリューション、ベンダー、アップグレードのスケジュールや固有の事情に依存しています。自動化されたパッチ適用およびセキュリティ管理ツールがなければ、セキュリティチームは重要なパッチ適用の機会を頻繁に逃し、ネットワークを不正なユーザーによるアクセスや操作に対してより脆弱な状態にしてしまいます。
サードパーティー製品・サービスの利用
コンテナ管理者が、サードパーティー製品やサービスを利用していること、その提供元や信頼性を把握している場合もあります。一方で、あまりなじみがなく、十分に検証されていない可能性のあるサードパーティー製のコンテナ製品やサービスを利用することもあります。意図的か意図せざるかを問わず、サードパーティーをコンテナ環境に取り入れると、そのサイバーセキュリティ態勢管理の実践、ユーザーエラー、設定ミスによって、新たな問題が環境内に持ち込まれる可能性があります。
適切なユーザーアクセス制御の指定と維持
各コンテナやアプリケーションには、それぞれ異なるユーザー権限とアクセスレベルが必要になる可能性があります。特に、事業の一部がコンプライアンス規制の対象で、他の部分が対象外である場合はなおさらです。ディレクトリやID・アクセス管理(IAM)ソリューションを導入していなければ、サイバーセキュリティチームは、適切な場所で適切なユーザーのオンボーディング、オフボーディング、その他の更新を行うのに苦労します。これは深刻な結果を招きます。組織が不要なアクセス権限を付与すると、認証情報の漏えいや認証情報を狙ったフィッシング攻撃の可能性が高まるなど、さらなるセキュリティリスクにさらされることになります。
コンテナセキュリティのベストプラクティス8選
コンテナセキュリティの管理は難しい場合がありますが、さまざまなツール、プロセス、ポリシー、一般的なベストプラクティスによって、チームは適切な運用を維持できます。以下では、組織のコンテナセキュリティを管理するための有効な方法を紹介します。
コンテナの設定ミスを定期的に監視・修正する
コンテナイメージ、オーケストレーションプラットフォーム、その他のコンポーネントの設定ミスは、コンテナセキュリティ侵害の最大かつ最も深刻な原因の一つです。セキュリティインシデントの可能性を直ちに低減するため、組織はコンテナの設定ミスを監視・修正し、設定ミスを防ぐためのより優れた基準を確立する方法を検討する必要があります。
コンテナセキュリティの成果を向上させるには、自動化された構成を設定し、構成プラットフォームを利用して人的ミスを防ぐことを検討してください。また、コンプライアンスや承認済みサードパーティーベンダーなどの項目を含め、最初の段階で構成ガイドラインと要件を定めます。最後に、実際のビルド環境について、依存関係と構成を明確に定義し、新しいコンテナを適切にセットアップできるようにしてください。
詳しく見る:クラウドワークロード保護
目的に特化したコンテナセキュリティツールを使用する
多くのコンテナソリューションには、組織が設定すべきセキュリティツールが組み込まれています。しかし、それらのソリューションだけでは、さまざまなアプリケーションや運用ワークフローに対応しきれないことが少なくありません。最良の結果を得るには、目的に特化したコンテナセキュリティツールとプラットフォームに投資するのが得策です。
コンテナセキュリティツールの選定で何を重視すべきか分からない場合は、以下の主要な機能や能力に注目して探してください。
- コードセキュリティツール(コードデバッグツールを含む)
- イメージ、コードリポジトリ、レジストリ、脆弱性スキャンの自動化
- ワークロード構成スキャンと設定ミスのアラート
- コンテナランタイムセキュリティ(CRS)
- リアルタイムの脅威検知
- ゼロデイ脆弱性に対するアプリケーションレベルの脅威監視
- インシデント対応とフォレンジック
- アクセスしやすいレポートとダッシュボード
- ネイティブな強制適用と継続的な強化
コンテナセキュリティのスキャンと脅威監視を自動化する
脅威監視と脆弱性スキャンを自動化すれば、セキュリティ管理者やネットワーク管理者は、きめ細かなレベルで24時間体制のコンテナセキュリティ管理を行えます。適切な監視・スキャンツールを導入することで、組織は設定ミス、マルウェアコード、さまざまなセキュリティ脆弱性をリアルタイムに検出・軽減でき、常に大規模な監査を実施する必要もなくなります。
脆弱性スキャンや脅威監視の作業は、ある程度まで手動で処理できます。しかし、コンテナネットワークが拡大・多様化するにつれて、これらのプロセスを自動化することをおすすめします。イメージ、依存関係、ワークロードの各レベルを定期的にスキャンする自動化ツールを探し、全体的な操作性を高めるため、使いやすいダッシュボードとデータ可視化機能を備えたツールを選びましょう。
コンテナセキュリティの監査とテストを定期的に実施する
どのようなツールや手順を選ぶ場合でも、セキュリティ監査が、組織の利用状況とコンプライアンス要件に合った定期的なスケジュールと標準化されたプロセスに従うようにしてください。定期監査の合間にも、CI/CDパイプラインで継続的なセキュリティテストを実行する必要があります。
コンテナやクラウドネットワーク全体の監査を容易に実施するには、機能の一つとしてクラウドセキュリティマッピングを備えたセキュリティソフトウェアソリューションへの投資を検討してください。この機能を使えば、コンテナやその個々のコンポーネントを含め、ネットワークの各要素がどのように構成され、動作しているかをチーム全体ですばやく視覚的に把握できます。この機能は、クラウドセキュリティ態勢管理(CSPM)およびKubernetesセキュリティ態勢管理ソリューションで一般的に利用できます。
使用前にすべてのコンテナイメージを検証する
すべてのコンテナイメージが同じ品質で作られているわけではないため、チームは使用前と使用中にコンテナイメージの品質を定期的に評価する必要があります。イメージに関連するセキュリティ問題を防ぐには、以下のベストプラクティスに従ってください。
- 信頼できるサードパーティーリポジトリのイメージだけを使用する。
- イメージを定期的に更新し、パッチ適用の機会を確認する。パッチ管理ソフトウェアを使えば、大規模なコンテナ環境全体の更新を自動化・管理できます。
- イメージを監査し、異常な挙動やイメージポイズニングの痕跡がないか確認する。
- 絶対に必要な依存関係だけを含むイメージを使用する。これにより攻撃対象領域を縮小できます。
- イメージ署名などの検証手法を使用して、イメージの提供元が信頼できることを確認する。
コンテナコンポーネントに定期的にパッチを適用し、アップグレードする
コンテナ化された環境のアプリケーション、オーケストレーションプラットフォーム、イメージ、イメージリポジトリ、その他さまざまなコンポーネントは、パッチの更新に対応し続けなければ、攻撃者や悪意あるコードの侵入口になり得ます。パッチ適用の機会をすべて把握できる人員とスキルが社内にあれば、チームはパッチを手動で処理できます。しかし、ほとんどの組織では、パッチ管理ソフトウェア、またはこの機能を含むサイバーセキュリティプラットフォームを利用するとよいでしょう。この種のソフトウェアは、さまざまなコンテナコンポーネントにわたり、大規模なパッチ適用を自動化・処理できます。
きめ細かなユーザーアクセス制御と権限を設定する
機密性の高いデータセットを含み、厳格なコンプライアンス規制の対象となるコンテナでは特に、そのデータを保護するために必要な役割、責任、ユーザーアクセスレベルを明確にすることが重要です。ロールベースアクセス制御をコンテナとAPIの両方に適用し、承認されたユーザーだけがアプリケーションや、アプリケーションが稼働するコンテナにアクセスし、変更を加えられるようにする必要があります。
また、すべてのユーザーを対象に、社内のセキュリティポリシーと利用ポリシーを導入することも有効です。適切なセキュリティツールと権限をすべて整備しても、ユーザーエラーから保護できる範囲には限界があるためです。ポリシーには、ユーザーごとにコンテナ内のアプリケーションやデータとどのように関わることができ、またどのように関わるべきかを定める必要があります。包括的なポリシーで十分な場合もありますが、役割ごとのポリシーとトレーニングによって、すべてのユーザーが自分のアクセス権限と、リソースを安全かつコンプライアンスに沿って利用する方法を理解できるようになります。
クラウドとネットワーク全体のセキュリティベストプラクティスを取り入れる
コンテナとコンテナセキュリティの実践は、クラウドコンピューティング環境全体に適切に統合する必要があります。特に、すでに利用しているDevOpsやSIEMツールとの統合が重要です。目的に特化したコンテナセキュリティツールに加えて、より広範なクラウドセキュリティのベストプラクティスとツールをコンテナ環境に適用することも重要です。クラウドセキュリティ態勢管理ツール、サードパーティーリスク管理プラットフォーム、脆弱性管理・スキャンソリューションは、コンテナ固有の構成や統合機能を備えていることが多いクラウドセキュリティツールの一例にすぎません。
詳しく見る:クラウドセキュリティのベストプラクティス。
まとめ:コンテナセキュリティ環境を最適化する
コンテナは、あらゆる業種の企業に効率的で軽量なコンピューティングアーキテクチャを提供します。しかし、コンテナコンポーネントとセキュリティツールを適切に設定し、継続的に保守しなければ、コンテナとホストされたアプリケーションはすぐに混乱し、機能不全に陥る可能性があります。
攻撃者がコンテナやマイクロサービスアーキテクチャを標的にするケースが増える中、ホストOS、コンテナイメージ、オーケストレーションプラットフォーム、その他のコンテナコンポーネントが、不正アクセスや不正利用の被害に遭うさまざまな可能性を把握することが重要です。上記のベストプラクティスとヒントを活用すれば、サイバーセキュリティチームとネットワーク管理者は、すべてのユーザーが適切なプロセスと手順に従い、すべてのコンテナコンポーネントとセキュリティツールが想定どおりに機能していることを確認できます。
次に、クラウドネイティブアプリケーション保護プラットフォーム(CNAPP)のベストをご覧ください。





