マイクロセグメンテーションとは?
マイクロセグメンテーションとは、ワークロード間のネットワーク アクセスを管理するセキュリティ手法です。マイクロセグメンテーションにより、最小権限の原則とゼロトラストに基づいてトラフィックを制限するセキュリティ ポリシーを管理者は管理できます。組織ではマイクロセグメンテーションを使用して、アタックサーフェスの縮小、侵害抑制の向上、法規制準拠の強化を行います。
マイクロセグメンテーションの説明
マイクロセグメンテーションとは、セキュリティのアプローチのことです。ネットワークをセグメントに分割し、セグメントの要件に基づいて各セグメントにセキュリティ制御を適用します。
ネットワーク仮想化テクノロジを備えたマイクロセグメンテーション ソフトウェアを使用して、クラウド展開でゾーンを作成します。ワークロードをきめ細かい保護ゾーンで分離し、ワークロード別のカスタム ポリシーで個別に保護します。同様に、ネットワークの各仮想マシン(VM)をアプリケーション レベルで、正確にセキュリティを制御して保護できます。
ワークロードやアプリケーションにマイクロセグメンテーションがもたらすきめ細かなセキュリティ制御は、同一のサーバや仮想マシンで複数のアプリケーションが稼働する最新クラウド環境では非常に有益です。組織では、サーバに対して1つのセキュリティ ポリシーを指定するのではなく、ワークロードやアプリケーションに個別にセキュリティ制御を適用できます。
図 1: マイクロセグメンテーションではネットワークをセグメントに分割し、ゼロ トラストに基づいてトラフィックを制限。
ワークロードとは
広義では、ワークロードはアプリケーションの実行に必要なリソースやプロセスと定義できます。ワークロードの例には、ホスト、仮想マシン、コンテナなどがあります。
企業では、データ センター、ハイブリッド クラウド、マルチクラウド環境全体でワークロードを実行できます。ほとんどの組織のアプリケーションは、ビジネス上のニーズに応じて、クラウドネイティブ コンピューティング アーキテクチャ全体でますます分散化されています。
境界セキュリティの超越
境界セキュリティは、ほとんどの組織でネットワーク セキュリティ制御の重要な部分を占めています。ネットワーク ファイアウォールなどのネットワーク セキュリティ デバイスは、セキュリティ境界を越える「north-south」(クライアント/サーバ間)のトラフィックを調査し、悪質なトラフィックを阻止します。境界内の資産は暗黙的に信頼されます。つまり、「east-west」(ワークロード間)のトラフィックは調査されない可能性があることを意味します。
図 2: 「north-south」(クライアント/サーバー間)トラフィックと「east-west」(ワークロード間)トラフィック
ほとんどの組織では、east-west通信がデータ センターとクラウド トラフィック パターンの大半を占めますが、境界を重視する防御では、east-westトラフィックが可視化されません。これらの要因を踏まえ、攻撃者はこれをワークロード間で横方向の移動の機会として悪用します。
ネットワークでは信頼できる通路がワークロード間に作られ、2つのエンドポイントが相互にアクセス可能かどうかが決定されます。マイクロセグメンテーションでは分離が作られ、2つのエンドポイントが相互にアクセスすべきかどうかが決定されます。最小権限アクセスにセグメンテーションを適用して、横方向の移動の範囲を縮小し、データ侵害を封じ込めます。
図 3: マイクロセグメンテーションを攻撃の分離に役立てることが可能。
ネットワーク セグメンテーションの課題
ネットワーク セグメンテーションは、ネットワークを複数の小さなセグメントに分割するアプローチです。これには、以下のパフォーマンスおよびセキュリティ上のメリットがあります。
- パフォーマンス: ネットワークを小さなサブネットとVLANに分割することで、ブロードキャスト パケットの範囲を縮小し、ネットワークのパフォーマンスを高めます。
- セキュリティ: ネットワーク セキュリティ チームは、アクセス制御リスト(ACL)をVLANとサブネットに適用して、マシンを別のネットワーク セグメントに分離できます。データ侵害が発生した場合、ACLにより、脅威が他のネットワーク セグメントに拡散することを防止できます。
ネットワーク セグメンテーションをセキュリティ目的で活用するには、課題が伴います。セグメンテーションのニーズは、ネットワーク アーキテクチャに合致するとは限りません。ネットワークを再設計したりVLANとサブネットを再構成して、セグメンテーション要件に適合するには、困難で時間がかかります。
図 4: ネットワーク セグメンテーション(VLANとサブネットを使用)は、ネットワークのブロードキャスト ドメインを分割することでネットワーク パフォーマンスを最適化する実証済み手法。
マイクロセグメンテーションの仕組み
マイクロセグメンテーションは、ゼロ トラストやIDベースのセグメンテーションとも呼ばれ、再設計不要でセグメンテーションの要件を実施します。セキュリティ チームはネットワーク内のワークロードを分離して、悪意のある横方向の移動による影響を制限できます。マイクロセグメンテーションの制御は、以下の3つのカテゴリに分けられます。
- エージェントベースのソリューションでは、ワークロードでソフトウェア エージェントを使用し、個々のホストやコンテナに対してきめ細かく分離を実施します。エージェントベースのソリューションでは、ホストベースの組み込みファイアウォールを活用したり、ワークロードのIDまたは属性に基づいて分離機能を引き出すことができます。
- ネットワークベースのセグメンテーション制御は、ネットワーク インフラストラクチャに依存します。この形式では、物理デバイスや仮想デバイス(ロードバランサー、スイッチ、ソフトウェア定義ネットワーク(SDN)、オーバーレイ ネットワークなど)を利用して、ポリシーを適用します。
- ネイティブ クラウドの制御では、クラウド サービス プロバイダー(例: Amazonセキュリティ グループ、Azureファイアウォール、Google Cloudファイアウォール)の組み込み機能を利用します。
マイクロセグメンテーションは、可視性、きめ細かいセキュリティ、動的な適応の主要三原則と同様に、プライベート クラウドやパブリック クラウド全体での一貫したセキュリティの提供に役立ちます。
マイクロセグメンテーション ソリューションでは、データ センターとクラウドにおいてそれらの内部と相互に全ネットワーク トラフィックの可視性を実現する必要があります。トラフィックの監視方法は多数ありますが、最も効果的な方法は、トラフィックをワークロードのコンテキスト(例: クラウド、アプリケーション、オーケストレータ)と組み合わせて確認することで、IPアドレスとポートのみを含むログとは逆のアプローチです。
きめ細かなセキュリティとは、ネットワーク管理者が重要アプリケーションに個別のポリシーを作成することで、セキュリティの強化と正確な指定ができるという意味です。目標は、特定のワークロード(毎週の給与計算の実行や人事データベースの更新など)で送受信するトラフィックを正確に制御するポリシーにより、脅威の横方向の移動を防止することです。
マイクロセグメンテーションは、動的な環境の保護を行います。たとえば、コンテナやKubernetesなどのクラウドネイティブ アーキテクチャでは、ほんの数秒間で起動と停止が行われることがあります。クラウド ワークロードに割り当てられるIPアドレスは一時的なものなので、IPベースのルール管理は不可能です。マイクロセグメンテーションでは、セキュリティ ポリシーをネットワークの構成概念(例: 10.100.0.10 tcp/80)ではなく、IDや属性(env=prod、app=hrmなど)の観点で表現します。アプリケーションやインフラストラクチャが変更されると、人間が介入することなく、セキュリティ ポリシーの自動修正がリアルタイムで行われます。
マイクロセグメンテーションの種類
マイクロセグメンテーションは、動的な環境の保護を行います。たとえば、コンテナやKubernetesなどのクラウドネイティブ アーキテクチャでは、ほんの数秒間で起動と停止が行われることがあります。クラウド ワークロードに割り当てられるIPアドレスは一時的なものなので、IPベースのルール管理は不可能です。マイクロセグメンテーションでは、セキュリティ ポリシーをネットワークの構成概念(例: 10.100.0.10 tcp/80)ではなく、IDや属性(env=prod、app=hrmなど)の観点で表現します。アプリケーションやインフラストラクチャが変更されると、人間が介入することなく、セキュリティ ポリシーの自動修正がリアルタイムで行われます。
コンテナ セグメンテーション
コンテナ セグメンテーションでは、コンテナを互いに分離し、ホスト システムのセキュリティを向上させて、アタックサーフェスを縮小します。コンテナ化とは、複数のアプリケーションやサービスを単一のホストシステム上にある別々のコンテナで実行する広く普及している技術です。ただし、適切なセグメンテーションを行わない場合、コンテナが互いのデータや構成ファイルにアクセスする可能性があり、セキュリティの脆弱性につながることがあります。
コンテナ セグメンテーションのベストプラクティス
- コンテナの分離: 不正アクセスを防ぐため、各コンテナは、同一のホスト システムで実行している他のコンテナから分離する必要があります。これは、DockerやKubernetesなど、分離メカニズムが組み込まれているコンテナ テクノロジを使用することで実現できます。
- ネットワーク セグメンテーション: コンテナは、ネットワーク セグメンテーションの手法を使用して分割できます。これには、各コンテナの個別ネットワークの作成や、コンテナ間トラフィックの許可または拒否を行うファイアウォール ルールの構成が含まれます。
- ロールベースのアクセス制御: ロールベースのアクセス制御(RBAC)を使用して、ユーザーのロールと権限に基づき、異なるコンテナにアクセス ポリシーを定義できます。これは、正規のユーザーやプロセスのみがコンテナにアクセスするために役立てることができます。
- イメージの署名: コンテナ イメージにデジタル署名を施して、信頼済みのイメージのみを本番環境に展開できます。これにより、コンテナ イメージの改ざんや改変を防止して、セキュリティ脆弱性のリスクの低減に役立てることができます。
- ランタイム保護: ランタイム保護ツールは、コンテナ アクティビティの監視と、セキュリティ侵害を示す可能性がある異常の検出に使用できます。こうしたツールは、リアルタイムに攻撃を検出して防御するうえで役立ち、コンテナ化環境のセキュリティ体制を向上させます。
コンテナ セグメンテーションは、コンテナ化されたアプリケーションやサーバのセキュリティの確保に役立ちます。コンテナを分離してアクセス制御ポリシーを適用することで、組織ではアタックサーフェスを縮小し、機密データとリソースへの不正アクセスを防止できます。コンテナ セグメンテーションは、ネットワーク セキュリティ、アクセス制御、ランタイム保護などの全体的なセキュリティ戦略の一部として実装する必要があります。
クラウド セキュリティのユーザー セグメンテーション
クラウド セキュリティのユーザー セグメンテーションでは、組織内の多様な役割と責任に基づいてユーザー アクセスを分割して、ユーザーが自分の職務の実行に必要なリソースのみにアクセスするようにします。ユーザー セグメンテーションにより、機密データとリソースの開示を正規ユーザーのみに制限することで、アタックサーフェスを縮小します。
クラウド環境は動的で急速に変化するため、ユーザー セグメンテーションは、包括的なクラウド セキュリティ戦略の重要な構成要素となります。クラウド セキュリティにおけるユーザー セグメンテーションの主な考慮事項は、以下のとおりです。
- ロールベースのアクセス制御(RBAC): RBACでは、ロールの権限を作成および定義し、さらに職務に応じた適切なロールにユーザーを割り当てます。このアプローチにより、ユーザーは職務の実行に必要なリソースのみにアクセスできるようになり、故意または意図的なデータ侵害のリスクが削減されます。
- 多要素認証(MFA): MFAでは、ユーザーはリソースにアクセスするために、複数の形式の認証データを提供する必要があります。これには、パスワード、セキュリティ トークン、生体認証データなどが含まれます。MFAは、特にRBACと組み合わせた場合、クラウド リソースへの不正アクセスを防止する効果的な方法となります。
- 継続的監視: ユーザー アクティビティの継続的監視は、セキュリティ インシデントをリアルタイムに検出して対応するために非常に重要です。これには、ログ データやユーザーの振る舞いを分析して、脅威や脆弱性を識別することが含まれます。
- 職務の分離: 職務の分離では、複数のユーザーで職務を分担して、いずれかのユーザーがシステムやプロセスで過大な制御権限を持たないようにします。これにより、詐欺やミスのリスクを低減し、機密情報を扱う操作が複数のユーザーで実行されるようにします。
- 定期的なアクセス レビュー: 定期的なアクセス レビューでは、ユーザーのアクセス権限を定期的に見直して、その権限が現在も不可欠であることを確認します。アクセス レビューは、不要なアクセス権限の識別と削除に役立ち、不正アクセスのリスクを軽減します。
RBAC、MFA、継続的監視、職務の分離、定期的アクセス レビューを実装することで、組織では、クラウド セキュリティ体制の強化、進化する脅威に対する防御、アタックサーフェスの縮小、および機密データとリソースへの不正アクセスの防止を実施できます。
マイクロセグメンテーションのメリット
マイクロセグメンテーションを採用している組織では、目に見えるメリットを実感しています。具体的には以下のとおりです。
- アタックサーフェスの縮小: マイクロセグメンテーションにより、開発やイノベーションを遅らせることなく、ネットワーク環境全体が可視化されます。アプリケーション開発者は、開発サイクルの初期にセキュリティ ポリシーの定義を統合し、アプリケーションの展開と更新のいずれにおいても、新しい攻撃ベクトルを生み出すことはないと確信できます。これは、展開の素早いDevOpsの世界では特に重要です。
- 侵害封じ込めの向上: マイクロセグメンテーションにより、セキュリティ チームは、事前定義済みポリシーに照らしてネットワーク トラフィックを監視できるだけでなく、データ侵害への対応と修復の時間を短縮できます。
- 法規制遵守の強化: マイクロセグメンテーションを使用することで、規制対象システムをインフラストラクチャのその他の部分から分離するポリシーを、規制担当者は作成できます。規制対象システムとの通信をきめ細かく管理することで、規制に準拠せずに利用するリスクを削減します。
- ポリシー管理の簡素化: マイクロセグメント化されたネットワークまたはゼロ トラスト セキュリティ モデルに移行することで、ポリシー管理を簡素化する機会が得られます。一部のマイクロセグメンテーション ソリューションは、アプリケーションの振る舞いを学習して、アプリケーションの検出やポリシーの提案を自動的に実施します。
マイクロセグメンテーションの使用例
マイクロセグメンテーションの使用例の範囲は広く、今も拡大しています。代表的な例は以下のとおりです。
- 開発システムと実稼働システム: 最善のシナリオでは、組織は開発環境とテスト環境を実稼働システムから慎重に分離します。しかし、こうした方法では、開発者がテスト目的で実稼働データベースから顧客情報を取得するなどの軽率な操作が防止されない可能性があります。マイクロセグメンテーションでは、2つの環境の間の接続をきめ細かく制限することで、より統制の取れた分離を実施できます。
- ソフト資産のセキュリティ: 企業は、顧客や従業員に関する機密情報、知的財産、企業の財務データなどの「ソフト」資産を保護することで、経済的にも評判的にも大きなインセンティブを得ています。マイクロセグメンテーションは、ダウンタイムを発生させて業務を妨げかねないデータ流出やその他の悪意ある行為から組織を守るために、もう1つのレベルのセキュリティを追加するものです。
- ハイブリッド クラウド管理: マイクロセグメンテーションでは、複数のクラウドに展開されたアプリケーションをシームレスに保護し、複数のデータ センターとクラウド サービス プロバイダで構成されるハイブリッド環境全体で、統一されたセキュリティ ポリシーを実装できます。
- インシデント対応: これまでにも述べたように、マイクロセグメンテーションでは、脅威の横方向の移動を制限し、侵害の影響範囲を限定します。さらに、マイクロセグメンテーション ソリューションが提供するログ情報は、インシデント対応チームが攻撃手法とテレメトリをより深く理解し、ポリシー違反アプリケーションをピンポイントで指定するために役立ちます。
マイクロセグメンテーションのよくある質問
ネットワーク セグメンテーションとマイクロセグメンテーションは違うのですか?
ネットワーク セグメンテーションとマイクロセグメンテーションはいずれも、ネットワーク セキュリティとパフォーマンスの向上に役立ちますが、根本的な部分が異なります。従来のネットワーク セグメンテーションは、ネットワークで送受信するnorth-southトラフィックに注目し、VLAN、ファイアウォール、ルーター、およびその他のデバイスを使用して実装されます。これらのデバイスを構成して、アクセス制御リスト(ACL)やファイアウォール ルールなどのセキュリティ ポリシーをネットワーク レベルで適用できます。
一方、マイクロセグメンテーションはeast-westトラフィックに注目し、通常は、ハイパーバイザベースのファイアウォールやエンドポイント プロテクション プラットフォーム(EPP)などのソフトウェアベースのセキュリティ ソリューションを使用して実装されます。マイクロセグメンテーションでは、ネットワーク レベルではなく、個々のワークロードまたはアプリケーション レベルでセキュリティ ポリシーを適用します。
ファイアウォール ポリシーとは?
ファイアウォール ポリシーでは、組織のファイアウォールで、特定のIPアドレスやアドレス範囲の送受信ネットワーク トラフィックを処理する方法を定義します。ポリシーでは、ユーザーID、ネットワーク アクティビティ、アプリケーションに加えてIPアドレスにも重点を置くことがあります。
仮想ネットワークとは?
仮想ネットワークでは、ソフトウェアを使用して、コンピュータ、仮想マシン(VM)、サーバ、またはインターネット上の仮想サーバに接続します。これに対して従来の物理ネットワークは、ハードウェアやケーブルで一定の場所に固定されていました。
アプリケーションの依存関係とは?
アプリケーションの依存関係とは、ソフトウェア、アプリケーション、サーバ、およびその他のコンポーネントがそれぞれの機能を実行するために、互いに依存することを指します。サービスを途切れなく継続するには、クラウドへの移行、新しいクラウド環境へのコンポーネント移行、またはマイクロセグメンテーション実装の前に、アプリケーションの依存関係をマッピングする必要があります。