【第2回】「Illumio」ゼロトラストセグメンテーション(マイクロセグメンテーション)による通信制御
投稿者:illumio担当
みなさん、こんにちは。社会人1年目セキュリティチーム所属の若林です。
前回は、現代のランサムウェアの動向からIllumioの概要、通信の可視化についてご紹介しました。
前回の記事はこちらです。
今回は、Illumioを使って通信を制御をする方法を見ていこうと思います。
1.通信制御について
Illumioの通信制御についてご説明します。
通信制御は、Illumioを導入する大きなメリットの一つです。
通信制御によって、セキュリティの向上やコンプライアンスの強化につながります。
ランサムウェアの侵入を許してしまうと、気づかれないように境界内の移動(水平移動)をするため、被害が拡大していきます。
これに対抗するための手段の一つとしてマイクロセグメンテーションがあります。
マイクロセグメンテーションは、ネットワークを細分化し、ランサムウェアの攻撃を受けても被害を最小限に抑えることができます。
これに対応する製品が「Illumio」です。
2.Illumioの制御モードについて
Illumioには、遮断を制御する3つのモード ( Visibility Only / Selective / Full )があります。
これをエンフォースメント(Enforcement)モードと呼びます。
- Visibility Onlyモードでは、可視化のみで遮断はしません。前回の可視化で設定していたモードです。
- Selectiveモードは、デフォルトは全て許可(Allow)、特定の通信のみ拒否(Deny)します。
- Fullモードは、デフォルトは全て拒否(Deny)、特定の通信のみ許可(Allow)します。
厳密に通信を制御したい場合はFullモードにします。
許可ルールを作成せずにFullモードにすると、どこにも接続出来なくなってしまうので注意する必要があります。
一定期間はSelectiveモードで運用して、その後にFullモードに移行することも可能です。
3.遮断の手順
今回は、Selectiveモードを使って、特定のIPアドレスに対するSSHでの通信を拒否する方法を見ていきます。
Workloadsには、IllumioエージェントであるVEN(Virtual Enforcement Node)をインストールしたサーバーが、ワークロードとして一覧で表示されています。
変更対象のワークロードにチェックを入れます。
画面上部のEnforcementから任意のモードを選択します。
今回は、Selectiveモードを選択します。
今回は、特定のIPアドレスに対するSSHでの通信を拒否するルールの作成をします。
上記でSelectiveモードの設定をしたので、全ての通信を許可(Allow)しています。
特定の通信のみを拒否(Deny)したいので、Deny Rulesを選択し、ルールの作成を行います。
Addから新規作成を行います。
ここでルールの詳細設定をします。
Nameでは、このルールの名前を決めます。
今回はSSHでの通信を遮断するため「SSH_test」としておきます。
Sourcesは、あらかじめ作成・付与したラベルを活用し、どこからの通信を制御するかを決めます。
※ラベルについては、第一回のテックブログを参照してください。
Destinationには、通信の宛先を入れます。
Sourcesと同様にラベルによる選択が可能です。
今回は宛先を特定のIPアドレスにするため、IP Lists> DataBase_Externalを選択します。
Destination Servicesでは、任意のプロトコルを選択します。
今回は、SSHでの通信を拒否するため、SSHを選択します。
StatusやNetwork Profileはそれぞれ任意のものを選択し、Saveで保存します。
Saveをクリックすると、下記のような画面になり、すぐに適用されるわけではありません。
この段階ではまだ通信は遮断されていません。
それでは、トラフィックを遮断してみましょう。
該当のルールを選択した上で、Provisionをクリックします。しばらく待つと適用されます。
もう一度、通信ができるか確認してみます。
通信できなくなっていることが分かります。
これで、特定のIPアドレスに対するSSHでの通信が拒否するルールが適用されました。
MAPからも確認することができます。
許可されている通信先に対しては黄色、拒否されている通信先は赤色になります。
Sourcesで設定したラベルからIP Listに対する矢印が赤色になっており、拒否するルールが適用されていることが分かります。
また、該当のワークロードを選択すると適用されているルールの詳細を確認することができます。
ここでは、ラベルの対象からルールで設定したDataBase_ExternalへのSSH通信が遮断されていることが分かります。
気付いた方もいると思いますが、トラフィックを遮断するために通信元・通信先のIPアドレス・サブネットは指定していません。
Workload 単位に導入されたVENへラベリングを行うことにより、IPアドレス・サブネットを意識せずにルールを作成できます。
可視化されたトラフィックを見ながら、ルールを設定することでFirewallの設定に詳しくなくても、直感的にトラフィックの制御ができました。
Illumioのメリットは下記であることが分かりました。
- 煩雑なIPアドレス・サブネットによるルール作成が不要
- WorkloadのIPが変動してもVENが同期(クラウド移行などでも適用可)
- 論理的なルールから実際のiptablesなどのOS firewallルールを自動生成
4.マイクロセグメンテーションのユースケース
具体的にマイクロセグメンテーションを使用する際のユースケースを見てみましょう。
ユースケース例:ランサムウェア等にて悪用されがちなポートの管理
すべてのコアサービスポート(RDPやSSHといった保守管理用)は、すべてのワークロードにおいてEnforcement Boundaryで保護します。
Workloadは、適宜コアサービスへ接続することが許可されますが、コアサービスのポートで互いに接続することは禁止します。
これにより、マルウェアの拡散に最もよく使われるベクトルを排除しコアサービスに対するEast-West移動を抑止します。
ユースケース例:環境分離
双方向のEnforcement Boundaryにて、2つの環境の間に仮想的な境界を設置します。
それぞれの環境内(Production,Development内部)のフローは妨げられることなく継続します。
しかし、allowlist(rulesets)で明示的に許可を定義されていない限り、どのフローもEnforcement Boundaryを越えることはできません。
最後に
いかがでしたでしょうか。
このブログを通して、Illumioによる通信の制御方法についてご理解いただけたのではないでしょうか。
次回のブログは、
「(3回目)では、セキュリティ関連製品との連携をしてみます。」
を予定しておりますので、そちらも併せてご覧いただけますと幸いです。