作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化暨分散式安全防護技術方案的介紹與推廣。

上篇網誌內我們談了vRealize Network Insight裡面怎麼做搜尋,可以看到哪些虛機與Host的資訊,好好用好厲害,但NSX在哪呢?如果只具備這些功能,那為什麼這個產品叫做”Network” Insight,而不是vSphere Insight或是Virtualization Insight呢?這篇網誌我們要談一個重要的使用情境:Network Insight如何搭配NSX提供微分段方案的規劃與安全防護政策設計。

我相信看本篇網誌的各位,應該有很多已經知道,甚至已經實際部署與應用NSX微分段的功能來提供vSphere資源池內的東西向防護。微分段功能受到我們客戶的廣大喜愛,也已經應用在許多台灣企業的VMware環境內。但是在真的要應用微分段到生產環境內時,我相信大家一定會問自己一個問題:我怎麼知道現在生產環境內的應用網路流有哪些?我們如何能在設定微分段安全規則時,不會去阻擋到正確的網路流呢?

如果是商用軟體或許簡單一些,手冊內可能會有完整的防火牆需求列表。而如果是自己開發的軟體呢?用戶可能會直接發現,包含開發Team都不清楚各構件內到底用哪些網路埠連通的,更何況可能有許多舊應用,現在連開發Team在哪邊都不知道了。這樣沒人敢做東西向防護了,因為一不小心就會把不該擋的正常業務流給擋掉。那慘了,除了全新建立的資料中心,全部重新開發設計的應用系統,誰敢在現有的生產環境內隨意部署NSX來進行微分段功能?

這就是Network Insight進場的重要時間點。Network Insight能夠

  • 啟動vSphere Distributed Switch上的IPFIX / Netflow功能,並將整個vSphere環境內的虛機網路流資訊都收集到Network Insight內,進行集中的統計與分析
  • 不僅僅顯示IP / 網段間的統計資訊,還可以依據用戶實際的業務系統 / 安全防護群組,進行群組間的網路流分析
  • 用戶不需要啟用實體網路設備上的任何特殊功能,只要用戶有Network Insight,vSphere 6以上的資源池並且使用vDS(只要有購買NSX或是採用vSphere Enterprise License都會具備)就能支援上述功能

這個功能在Network Insight內叫作Plan Security。我們把Network Insight安裝完,與vCenter介接,並且設定在vDS上啟用flow收集功能後,Network Insight就會持續地在背景一直收集整個vSphere資源池內的網路流資訊。管理者隨時可以點擊Plan Security功能,並且選擇要看多久時間 (1-day / 3-day … 1-month) 的網路流統計。接著,像是下圖的統計圖就會出現了

網路管理者可能會覺得這和一般的Flow Collector工具有何不同?首先

  • 管理員不用到每台交換器、每個VLAN上去把Netflow功能打開。實際上,底層網路設備無需任何更動
  • 真正的強項,是這邊的統計方式能夠依據實際的業務規劃,而非一定是IP或網段。在上圖,大家可以看到有各種不同的分類方式,在目前的Network Insight版本,總共的統計分類方式包含了

    • by VLAN / VXLAN / Subnet:依據vDS上的Port Group或是NSX內的邏輯交換器來進行分類,或是直接用不同的網段來分組。這邊就是網路的功能
    • by Application / Tier:用戶可以自訂所要的應用程式群組,以及內部的不同分層(像是Web / AP / DB),再用這來分組
    • by Folder:依據大家在vCenter內怎麼把你的虛機分類到不同Folder來進行統計
    • by Cluster / VM:依據來源在哪個Cluster或是哪個VM來進行統計
    • by Port:依據網路流的不同目的Port (不同服務)
    • by Security Group / Security Tag:在已經安裝了NSX的狀況下,用戶可以先將安全群組或安全標籤設定起來,但不啟用防火牆防護。此時,Network Insight同樣可以依據目前各虛機所隸屬的安全群組 / 安全標籤來進行網路流統計

我們用一個實際的例子讓大家感受一下Network Insight的Plan Security要怎麼用。假設你的環境內有兩個業務系統:HR-System及Fin-System,各自都有Web / AP / DB的機器。我們利用手動建立Network Insight內的Application / Tier(當然也可以用NSX的安全群組 / Security Tag來做)來建立出下列分類:兩個Application,以及各自有三個Tier (Web / AP / DB)

接著就在Network Insight內選擇要進行Plan Security,並直接選擇要看一整個月的網路流,這樣夠久了吧~然後在統計連線圖內,我們就可以選擇要依據哪種分類來看網路流分析。右上角的分類內,選擇採用By Tier的方式進行。在下圖內,我們可以看到所有我們在前面有手動列出的Tiers都有顯示於連線圓餅圖內,除了我們自訂的Tiers外,Others代表沒有被列入Tiers的虛機,其他的分類還有包含來自Internet的IP,或是來自實體設備的網路位址等等。

作為舉例,將游標移到HR-AP-Tier上,我們會看到針對這個Tier分類的所有網路流如下,為了說明起見,我把相關的四個網路流用標號1~4列出

首先是1號黃色的網路流,將游標移到此線上並點擊,我們就會看到對應的相關資訊:

可以看到這個網路流在統計期間內共有兩組,都是流往HR-AP-01的8443 Port。如果我們再點擊上面的Count of Flow下的2,網路流的細部資訊會顯示如下:

總共有兩組網路流分別由HR-Web-01及HR-Web-02流往HR-AP-01的8443 Port。同時包含細部的flow資訊、流量統計等也都提供。

同時大家應該也有注意到在上上圖內的上方有”Recommended Firewall Rules”,這邊就是Network Insight根據實際的網路流統計,提出NSX微分段安全政策的設定建議。因此針對這個網路流,當我們選擇Recommended Firewall Rules時,就會顯示如下:

可看出建議我們設定兩個安全群組:由來源SG-HR-Web-Tier到SG-HR-AP-Tier,並且設定允許TCP的8443 Port服務。這邊就是這個應用由Web到AP之間的Traffic。

同樣地,我們可以看到連線圖內的2號線,點擊下去可以看到HR-AP-Tier與HR-DB-Tier間的連線是Application Server會透過TCP port 3306 (MySQL)去連結到資料庫伺服器。依據這邊的資料,Network Insight也推薦了對應的防火牆規則:由來源SG-HR-AP-Tier到SG-HR-DB-Tier,允許TCP的3306 Port服務。

利用這樣的圖表,不僅是能看到合法的連線,我們同時也可以看是否有奇怪的、值得懷疑需要確認的連線,或甚至是在已經設定了NSX防火牆後,利用此圖表確認網路行為是否符合預期。比如說在上面連線圖內的第3條連線,乍看之下就很奇怪,為什麼Finance系統內的Web機器會連往HR系統內的AP機器呢?點擊一下看到

有奇怪的SSH連線,這就值得調查是合法的行為,還是已經有駭客在內部進行探索了呢。同樣的,連線圖內的第4條連線是由HR-AP-Tier連往其他的機器,把這條連線點擊開可以看到是連往DNS的連線。這看起來應該就還算合理。

在上面的演示內可以看到Network Insight是一個搭配NSX微分段功能非常有威力的工具,我們不再對底層應用到底有哪些連線全然無知,任意的虛擬環境內網路流都能夠被監控與檢討,也能夠成為NSX微分段安全政策設定的依據。下面這張圖內我們列出Network Insight在NSX方案建置前、部署時、以及Day 2維運時能夠發揮的功效,希望讓大家感受到Network Insight確實是在導入NSX時,應該同時考量部署的一個重要維運工具。

下篇網誌會是本系列介紹vRealize Network Insight的最後一篇,我們要來討論另一個功能:利用Network Insight如何建立虛機間的可視化連線關係圖。