クラウドネイティブセキュリティとは?

クラウドネイティブ・セキュリティとは、クラウド環境で構築されデプロイされるアプリケーションのために特別に設計された一連のセキュリティ対策と技術を指します。ネットワークベースの保護に依存しがちな従来のセキュリティアプローチから、アイデンティティとアクセス管理、 コンテナセキュリティと ワークロードセキュリティ、継続的な監視と対応に重点を置いたアプリケーション重視のアプローチへの考え方の転換が必要です。

クラウドネイティブ・セキュリティ・アプローチでは、セキュリティは後付で追加するのではなく、アプリケーションとインフラに一から組み込まれます。そのためには、自動化されたセキュリティ管理、 DevOpsプロセス、クラウド環境の複雑で動的な性質を管理できる熟練したセキュリティ専門家の組み合わせが要件となります。クラウドネイティブセキュリティの目標は、クラウド環境に特有の脅威や脆弱性から保護すると同時に、規制や標準へのコンプライアンスを確保することです。

 

クラウドネイティブ・セキュリティの説明

クラウド ネイティブ テクノロジーは、従来のソフトウェア開発モデルをすべて時代遅れにし、モノリシックなアプリケーション アーキテクチャの複雑さを取り除き、現代の開発パイプラインに根本的な変化をもたらしました。この新しいパラダイムは多くの利点をもたらしますが、同時に新たな課題ももたらします。その中でも、クラウドネイティブのセキュリティ問題ほど頑固で、危険で、複雑なものはほとんどありません。

クラウド・ネイティブ・アプリケーションのセキュリティに関する課題のほとんどすべては、クラウド・ネイティブ・アプリケーションの性質そのものに起因しています:モノリシック・アプリケーション・アーキテクチャが比較的静的であるのに対し、クラウドネイティブ・アプリケーション・アーキテクチャは非常に動的です。 コンテナや サーバーレス 機能を使用することで、クラウド・アプリケーションは常に縮小と拡張を繰り返し、オンプレミスとオフプレミスを行き来し、さらには複数のクラウドプラットフォームを行き来することになります。その結果、セキュリティー面で多くの課題が生じます。

クラウドネイティブアーキテクチャの理解

マイクロサービス・アーキテクチャ

マイクロサービス(Microservices)アーキテクチャは 、アプリケーションを小規模で疎結合なサービスの集合体として構成するソフトウェア開発アプローチです。各マイクロサービスは特定のビジネス機能を担当し、独立して開発、デプロイ、スケールできます。このモジュラーアプローチにより、クラウド ネイティブアプリケーションの俊敏性、柔軟性、耐障害性が向上します。

セキュリティの観点からは、マイクロサービス・アーキテクチャは、サービス間の通信の安全性、データの完全性の確保、複数のサービスにまたがる機密データの保護に関する課題をもたらします。

コンテナ化

コンテナ化とは、アプリケーションとその依存関係を、コンテナと呼ばれる軽量で分離されたユニットにカプセル化するプロセスです。コンテナは 効率的で一貫性のあるランタイム環境を提供し、異なるインフラプラットフォーム間で一貫してアプリケーションを実行できます。また、コンテナはポータブルであるため、開発、テスト、本番など、異なる環境間でのアプリケーションの移動が容易になります。コンテナイメージ内の脆弱性、コンテナの分離、安全なコンテナオーケストレーションの必要性などです。

Kubernetesによるオーケストレーション

Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化する、広く採用されているコンテナオーケストレーションプラットフォームです。コンテナのライフサイクルを管理するための堅牢なフレームワークを提供し、アプリケーションの望ましい状態が維持されるようにします。セキュリティの観点から、Kubernetesはクラスタのセキュリティ、アクセス制御、監視に関する課題を提示します。

 

クラウドネイティブは固定された境界を超える

以前は、アプリケーション・セキュリティ・チームは、物理的なデータ・センターで稼働する一定台数のサーバを、固定された境界を形成するハードウェア・ファイアウォールで保護するだけでよかったのです。これはクラウドネイティブアプリケーションでは通用しません。セキュリティチームは、オンプレミスとオフプレミスの両方で、複数のクラウドで運用され、ある日には数百万のワークロードインスタンスにスケールアップし、次の日には数百にスケールダウンする可能性のあるアプリケーションの周囲に、静的なファイアウォールを確立することはできません。

 

診断の難しさ

クラウド ネイティブ アプリケーション アーキテクチャの弾力性と複雑性により、セキュリティ異常やインシデントの原因を迅速に診断することは困難です。セキュリティチームにとって、脅威を診断して対処するスピードは、脅威に対処するために使用する特定のツールと同じくらい重要であるためです。

 

DevOps ベロシティの加速

アプリケーションの他の部分に影響を与えることなく、個々のサービスを簡単にオフラインにして変更したり置き換えたりできるようになったため、 DevOps チームは新しいリリースやアップデートを従来よりもはるかに頻繁に行うことができます。しかし、セキュリティチームがかつて使用していた手作業によるプロビジョニングとポリシー管理のプロセスは、最新のリリース・サイクルにはもはや対応できません。

 

クラウドネイティブセキュリティの主要要素

より効果的なクラウドネイティブ・セキュリティ・ソリューションを実装する前に、セキュリティチーム、運用チーム、開発チームが クラウドネイティブ・セキュリティの重要な要素を理解する必要があります。これには以下が含まれます:

  • 在庫と分類:すべての資産の正確なインベントリと適切な分類は、セキュリティ運用チームがソフトウェアスタック全体の潜在的な脆弱性を明確に把握するために不可欠です。
  • コンプライアンス管理:システムは、業界および/または法的規制(標準構成、 セキュリティのベストプラクティス、信頼されたレジストリの使用など)を一貫して実施するように設計されるべきです。
  • ネットワークセキュリティ: 組織の資産とネットワーク・トラフィックのセキュリティを確保するための戦略とプロビジョニングには、ネットワーク上のすべてのシステムと情報の機密性、完全性、可用性を維持することを目的とした、すべてのネットワーク・トラフィック・フローの分析を含める必要があります。
  • アイデンティティとアクセス管理(IAM)のセキュリティ: IAMセキュリティとは 、クラウドのリソースを特定の個人に制限することです。これは、アクセスガバナンス、 特権モニタリング 、機械学習を活用したユーザーエンティティ行動分析(UEBA)などの活動で構成されます。
  • データのセキュリティこれは、データの分類、 データ損失防止、クラウドストレージの マルウェアスキャンなど 、保存データのセキュリティに関するものです。
  • 脆弱性管理:アプリケーションのライフサイクル全体にわたる脆弱性の特定と防止には、クラウド環境内のすべてのホスト、イメージ、機能の継続的な監視が必要です。
  • ワークロードのセキュリティ:クラウドインスタンスに配置された個々の作業機能の保護は、ワークロード全体の可視性を向上させ、脆弱性スキャンとランタイムセキュリティも含める必要があります。
  • 自動化された調査と対応:セキュリティ・ツールは、必要に応じてサードパーティのツールに加え、自動修復機能、セキュリティ・オペレーション・センター(SOC)や発券機能との統合を提供することが理想的です。

 

クラウドネイティブのセキュリティ戦略

最近、クラウドネイティブのセキュリティ戦略が数多く登場し、その有効性はさまざまです。これには以下が含まれます:

  • 責任共有モデル: 責任共有モデルでは、クラウドプロバイダーは基盤となるインフラのセキュリティ確保に責任を負い、顧客は自身のアプリケーション、データ、クラウドへのアクセスのセキュリティ確保に責任を負います。このコンセプトは、他のすべての最新のクラウドネイティブセキュリティ戦略の基礎を形成します。
  • 多層的なセキュリティ:クラウドサービスは一般的に、ファシリティ、ネットワーク、ハードウェア、OS、ミドルウェア、アプリケーション、ユーザーの7つのレイヤーで構成されています。多層セキュリティは、各層を監視してリスクを特定し、脆弱性を軽減します。このアプローチには、 クラウド対応のファイアウォールや エンドツーエンドの暗号化など、複数のツールを含めることができます。しかし、これらの異種ツールの管理は煩雑になりがちです。
  • クラウドにとらわれないセキュリティ・プラットフォーム:クラウドネイティブのセキュリティニーズを管理するための最も効果的な戦略として、これらのプラットフォームは、エコシステム全体で可視性を提供し(クラウドベンダーのロックインを低減)、過負荷なセキュリティチームに対するアラートやツールを合理化することができます。

 

クラウドネイティブセキュリティFAQ

クラウドネイティブアプリケーションは、コンテナベースの脆弱性、 安全でないAPI、データ侵害、安全でないネットワーク接続、クラウドの設定ミスなど、さまざまなセキュリティリスクに直面しています。これらのリスクは、データ盗難、データ損失、コンプライアンス違反、風評被害につながる可能性があります。
クラウドネイティブ・セキュリティが従来のセキュリティ手法と異なる点は、クラウド環境の絶え間なく変化する性質に適応可能な、よりダイナミックなアプローチを要件とする点です。クラウドネイティブセキュリティは、 マイクロセグメンテーション、ゼロトラスト、継続的な監視とミティゲーションに重点を置いています。
クラウド ネイティブ アプリケーションのセキュリティを確保するためのベストプラクティスには、強力なアクセス制御の実装、セキュアなコーディングの実践、静止時および転送時のデータの暗号化、ソフトウェアの定期的なパッチ適用とアップデート、脆弱性スキャンと侵入テストの実施、不審なアクティビティの継続的な監視などがあります。
クラウド・ネイティブ環境で使用される包括的なセキュリティ・ツールやテクノロジには、コンテナ・セキュリティ・プラットフォーム、クラウド・アクセス・セキュリティ・ブローカー(CASB)、ID/アクセス管理(IAM)ソリューション、ネットワーク・セキュリティ・ソリューション、ログ解析ツールなどがありますが、今日では、ほとんどの組織がセキュリティ・ソリューションを包括的なCode-to-Cloud CNAPPに統合しています。
DevOps は、アプリケーション開発とデプロイのライフサイクル全体にセキュリティを組み込むことで、クラウド ネイティブのセキュリティにおいて重要な役割を果たします。DevOpsチームは、 Infrastructure as Code継続的インテグレーションとデリバリー、自動テストなどのツールとプロセスを使用して、セキュアで弾力性のあるアプリケーションを構築します。
クラウドネイティブ環境における規制や基準のコンプライアンスを確保するために、組織は定期的なリスク評価を実施し、セキュリティ管理と監視を実装し、監査と評価を実施し、ポリシーと手順を文書化する必要があります。コンプライアンスは、第三者認証や監査を利用することでも達成できます。

クラウド・ネイティブ環境におけるセキュリティ・インシデントの監視と検出には、ログ分析、侵入検知・防御、セキュリティ情報・イベント管理(SIEM)などのツールを使用します。また、セキュリティ・インシデントに対する自動応答の実装、定期的なインシデント対応テストとトレーニングの実施も含まれます。

クラウドにとらわれないセキュリティ・プラットフォームが 、セキュリティ戦略をどのように簡素化するか、詳細をご覧ください。