例3︓Webホスト シナリオ︓

In document Citrix XenServer 7.5 管理者ガイド 発 2018年5 1.0 エディション (Page 91-94)

攻撃者(Tenant C)が⾃分のホスト(Host-C)を使⽤してリモートシステムにサービス拒否攻撃を しかけ、⾃分のIDを偽装しようとします。

攻撃1

Tenant CがHost-CのIPアドレスとMACアドレスとして、VM-aのもの(a_IPとa_MAC)を設定しま す。Tenant Cは、Host-CからリモートシステムにIPトラフィックを送信します。

結果︓Host-Cからのパケットはドロップします。これは、管理者がスイッチポートロック機能を有 効にしたためです。これにより、偽装が無効になります。

攻撃2

Tenant CがHost-CのIPアドレスとして、VM-aのもの(a_IP)を設定し、元のc_MACは保持しま す。

Tenant Cは、Host-CからリモートシステムにIPトラフィックを送信します。

結果︓Host-Cからのパケットはドロップします。これは、管理者がスイッチポートロック機能を有 効にしたためです。これにより、偽装が無効になります。

例3︓Webホスト

シナリオ︓

⼭⽥⽒はインフラストラクチャ管理者です。

彼のテナント(Tenant B)は⾃分の仮想マシンVM-bで複数のWebサイトをホストしています。各 Webサイトでは、同⼀仮想ネットワークインターフェイス(VIF)上でホストされる個別のIPアドレ スが必要です。

⼭⽥⽒はHost-BのVIFを再設定して、このVIFが単⼀MACアドレスと複数IPアドレスを保持するよう に変更します。

4.4.10.9.5. スイッチポートロック機能のしくみ

スイッチポートロック機能により、以下の2つのレベルでパケットフィルタを制御できます。

VIFレベル︓VIF上での設定により、パケットがどのようにフィルタされるかが決定されます。仮

想マシンからのすべてのトラフィックをブロックしたり、そのVIFに関連付けられているIPアドレ スを使⽤したトラフィックだけを送信したり、そのVIFが接続しているネットワーク上のすべての IPアドレスにトラフィックを送信したりできます。

ネットワークレベル︓XenServerネットワークにより、パケットがどのようにフィルタされるかが

決定されます。VIFのロックモードをnetwork_defaultに設定すると、ネットワークレベルの ロック設定に基づいて許可されるトラフィックが決定されます。

使⽤するネットワークスタックにかかわらず、この機能は同じしくみで動作します。ただし、後続の セクションで説明するように、LinuxブリッジではIPv6でのスイッチポートロックが完全にはサポー トされません。

4.4.10.9.6. VIFのロックモード

XenServerのスイッチポートロック機能では、VIFに4つのロックモードを設定できます。これらの ロックモードは、実⾏中の仮想マシンに接続されているVIFに対してのみ適⽤されます。

この図は、ネットワークのロックモードが「unlocked」に設定されているときのVIFの ロックモードを⽰しています。左の図では、VIFのロックモードが「network_default」

に設定されており、仮想マシンからのトラフィックはフィルタされません。中央の図で は、VIFのロックモードが「disabled」に設定されており、すべての送受信パケット がブロックされます。右の図では、VIFのロックモードが「locked」に設定されてお り、正しいMACアドレスおよびIPアドレスを含んでいるパケットだけが送信されます。

network_default︓VIFのロックモードを network_default

に設定すると、XenServerはネッ トワークのdefault-locking-modeパラメーターに基づいてそのVIFを介したパケットをフィル タします。このため、ネットワークに設定されているロックモード(disabledまたはunlocked)

により、VIFの動作が以下のように異なります。

• ネットワークのロックモードがdefault-locking-mode=

disabled

の場合、XenServerに よってVIFですべてのトラフィックをドロップするフィルタ規則が適⽤されます。

• ネットワークのロックモードがdefault-locking-mode=unlockedの場合、XenServerに よってVIFのすべてのフィルタ規則が解除されます。default-locking-modeパラメーターのデ フォルト値は

unlocked

です。

default-locking-modeパラメータについては、項A.4.11. 「ネットワークコマンド」を参照し てください。

ネットワークのdefault-locking-modeパラメーターの設定がそのネットワークに接続しているVIF のフィルタ規則に影響するのは、そのVIFのロックモードが

network_default

である場合のみで す。

注︓

VIFがアクティブな場合、そのネットワークのdefault-locking-modeパラメー タを変更することはできません。

Locked。VIFのロックモードをlockedに設定すると、XenServerはそのVIFで特定のMACアドレ

スおよびIPアドレスとの送受信トラフィックのみを許可します。このモードでIPアドレスが指定さ れていない場合、仮想マシンはそのVIFを介してトラフィックを送信できなくなります。

VIFでのトラフィックを許可するIPアドレスを指定するには、IPv4またはIPv6(またはその両⽅)

のIPアドレスをipv4_allowedまたはipv6_allowedパラメータで指定します。ただし、Linuxブ リッジを使⽤する環境では、IPv6アドレスを指定しないでください。

Linuxブリッジがアクティブな場合でも、XenServerでIPv6アドレスを指定すること⾃体は可能で すが、XenServerではそのIPv6アドレスでトラフィックをフィルタすることはできません(Linux ブリッジにはNDP(Neighbor Discovery Protocol)パケットをフィルタするモジュールがないた め、完全な保護を実装できません。このため、NDPパケットを偽造することで仮想マシンが偽装さ

れる場合があります)。この結果、Linuxブリッジ環境でIPv6アドレスを指定しても、XenServer によってすべてのIPv6トラフィックがそのVIFで許可されてしまいます。IPv6アドレスを指定しな ければ、XenServerによってすべてのIPv6トラフィックがそのVIFでドロップされます。

unlocked︓すべてのネットワークトラフィックが許可され、そのVIFを通過できるようになりま

す。つまり、そのVIFで送受信されるトラフィックにいかなるフィルタも適⽤されません。

無効。すべてのネットワークトラフィックが禁⽌され、そのVIFを通過できなくなります。つま

り、XenServerによってVIFですべてのトラフィックをドロップするフィルタ規則が適⽤されま す。

4.4.10.9.7. スイッチポートロックの設定 ここでは、以下の⼿順について説明します。

• VIFで特定のIPアドレスのトラフィックだけを許可する。

• 許可するIPアドレスの⼀覧にほかのIPアドレスを追加する(たとえば、仮想マシンがネットワーク に接続されて実⾏中に、VIFにIPアドレスを追加する場合(たとえば、ネットワークを⼀時的にオ フラインにしている場合))。

• 許可するIPアドレスの⼀覧から特定のIPアドレスを削除する。

VIFのロックモードを

locked

に設定すると、ipv4-allowedまたはipv6-allowedパラメーターで 指定されたIPアドレスのトラフィックだけが許可されるようになります。

VIFに複数のIPアドレスが割り当てられることもあるため、これらのパラメータでは、複数のIPアド レスを指定することもできます。

これらの⼿順は、VIFの接続前および接続後(仮想マシンの起動後)に実⾏できます。

VIFで特定のIPアドレスのトラフィックだけを許可するには

1. VIFのロックモードがlockedに設定されていない場合は、次のコマンドでlocking-modeパラ メーターにlockedを指定します。

xe vif-param-set uuid=<vif-uuid> locking-mode=locked

ここで、

vif-uuid

にはVIFのUUIDを指定します。VIFのUUIDを確認するには、そのホスト上 でxe vif-listコマンドを実⾏します。仮想マシンのUUID(vm-uuid)ごとに各デバイスの⼀覧 が表⽰され、デバイスIDによりVIFのデバイス番号が⽰されます。

2.

vif-param-setコマンドに以下のパラメータを使⽤して、許可するIPアドレスを指定します。

必要に応じて、以下のいずれかまたは両⽅を⾏います。

• 許可するIPv4 IPアドレスを指定します。次に例を⽰します。

xe vif-param-set uuid=<vif-uuid> ipv4-allowed=<comma separated list of ipv4-addresses>

• 許可するIPv6 IPアドレスを指定します。次に例を⽰します。

xe vif-param-set uuid=<vif-uuid> ipv6-allowed=<comma separated list of ipv6-addresses>

複数のIPアドレスをコンマで区切って⼊⼒できます。

VIFで許可するIPアドレスを追加するには

上記の⼿順で許可されるIPアドレスを指定した後で、そのVIFに許可されるIPアドレスを追加するこ とができます。

vif-param-addコマンドに以下のパラメータを使⽤して、許可するIPアドレスを追加します。

必要に応じて、以下のいずれかまたは両⽅を⾏います。

• IPv4 IPアドレスを指定します。次に例を⽰します。

xe vif-param-add uuid=<vif-uuid> ipv4-allowed=<comma separated list of ipv4-addresses>

• IPv6 IPアドレスを指定します。次に例を⽰します。

xe vif-param-add uuid=<vif-uuid> ipv6-allowed=<comma separated list of ipv6-addresses>

VIFで許可するIPアドレスの⼀覧から特定のIPアドレスを削除するには

許可するIPアドレスとして複数のアドレスが指定されている場合は、特定のIPアドレスを削除して、

そのアドレスのトラフィックをドロップできます。

vif-param-removeコマンドに以下のパラメータを使⽤して、削除するIPアドレスを指定しま

す。必要に応じて、以下のいずれかまたは両⽅を⾏います。

• IPv4 IPアドレスを削除します。次に例を⽰します。

xe vif-param-remove uuid=<vif-uuid> ipv4-allowed=<comma separated list of ipv4-addresses>

• IPv6 IPアドレスを削除します。次に例を⽰します。

xe vif-param-remove uuid=<vif-uuid> ipv6-allowed=<comma separated list of ipv6-addresses>

4.4.10.9.8. 仮想マシンが特定のネットワークでトラフィックを送信したり受信したりできな くする

ここでは、仮想マシンで特定のVIFを介した送受信を禁⽌します。VIFは特定のXenServerネット ワークに接続するため、この⼿順を使⽤して仮想マシンが特定のネットワークを介して通信できない ように設定できます。これにより、ネットワーク全体を無効にしなくても、トラフィックの送受信を 詳細に制御できるようになります。

CLIコマンドを使⽤する場合、VIFの接続を解除しなくてもそのVIFのロックモードを設定できます。

このコマンドでは、実⾏中のVIFのフィルタ規則を変更できます。ネットワーク接続は許可されてい るように表⽰されますが、仮想マシンから送信されるパケットはVIFですべてドロップされます。

In document Citrix XenServer 7.5 管理者ガイド 発 2018年5 1.0 エディション (Page 91-94)