SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

NSX-T 分散ファイアウォール (DFW) を理解する

仮想化
2020.04.10

こんにちは。SB C&S 千代田です。

NSX-Tは企業のデータセンターをSDN化する製品です。NSX-Tを導入することでオーバーレイネットワークを構築し、より柔軟かつ迅速に仮想ネットワークを作成することが可能です。また、NSXといえばマイクロセグメンテーションによるセキュリティ強化のイメージが強いかと思います。特にNSX-vではオーバーレイネットワークを実装せず、分散ファイアウォール(以下DFW)のみ実装するケースも珍しくありませんでした。今回はNSX-TのDFWを理解いただけるように設定方法を含めてご紹介します。

本ブログは以下の流れとなります。

  • DFWの特徴を理解する
  • マイクロセグメンテーションのおさらい (補足)
  • DFWを設定する
  • 細かく設定を確認する
  • DFWの注意点

DFWの特徴を理解する

はじめに、製品機能の特徴を理解します。

スライド1.png

NSX-Tはソフトウェアでファイアウォール機能を提供しています。NSX-TカーネルモジュールをESXiにインストールすることで、vSIPと呼ばれるDFWのカーネルモジュールがESXi上で実行されステートフルファイアウォール機能を提供します。

NSX-TはNSX Managerでファイアウォールポリシーを設定し管理します。ESXiは適用されたファイアウォールポリシーの中で自分のホストに関係あるルールのみをvSIPに設定し仮想マシンの仮想NIC単位で通信のフィルタリングを実行します。

マイクロセグメンテーションのおさらい (補足)

補足の情報となります。すでにマイクロセグメンテーションについて理解されている方は「DFWを設定する」まで読み飛ばしてください。

スライド2.png

DFWと従来の専用ハードウェアを必要とするファイアウォール機器(以下境界型ファイアウォール)を比較すると、通信をフィルタリングする場所が異なることがわかります。境界型ファイアウォールは社外ネットワークと社内ネットワークの境界で通信をフィルタリングしますが、DFWは仮想マシンの仮想NIC単位で通信をフィルタリングします。この違いは、対象の通信を適切にフィルタリングできるか、また、効率的であるかに影響します。

例えば、境界型ファイアウォールは同一ネットワークに接続されたサーバ間通信をフィルタリングできません。たとえファイアウォールポリシーを設定していたとしても、実際に通信をフィルタリングできないのであればその設定は意味をなしません。この場合、ネットワークをまたぐ通信を発生させるために一対のサーバを異なるネットワークへ接続するなどの工夫が必要となります。DFWは仮想マシンの仮想NIC単位でフィルタリングを行うため、同一ネットワークに接続されたサーバ間通信であってもフィルタリングできます。また、境界型ファイアウォールは、仮想スイッチやL2スイッチでスイッチングすれば宛先へ到達する通信をわざわざフィルタリングしたいがためにファイアウォール機器まで送信しています。DFWであればこのように無駄なヘアピン通信は発生しないため効率的です。

これまで述べたようにDFWは境界型ファイアウォールと比較してネットワークに工夫する必要なく、セキュリティを最小化して適用可能な点が特徴となります。そして重要なのは特徴を理解した上で機能を適切に使いこなすことです。境界型ファイアウォールの目的は外部の攻撃者から情報資産を守ることにあります。外部からの許可しないアクセスをブロックするために様々な機能が追加され多層防御を実装していますが、昨今の標的型攻撃のように攻撃手法の高度化も相まって全ての攻撃を防ぎ切ることは現実的ではなくなってきています。もし、攻撃者の侵入を許しサーバが乗っ取られた場合、情報漏洩などのセキュリティインシデントに直結します。また、攻撃者はより価値の高い情報資産へアクセスしようと、上位権限を持つサーバへ内部拡散を繰り返します。DFWの特徴を効果的に発揮できる使い方はこの侵入後の内部拡散を防ぐことです。境界型ファイアウォールでは困難な社内ネットワークの横方向への攻撃を防ぐことで被害を最小化できる点が価値となります。

DFWを設定する

以下では例としてクライアントとして機能する仮想マシン"vm-01"から、Webサーバとして機能する仮想マシン"vm-02"への通信を制御するケースを想定して設定の流れをご紹介します。
はじめに「グループの作成」、次に「ファイアウォールポリシーとファイアウォールルールの作成」、最後に「疎通確認」で適切に通信が制御されているかを確認します。

スライド3.png

1st. グループの作成

ファイアウォールルールの設定を効率化するため、オブジェクトをグループ化します。

スライド4_修正.png

特に動的グループは定義したオブジェクトの追加条件で、管理者の定めた基準に則ってファイアウォール設定の自動適用を実現することになるため効果的です。

今回は"Client"と"Web"、2つのグループを作成します。

"Client"のメンバーシップ基準
[仮想マシン] [タグ] [が次と等しい] [Client]

スクショ1.png

"Web"のメンバーシップ基準
[仮想マシン] [タグ] [が次と等しい] [Web]

スクショ2.png

今回は管理がしやすい[タグ]を条件にしてグループを作成しました。
"Client"と"Web"のグループが作成されたことを確認します。

スクショ3.png

まだ仮想マシンにタグをつけていないので、グループにはメンバーがいません。

"vm-01"にタグ[Client]をつけます。

スクショ5.png

"vm-02"にタグ[Web]をつけます。

スクショ6.png

グループのメンバーに仮想マシンが追加されたことを確認します。

スクショ7.png

このように仮想マシンに[タグ]をつけると自動的にグループのメンバーに追加されます。

2nd. ファイアウォールポリシーとファイアウォールルールの作成

ファイアウォールポリシー[Web Policy]を作成
ファイアウォールルール[HTTP Block]を作成
ファイアウォールルール[HTTPS Allow]を作成

スクショ8.png

3rd. 疎通確認

"vm-01"から"vm-02"へ[HTTP]でアクセスし通信が[却下]されることを確認します。

スクショ9.png

"vm-01"から"vm-02"へ[HTTPS]でアクセスし通信が[許可]されることを確認します。

スクショ10.png

以上で「グループの作成」「ファイアウォールポリシーとファイアウォールルールの作成」「疎通確認」を確認できました。

スライド3.png

ここまでの設定に加えて"vm-03"にタグ[Web]をつければ、Webグループへ自動追加され、"vm-02"と同じようにファイアウォールポリシーが適用されます。

細かく設定を確認する

DFWの設定を細かく確認するため、VMが実行されているESXiホストにSSHでログインします。
今回の環境では"vm-01"が実行されている"esxi-01"へログインします。"vm-02"と"vm-03"は別ホストで実行されています。
以下コマンドを実行し、nsxcliに入ります。
nsxcli
以下コマンドを実行し、ESXiで実行されているファイアウォールポリシーと、VIFのUUIDを確認します。
get firewall vifs

スクショ11.png

以下コマンドを実行し、適用されているファイアウォールポリシーのルールを確認します。
get firewall <vifuuid> ruleset rules

スクショ12.png

[rule 2055]と[rule 2056]が先ほど設定したファイアウォールルールであり、対象となる仮想マシンESXiホストで実行されているためNSX Managerからルールセットを受け取っていることが確認できます。
以下コマンドを実行し、アドレスセットを確認します。
get firewall <vifuuid> addrsets

スクショ13.png

DFWの注意点

ESXiでDFWを細かく確認したところで注意点についても紹介します。
NSX-TのDFWはNSX-Tで作成したセグメントに接続されたオブジェクトでなければファイアウォールポリシーが適用されません。今回の場合、"vm-01"はNSX-Tで作成したセグメント[Seg-01]に接続しているためファイアウォールポリシーが適用されていました。しかし、"vm-01"の接続先を標準仮想スイッチのスイッチポート[VM Network]などへ変更すると、ESXi上からファイアウォールポリシーが削除されるためご注意ください。

スクショ14.png

スクショ11.pngスクショ15.pngスクショ16.png

グループやファイアウォール設定が正しいにも関わらずDFWが適用されない場合、仮想マシンの接続先ネットワークがNSX-Tで作成したセグメント(論理スイッチ)でない可能性がありますのでご注意ください。

さいごに

今回はNSX-TのDFWを理解いただけるよう、設定方法を含めてご紹介しました。
NSX-vをご存知の方はNSX-TでDFWに違いがあるのか気になるかと思いますが、実際触ってみると「そんなに変わらない」という印象に落ち着くかと思います。NSX-vで多く見られた「VDI × マイクロセグメンテーション」のユースケースをNSX-Tでも実現できることは本ブログを通してご理解いただけたのではないでしょうか。NSX-TはすでにTrend Micro Deep Security もサードパーティ製品としてサポートしているので自動隔離も可能です。
DFWの注意点で、NSX-Tのセグメントに仮想マシンを接続しなければDFWが適用されない制限を紹介しましたが、これは必ずしもオーバーレイセグメント(VNI)である必要はありません。ESXi(ホストトランスポートノード)をVLANトランスポートゾーンに追加すればVLANセグメント(VLAN)を作成できるので、オーバーレイネットワークを実装せずにDFWを利用することもできます。
NSX-Tに関して、まずはDFWだけでもキャッチアップしておこうという方も多いかと思いますので、その際には本ブログを活用いただければ幸いです。

他のおすすめ記事はこちら

著者紹介

SB C&S株式会社
ICT事業本部 販売推進・技術本部 技術統括部 第1技術部 1課

千代田 寛(VMware vExpert)