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

C&S ENGINEER VOICE

Nutanix Flowによるマイクロセグメンテーションとは

ストレージ / HCI
2019.03.19

この投稿では、Nutanix AHVの環境にマイクロセグメンテーションをする、

Nutanix Flowを紹介します。

従来のファイアウォールは、外部環境からの脅威には効果的ですが、ひとたび侵入されると内部からの脅威への対策が難しいものでした。また仮想化基盤に特有である、仮想マシンが頻繁にホストを移行することへの対応も課題となります。Nutanix Flowは、こういった課題へのソリューションです。

なお、今回は入門的なご説明となるためわかりやすさを優先しており、厳密な機能解説とはなっておりません。

詳細な機能解説についてはNutanix社のドキュメント等をご確認ください。

Flowマイクロセグメンテーションにあたる「セキュリティポリシー」についての解説されているドキュメントには「Prism Central Guide」、もしくは「Security Guide」など(ただし英語のみ)があります。

Prism Central Guide
Policies Management → Security Policies

https://portal.nutanix.com/#/page/docs/details?targetId=Prism-Central-Guide-Prism-v510:mul-security-policy-management-pc-c.html

Security Guide

Security Policy Management

https://portal.nutanix.com/#/page/docs/details?targetId=Nutanix-Security-Guide-v510:sec-security-policy-management-c.html


Nutanix Flowによるマイクロセグメンテーション

Nutanix Flowは、NutanixのEnterprise Cloud OSに組み込まれた、Software-Defined Networking(SDN)ソリューションです。実際には、Prism CentralやAHVに機能が組み込まれています。また、段階的に機能拡張されている製品とのことで、2019年3月の時点においては、主にネットワークセキュリティのための下記の機能が提供されます。

  • アプリケーションの可視化
  • マイクロセグメンテーション
  • サービスチェーンとサードパーティソリューションによるネットワーク機能の提供

本投稿で紹介するものは、このうちのマイクロセグメンテーション機能です。この機能はPrism Centralから利用することができます。ただし、「Flow」といった名前の設定画面があるわけではなく、「セキュリティポリシー」という画面から設定することになります。

Flowはどのようなソリューションとなるのか

Flowによるマイクロセグメンテーションは、Application Centricでの通信制御ができることを特徴としています。ここでの「Application Centric」といった言葉は「アプリケーション視点の」という、従来の「ネットワーク視点のセキュリティポリシー」の課題に対するものであるという意味合いです。Flowがどのような課題へのソリューションとなりうるのかいくつか例をご紹介します。

例1: 仮想化基盤ならではの動的な構成変更に対応

仮想化基盤では、仮想マシンの増減が激しく、ライブマイグレーションやHA機能により物理的な配置も頻繁に変わる。つまり、ファイアウォールでの保護対象のネットワーク構成も頻繁に変わり、セキュリティ対応の追随が大変。

クラスター全体で「カテゴリ」をもとにした設定ができ、そしてvNIC単位で作用するファイアウォールとして機能します。そのため、仮想マシンが物理的に移動しても、仮想マシン同士のトラフィックを通信制御できるようになります。

例2: 複雑化したファイアウォールのルールをシンプルに

従来の、外部との境界に配置するファイアウォール(縦方向、North-South通信の制御)にあわせて、ウイルス/マルウエア対策の一環などで、データセンター内、仮想デスクトップ同士など(横方向、East-West通信の制御)の通信制御が求められている。

Flowではアプリケーション視点でのセキュリティポリシーを定義できるため、ファイアウォールルールをシンプルに、わかりやすく設計、精査できるようになります。

例3: ファイアウォール変更のハードル(技術的な難易度)を下げる

ネットワーク機器、ファイアウォール機器では、それぞれ操作方法(UIやコマンドなど)が異なる。通信制御のためのファイアウォールルールやACLのメンテナンスにはその機器に対するスキルをもつ担当者が必要。

PrismベースのシンプルなUIで、仮想マシンの管理ツールに近い操作感でファイアウォールルールを操作できるので、専任担当に頼ることなくルールをメンテナンスできるようになります。

上記の例にあるような、課題解決により「アプリケーション開発者でも(ネットワークセキュリティ専任の担当者でなくても)、Nutanix環境のファイアウォールルールをメンテナンスできる」といった世界観を目指したものがNutanix Flowのマイクロセグメンテーション機能です。とはいったものの、これでは漠然としているためイメージ図をもとにもうすこし踏み込んでご説明します。

Flowによるマクロセグメンテーションの設定イメージ

それでは、Flowのマイクロセグメンテーションとは、実際にはどのような機能なのかをご説明します。

Flowは、ユーザー仮想マシン(User VM)のvNIC(の接続されたポート)単位で作用するファイアウォールのような機能です。これは、Open vSwitchに設定されるOpenFlowルールで通信制御されます。しかし、管理者がFlowの設定をする際には、AHVやOpen vSwitchを直接操作するわけではありません。

このFlowによるファイアウォールルールの設定はPrism Centralで設定することで、下記のようにAHVの仮想スイッチに反映されます。そのため、Flowの利用にはPrism Centralが必要です。

  1. Prism Centralでカテゴリやセキュリティポリシーを設定
  2. 設定はCVMを経由してAHVへ
  3. AHVの仮想スイッチ(Open vSwitchブリッジ)にルールが反映される

通信を制御では、Prism Centralの機能である「カテゴリ」と「セキュリティポリシー」を利用します。

  • 「カテゴリ」とは、Key/Value形式の情報で、仮想マシンに付与することでグループ化することができます。これはタグのようなもので、仮想マシンに複数のカテゴリを付与することができます
  • 「セキュリティポリシー」で許可/拒否といった通信制御のルールを設定しますが、そこでは仮想マシンを個々に指定するわけではなく、「カテゴリ」を指定します(IPアドレスも指定できます)

つまり、Flowのセキュリティポリシーはカテゴリ(仮想マシンのグループ)に適用され、仮想マシン自体には適用されません。したがって、仮想マシンが追加されても、既存の仮想マシンと同じカテゴリを付与すれば、しかるべきファイアウォールが適用された状態になります。また、カテゴリのKeyとして、アプリケーションの種類を定義する「AppType」や、レイヤ(Web/App/DBといった)を定義する「AppTier」がビルトインで用意されていて、これらを利用して「アプリケーション視点」でのルール設定をすることができます。

ブログB2.jpg仮想マシンのカテゴリをもとにしたファイアウォールルールで、仮想スイッチのポート単位で作用するファイアウォールを利用することができる。それによりネットワーク構成に依存しない、アプリケーション視点でのマイクロセグメンテーションが実現されます。

Flowのセキュリティポリシーの種類

実際にはセキュリティポリシーは3種類用意されています。それぞれのポリシーの役割と、想定されているユースケースをご紹介します。

アプリケーションの保護(Application Security Policy)

このポリシーでは、アプリケーションと、その階層構造を意識した通信制御ができます。許可/拒否、送信元/送信先、トランスポート(TCP/UDP)、ポートといった情報と、アプリケーションの階層(Web/App/DBといった)をもとにルールを定義することができます。また、「階層内での相互通信を拒否する」こともできます。これにより、単一のネットワークセグメントに配置した仮想マシン同士の通信を遮断することができます。これは、VDIの仮想デスクトップからサーバへの通信は許可しつつ、仮想デスクトップ同士の通信は遮断したい場合などに利用できる機能です。

環境の分離(Isolation Policy)

指定したカテゴリ間のトラフィックを拒否するルールを設定できます。たとえば、本番環境と開発環境を分離する、テナントAとテナントBを分離する、といったルールを定義できます。

隔離(Quarantine)

このポリシーでは、設定した仮想マシンへのすべてのトラフィックを拒否します。たとえば、ウィルスに感染した特定の仮想マシンだけ隔離して、ウィルスのネットワーク感染を阻止するといった使い方が想定されます。ただし、Flow自体は隔離の有効化を自動化する機能はもたないため、自動化には別途サードパーティ製品などとの連携が必要となります。

Flowを利用するための準備

最後にFlowを利用開始する方法をご紹介します。Flowの機能は、もともとAHVに組み込まれているため、AHV自体にはFlowのインストール作業はありません。一方、Prism Centralではデフォルトでは無効化されています。

まず、この機能を利用するには、下記の要件があります。

(詳細な要件については冒頭でご紹介した製品ドキュメントをご確認ください。)

  • Nutanix AOS 5.6以降で利用可能となる機能であり、本投稿の執筆時点の長期間サポートバージョン(LTS)で利用する場合は、AOS 5.10 / Prism Central 5.10を利用することになります(AHVも対応したバージョンを利用することになります)
  • マイクロセグメンテーションの利用には、Flowライセンスが必要です。ただし、Flowライセンスをインストールしていない場合にも、60日の試用期間が設けられています

それでは、Prism Centralでマイクロセグメンテーションを有効にします。
今回は、すでにPrism Central 5.10.1.1をデプロイし、AHVのNutanixクラスターを登録してある状態です。またUIは日本語に設定してあります。

Prism CentralのWebコンソールにログオンし、画面右上の歯車のアイコン(もしくはPrism Central Settings)から、「設定」画面を開きます。

ブログB3.jpg

そして「Enable Flow」メニューにある「Enable Flow」のチェックボックスをオンにして、「有効」をクリックします。これだけでFlowが有効化されます。
※Flow有効化後は、「Enable Flow」が非表示になります。

ブログB4.jpgFlowによるマイクロセグメンテーションは、Prism Centralの「カテゴリ」と「セキュリティポリシー」メニューでの設定で利用します。NutanixクラスターごとのPrism Element(一般的に利用されている「Prism」)と統一感のあるUIになっています。

【Prism Centralの「カテゴリ」メニュー画面】

ブログB5.jpg 【Prism Centralの「セキュリティーポリシー」メニュー画面】

ブログB6.jpg【「セキュリティーポリシー」の編集画面】

ブログB7.jpgおわりに

マイクロセグメンテーションは、仮想化基盤のセキュリティ強化にはとても有益な機能です。

Nutanix Flowはまだ情報が多くないため、今後も実機での検証結果をふまえ情報発信をしていきたいと思います。

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

著者紹介

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

VMware vExpert