○ 侵入者からサーバーを守る、ゼロトラストの現実解「マイクロセグメンテーション」。
日々進歩する「ゼロトラストを支える技術」の最新事情を紹介する本特集。第2回はネットワークを小さい単位に分割し、その区切りごとにセキュリティー制限を施す「マイクロセグメンテーション」だ。社内に侵入した攻撃者が重要なサーバーなどにアクセスするのを防止できる。
マイクロセグメンテーションとは、企業のネットワークの内部をなるべく細かく(マイクロ)分割(セグメンテーション)して、各セグメントの中には許可されたデバイスやユーザーでなければ入れないようセキュリティー上の制限を設ける技術だ。
重要なデータやアプリケーションを管理するサーバーは特定のセグメントの内部に配置することで、もし攻撃者が企業内ネットワークに侵入した場合であっても、社内サーバーを攻撃から防御する。
マイクロセグメンテーションは「何も信頼しない」ことを前提にしたゼロトラストのセキュリティー対策を実装する手法だ。従来の境界型防御のようにファイアウオールなどで外部から守られた企業ネットワークの内側を全面的に信頼するのではなく、企業の内側にさらに防衛ラインを複数設けることで、社内に侵入した攻撃者による横方向の動き(ラテラルムーブメント)を制限する。
ソフトウエアでネットワークを分割。
「ネットワークのセグメントを分ける」といっても、物理スイッチでVLAN(バーチャルLAN)などを設定してLANを分割するわけではない。近年主流となっているマイクロセグメンテーション製品は、サーバーやパソコンなどに導入したエージェントソフトウエアによって仮想的なネットワーク分割を実現する。具体的には米Akamai Technologies(アカマイ・テクノロジーズ)の「Akamai Guardicore Segmentation」や米Illumio(イルミオ)の「Illumio Core」「Illumio Edge」、米Cisco Systems(シスコシステムズ)「Cisco Secure Workload」などがエージェント型のマイクロセグメンテーション製品を提供している。
主要なマイクロセグメンテーション製品は、サーバーやパソコンなどに導入するエージェントソフトと、エージェントを管理するソフト(本記事ではコントローラーと呼ぶ)で構成する。
マイクロセグメンテーション製品におけるセグメントとは、エージェントを導入したサーバーやパソコンによるグループである。コントローラーから各グループに対して「人事システム」「営業システム」「人事部端末」といった「ラベル」を付与し「『人事部端末』から『人事システム』への通信は許可する」といった具合に、グループ単位でアクセスポリシーを設定する。
エージェントは決められたアクセスポリシーに従って、自身がインストールされたサーバーに対するアクセスを制御する。具体的な制御方式は製品によって異なるが、エージェント自身がファイアウオールとして振る舞う方式(アカマイ・テクノロジーズ)や、エージェントがOSに搭載されたファイアウオール機能を操作する方式(イルミオやシスコシステムズ)がある。ここでいうOSのファイアウオール機能とは、Linuxの「iptables」やWindowsの「Windows Filtering Platform」などである。
管理画面からはラベルを指定してポリシーを設定できる。ポリシーの実体はIPアドレス、TCP/UDPのポート番号などを指定するシンプルなファイアウオールルールだ。
エージェントソフトは使わないマイクロセグメンテーション製品もある。例えば米VMware(ヴイエムウエア)の「VMware NSX Distributed Firewall」だ。VMware NSXが搭載する分散ファイアウオールを制御することでマイクロセグメンテーションを実現する。管理対象は同社の仮想化環境で動く仮想サーバーに限られる一方で、既にVMware NSXを導入済みの企業向にとってはエージェントの配布も不要なため、手間がかからないソリューションといえる。
コントローラーによって設定するラベルやアクセスポリシーは動的に変更可能だ。例えば「新しいサーバーが追加されたら、同じ種類のサーバーに適用されている既存のポリシーを自動で割り当てる」「新しく危険な脆弱性が見つかったら、その影響を受けるOSをまとめたラベルを作って隔離する」といった具合だ。
アクセスポリシーの作成を、コントローラーのAI(人工知能)が補助する機能もある。
コントローラーはまず一定期間、エージェントから収集した情報に基づいて、企業や組織ごとのトラフィックの傾向を学習する。例えば相互に頻繁に通信するサーバー同士はどれか、1度もやり取りが発生していないサーバー同士はどれかなどを把握する。コントローラーはこの情報を基に機械学習などを用いてアクセスポリシーを作成する。ポリシー違反などネットワーク上で異常を検知した場合は、警告を発する仕組みだ。多数のセグメントにどのようなポリシーが反映され、セグメント同士の関係性がどうなっているかは管理画面で可視化できる。

マイクロセグメンテーションは、Amazon Web Services(AWS)のようなパブリッククラウドに実装されているセキュリティー機能「セキュリティグループ」を、オンプレミスでも実現する機能だといえる。AWSなどのセキュリティグループも、仮想サーバーをグループ化し、仮想サーバーへのアクセスをグループ単位で制御する機能である。
マイクロセグメンテーション製品の中には、オンプレミスに設定したセグメントと、パブリッククラウドに設定したセキュリティグループを連携させる機能を搭載するものもある。
物理ネットワーク機器頼みでは柔軟性が足りない。
マイクロセグメンテーションを実現する方式としては、ここまで紹介してきたエージェントを使う方式以外にも、ネットワーク機器を使用する方式もある。
実際に、米国立標準技術研究所(NIST)がゼロトラストの定義やアーキテクチャーを整理した文書「NIST SP800-207」では、マイクロセグメンテーションの実現方法としてソフトウエアエージェント型以外に、レイヤー2(L2)スイッチ、レイヤー3(L3)スイッチ(ルーター)、次世代ファイアウオール(NGFW)、専用ゲートウエイなどを使う方式があると述べている。
ところがネットワーク機器を使った方式には、運用・コスト面でいくつか課題がある。
例えば、単純にネットワークのセグメントを分割する方法としては昔からVLANが存在する。L2スイッチ、L3スイッチなどにVLANやVLAN間ルーティングの設定を施し、通信を制限したい場合はACL(アクセス・コントロール・リスト)を適用する。この方法はマイクロセグメンテーションのように細かいネットワーク分割を実現するには、設計・設定に手間がかかりすぎるため現実的ではない。サーバーの構成に変更が加わった際の再設定も煩雑だ。
また今どきの企業の情報システムは、パブリッククラウドのIaaS(ソフトウエア・アズ・ア・サービス)を活用しているケースが多いだろう。オンプレミスにあるL2/L3スイッチやNGFWを使った方式では、クラウド環境を含めたアクセス制御の管理は難しい。クラウド上に構築したシステムは構成変更も頻繁に行われるため、スイッチなどの設定をサーバー構成の変更に追従させるのも大変だ。
それに対してエージェント型の場合、事前にエージェントを配布・インストールする手間はかかるが、その後はコントローラーがポリシーを集中管理・配布するため、環境の変化にポリシーが追従しやすい。よってマイクロセグメンテーションを実現するうえでは、エージェント型が現実的な選択肢だといえそうだ。
ただしネットワーク機器を使った方式が有効なケースもある。オンプレミスに古い基幹システムやIoT(インターネット・オブ・シングス)デバイスなど、エージェントを配布できないデバイスが存在するような場合である。
そこで例えばシスコでは、マイクロセグメンテーションの製品のコントローラーである「Cisco Secure Workload」から、ファイアウオール「Cisco Secure Firewall」を連携できるようにした。エージェントをインストールできないデバイスの通信は最初に必ずファイアウオールを通過させるようにネットワークを設計し、ファイアウオールでアクセス制御を実施する。