Nutanix 虛擬化 微分段 零信任 PrismCentral

三類原則強化流量隔離 應用分層落實最小權限

原生FNS建立微分段防線 Nutanix虛擬化更安全

2026-09-07
本文將深入剖析並進行實戰演練,讓管理人員理解FNS安全原則的運作架構和原理,並進一步透過FNS的Application Policy安全原則,輕鬆針對關鍵應用程式建立最小安全性權限的安全防禦圈,有效遏止勒索病毒與駭客在東西向網路中的攻擊行為。

在傳統的資料中心裡,不少企業和組織習慣依靠外圍的邊界防火牆來阻擋外部威脅。然而,隨著雲原生應用與混合雲架構的普及,資料中心內部的各類伺服器與VM虛擬主機之間的互動變得極其頻繁,一旦某一台VM虛擬主機遭到惡意攻擊並入侵成功後,傳統的外圍防火牆根本無法察覺,惡意攻擊已經在內部伺服器之間相互擴散。

因此,為了落實零信任架構(Zero Trust Architecture)與最小權限原則,並將資安威脅的影響範圍降到最低,導入「微分段」(Microsegmentation)機制,已經成為現代化資料中心標準中不可缺少的一環。

傳統網路環境管理是以VLAN或Subnet為單位進行分段管理,而微分段則利用SDN網路虛擬化技術,將網路流量的安全隔離精細化到「個別工作負載」或「單台VM虛擬主機」,在資料中心內部為每個對象建立專屬的安全邊界,確保即便某個節點被攻陷,企業組織的整體關鍵資產和機敏資料依然受到保護。

在Nutanix虛擬化基礎架構中,便是透過Flow Network Security(FNS)機制,達成微分段及過濾東西向網路流量的目的。傳統網路環境最讓IT維運團隊頭痛的,就是如何有效管理多層次應用服務。舉例來說,一組具備不同類型包含Web、App、DB的營運服務,為了每項服務的高可用性和網段規劃,必須橫跨不同的VLAN和實體網路環境,導致傳統南北向的防火牆規則變得無比臃腫且難以維護,一旦某個網段因為專案內容而進行變更後,所有的ACL存取控制清單都要重新進行組態設定。

Nutanix FNS安全機制則是將安全原則直接與VM虛擬主機的中繼資料(Metadata)與標籤(Categories)綁定,企業組織的維運團隊只需要在Prism管理介面上,直接依據應用服務的邏輯角色,例如加上AppType: Web、AppType: DB等標籤,就能夠直接定義VM虛擬主機之間的存取權限,如圖1所示。

圖1  Nutanix Flow Network Security安全機制運作示意圖。 (圖片來源:Flow Network Security - Microsegmentation & Data Protection | Nutanix)

Flow Network Security運作架構說明

在開始應用Nutanix FNS安全機制之前,必須先瞭解FNS的環境需求與核心元件,因為FNS並非獨立運作的防火牆設備,而是與整個Nutanix基礎架構整合的資安機制。

首先,在運作環境方面,FNS的核心管理大腦為Prism Central(PC),所有的資安政策制定、標籤分類、流量視覺化監控以及維運管理,都必須透過Prism Central進行統一的管理與組態設定。當維運團隊部署完安全原則後,這些安全原則會自動套用至其下Prism Element(PE)管理的AHV叢集,確保安全原則管理集中化。

在實際組態設定FNS微分段安全防護機制前,維運團隊需要了解FNS如何透過下列兩個核心元件,達成微分段安全機制:

‧標籤(Categories):這是FNS識別工作負載的唯一方式,維運團隊無須手動輸入VM虛擬主機的IP位址或主機名稱,而是透過中繼資料為VM虛擬主機貼上邏輯標籤,例如定義服務應用的類型AppType: Billing,或是應用程式的層級AppTier: Web、AppTier: Database等。

‧安全原則(Security Policies):定義完服務的標籤後,維運團隊便能接著建立安全原則,例如常見的Application Policy,用來定義特定標籤之間的存取權限與阻斷邏輯。

如圖2所示,在這個Nutanix FNS安全原則示意圖中,清楚展示一個標準應用程式安全原則的邏輯設計,圖中灰色虛線方框代表套用生效的FNS安全規則,透過這種視覺化呈現的安全規則示意圖,企業組織便能輕鬆理解安全規則,除非安全原則明確允許,否則預設全面阻擋的零信任微分段原則。示意圖中的FNS安全原則,主要由三個區塊所組成:

圖2  Nutanix FNS安全機制運作示意圖。 (圖片來源:Flow Network Security | The Nutanix Cloud Bible)

1. 受保護主體(Secured Entities):在Application Policy方框內,定義被保護的應用類型為AppType: Billing,並且進一步細分為AppTier: Web網頁伺服器層級和AppTier: Database後端資料庫層級。

2. 來源端規則(Inbound):在圖中左側,管理人員可以精確指定「只有」哪些來源可以存取受保護的AppTier: Web網頁伺服器層級,例如允許來源端是網際網路(0.0.0.0/0),透過TCP協定的Port 443進行連線,或是允許企業內部(Location: HQ)網段,透過TCP協定的Port 22、80、443進行維運管理。

3. 目的端規則(Outbound):在圖中右側,可以定義受保護的主機可以主動向外連線至何處。在該範例中,歸類於AppTier: Web網頁伺服器層級的主機允許向外連線至任意目的地(0.0.0.0/0)。

認識FNS安全原則狀態

當管理人員組態設定標籤與安全原則後,準備在Prism Central執行部署作業時,可能會面臨安全原則狀態(Policy State)的選擇兩難,是要直接套用生效進行阻擋,還是先放行避免錯誤阻擋造成營運損失。

因此,Nutanix FNS提供兩種運作模式,讓企業和組織在導入零信任架構時能有彈性的緩衝空間:

‧監控模式(Monitor):在監控模式下,安全原則處於「唯讀模擬」狀態,FNS僅會針對網路流量進行觀察與記錄,即便發現未在允許清單中的連線行為,系統依然會予以放行,以便管理人員在不影響線上營運服務的前提下,進行網路流量收集與安全原則微調。

‧強制模式(Enforce):一旦安全原則套用於強制模式時,系統便會嚴格執行已套用的安全原則,任何未被明確允許的網路連線都視為異常連線,FNS將會直接阻擋該網路連線。

簡單來說,一旦套用安全原則至強制模式後,網路封包的攔截與過濾機制,會在底層AHV主機的Open vSwitch(OVS)虛擬交換機核心中完成。當網路封包由VM虛擬主機流出或流入時,會依序通過AHV主機內部的OVS虛擬交換機,其中位於核心關鍵節點的,便是專屬安全檢查層br.microseg,如圖3所示,一旦網路封包進入br.microseg時,系統便會透過OpenFlow規則,進行一連串的安全原則比對,由Rule 1一路比對至Rule N,並且在單一原則中執行的比對與邏輯如下:

圖3  FNS安全原則比對邏輯示意圖。 (圖片來源:Flow Network Security | The Nutanix Cloud Bible)

‧狀態檢查比對(Stateful Match):系統會動態檢查封包是否符合已建立的連線狀態,並且比對安全原則。

‧首條匹配即停止(First-Match):封包會由Rule 1第一條規則開始比對,一旦成功匹配規則後,便會直接執行該規則所定義的動作,例如Deny阻擋或Allow放行,然後不再繼續往下比對,如果不匹配,則移往向下一條規則繼續進行比對作業。

實戰Flow Network Security

在正式透過Prism Central(PC)組態設定各項安全原則之前,必須先確認AHV叢集中的Flow Network Security(FNS)微分段服務已經順利啟用。

FNS的控制層內建於PC之中,負責集中管理分散式防火牆規則的指派以及IPAM機制。在啟用過程中,系統會自動檢查每個AHV叢集的硬體資源,例如記憶體剩餘容量是否符合運作FNS機制的前置條件。

登入PC管理介面後,依序點選「Prism Central Settings > Flow > Microsegmentation」,確認Microsegmentation狀態是否已經啟用,以及叢集相容性區塊中是否顯示目前運作的AHV叢集,如圖4所示,確認微分段功能順利啟用後,接著就能開始為VM虛擬主機打上標籤(Categories),作為後續建立安全原則的基礎。

圖4  確認Microsegmentation功能是否啟用。

為VM虛擬主機指派標籤

在FNS安全機制環境中,標籤(Categories)是PC管理機制的核心元件之一,也是FNS安全機制建立安全原則時用來選取與套用對象的唯一依據。

在FNS安全機制中,可以為同一台VM虛擬主機同時套用多個標籤,在本文實作環境中,將會為2台不同的VM虛擬主機,分別套用名稱為Dev和Production的標籤,搭配後續套用的安全原則進行實作。

在PC管理介面中,可以透過下列三種方式為VM虛擬主機指派標籤:

1. 右鍵選單:在VM虛擬主機列表中,針對目標主機點擊滑鼠右鍵,選擇「Other Actions > Manage Categories」。

2. 頂部動作選單:點選目標VM虛擬主機的勾選框後,點擊上方選單的「Actions > Other Actions > Manage Categories」,即可為VM虛擬主機指派標籤,如圖5所示。

圖5  為指定的VM虛擬主機指派標籤。

3. 主機詳細頁面:點擊VM虛擬主機名稱進入詳細頁面,切換至Categories分頁並點擊Manage Categories。

理解之後,將為名稱為Client1的VM虛擬主機,指派套用Environment: Dev的標籤,而名稱為Client2的VM虛擬主機,指派套用Environment: Production標籤。

在PC管理介面中,依序點選「Infrastructure > Compute > VMs」,進入VM虛擬主機管理列表,勾選名稱為Client1的VM虛擬主機,再點擊上方選單「Actions > Other Actions > Manage Categories」項目。接著,在自動開啟的Manage VM Categories視窗中,於搜尋框輸入「envir」關鍵字,系統便會過濾並自動顯示標籤名稱為Environment的標籤。本文實作環境為Client1虛擬主機,點選加號套用「Environment: Dev」標籤,確認無誤後按下〔Save〕儲存組態設定,如圖6所示。

圖6  為Client1虛擬主機指定套用Environment: Dev標籤。

與Client1同樣的操作步驟,再為Client2虛擬主機,點選加號套用「Environment: Production」標籤,確認無誤後按下〔Save〕儲存組態設定。

為VM套用Quarantine安全原則

在開始組態設定安全原則之前,管理人員必須先了解FNS安全防護架構,對於日常維運的工作任務,將透過下列的三種安全原則類型,管理資料中心內部的南北向與東西向的網路流量:

‧Quarantine Policy(隔離原則):防護層級最高的安全機制,當VM虛擬主機疑似遭到惡意入侵、感染病毒或發生資安事件時,可立即切斷指定主機的所有進出網路流量,達到即時隔離和避免危害擴散的目的。

‧Isolation Policy(環境隔離原則):用於建立運作環境之間的隔離邊界,能夠有效阻擋兩個或多個主機群之間所有的網路流量,經常用於隔離Dev開發環境與Prod正式生產環境之間的東西向網路通訊。

‧Application Policy(應用程式原則):提供更精細的應用程式層級防護原則,管理人員可以針對特定應用程式群組,例如前端Web服務層與後端DB資料庫層,明確定義允許進行網路通訊的來源端和目的端,包括通訊協定TCP/UDP、IP位址和專屬服務埠號,例如TCP Port 80。

當發現資料中心內有VM虛擬主機疑似受感染或發生資安威脅時,管理人員可以在發現當下執行「隔離」(Quarantine)的動作,將該台主機從網路環境中完全隔離。在本文實作環境中,將以Client1虛擬主機來擔任資安事件的受害主機進行模擬測試。

在PC管理介面中,依序點選「Infrastructure > Network & Security > Security Policies」,進入安全原則管理列表後,可以看到PC預設內建的兩項安全隔離原則的管理列表,如圖7所示:

圖7  查看PC內建的兩項預設安全隔離原則列表。

‧Quarantine Strict Policy:徹底隔離所有進出該台特定主機的網路流量。

‧Quarantine Forensic Policy:阻斷一般連線,但是允許預先定義的資安鑑識工具進行存取,以便後續進行資安事件根本原因調查作業。

現在,準備針對Client1虛擬主機執行隔離套用及連線阻斷的驗證測試。在PC管理介面中,依序點選「Infrastructure > Compute > VMs」,在虛擬主機清單中找到Client1後,點擊滑鼠右鍵並選擇Quarantine VMs項目。

在彈出的Quarantine VM視窗中,將會請管理人員選擇採用Strict或Forensic模式。在本文實作環境中,選擇Strict模式,然後按下〔Quarantine〕鈕套用生效。此時,在VM虛擬主機清單中,可以看到Client1虛擬主機名稱旁邊,將會出現紅色隔離圖示,如圖8所示。

圖8  為Client1虛擬主機套用Strict徹底隔離模式。

點選Client1虛擬主機,在右鍵選單中選擇Launch Console,然後在Client1主機的Terminal視窗中執行「ping client2」指令,可以看到由於Client1虛擬主機已經被徹底隔離,所以網路封包無法到達Client2主機,如圖9所示,證明東西向網路流量已經被徹底隔離,Client1虛擬主機所有對外的網路連線都被封鎖。

圖9  驗證Client1虛擬主機所有對外的網路連線都被封鎖。

在確認資安危機解除或資安威脅清除完成後,管理人員即可將主機進行解除隔離的動作。

接下來,在PC管理介面之內,於VM虛擬主機清單中,點選Client1右鍵選單中的Unquarantine VMs項目。隨後,將會彈出Unquarantine 1 VM視窗,系統再次提醒勾選的VM虛擬主機將會被解除強制隔離狀態,確認無誤後按下〔Unquarantine〕鈕套用生效。

切換至Client1主機的Console畫面後,原本無法ping client2的指令,會立即恢復並收到ICMP回應訊息,表示東西向網路的強制隔離已經解除,並且VM虛擬主機清單中,Client1虛擬主機旁的紅色隔離圖示也會同步消失,表示Client1主機的對外所有連線已經恢復正常運作(圖10)。

圖10  Client1虛擬主機強制隔離模式順利解除。

為VM套用Isolation安全原則

在企業組織的維運架構中,為了防止未授權的橫向移動或資安風險交叉感染,明確劃分開發環境(Dev)與正式生產環境(Prod)是必要的防護措施。在FNS安全機制中的環境隔離原則(Isolation Policy),便能協助管理人員快速在不同環境群組之間,部署安全又具備彈性的隔離邊界。

在本文實作環境中,將會模擬建立一條隔離Dev與Prod環境的安全原則,並且透過監控模式(Monitor)與強制生效模式(Enforce)的功能性切換,觀察網路流量與隔離阻斷驗證。

首先,在PC管理介面中,依序點選「Infrastructure > Network & Security > Security Policies」,點擊左上角的〔+ Create Security Policy〕按鈕,在Policy Name欄位輸入名稱為「isolateProdDev」,然後在下方區塊選擇採用Isolate Environments(Isolation Policy)隔離類型,並按下〔Next〕鈕,準備選擇套用的隔離標籤。

在Configure Entities頁面中,在第一組Entity欄位輸入並選擇Environment:Production標籤,在第二組Entity欄位選擇Environment:Dev標籤,確認無誤後按下〔Next〕鈕。在Review頁面中,選擇Apply (Monitor)模式後按下〔Confirm〕鈕套用生效,如圖11所示。在目前的Monitor模式中,系統僅會被動記錄與監控環境之間的網路流量,並不會針對任何網路封包進行阻斷或隔離的動作,非常適合用於正式環境上線前的網路流量通訊風險評估。

圖11  監控Prod和Dev運作環境的網路流量。

進入剛建立好的isolateProdDev安全原則頁面,此時上方狀態顯示為Status: Monitoring,點選Client1的Launch Console開啟Terminal,執行ping client2指令可以成功收到ICMP回應訊息,同時切換至背景的PC拓撲圖觀察。在Environment:Production與Environment:Dev的運作環境之間,系統會自動繪製出一條黃色虛線(Discovered Traffic),代表FNS安全機制已經成功偵測到這兩個環境之間,正在發生的網路通訊流量,如圖12所示。

圖12  Monitor監控模式下,ping指令通訊正常且拓撲圖即時繪製出黃色流量偵測線。

確定運作環境符合隔離預期之後,即可將安全原則由監控模式正式切換為「強制執行」(Enforce)模式。在isolateProdDev原則頁面上方點擊Apply選單後,選擇Apply(Enforce)項目,系統會彈出確認視窗,要求管理人員在文字框中輸入ENFORCE字串,然後按下〔Confirm〕鈕進行再次驗證,確保隔離原則不會錯誤套用。

現在,左上角的原則狀態將轉換為Status: Enforced,原本連結兩邊運作環境的黃色虛線,將會同步轉換為紅色阻斷虛線(Blocked Traffic)。切換回Client1的Terminal視窗,原先運作正常的ping client2指令會瞬間中斷,然後顯示Destination Host Unreachable訊息,如圖13所示,表示隔離原則一旦切換至Enforce模式之後,Prod正式營運環境與Dev開發環境之間的東西向網路通訊,正式被FNS安全機制完全阻斷並且隔離。

圖13  Enforce模式正式套用生效,拓撲圖轉為紅色阻斷線且網路連線被徹底阻斷。

為VM套用Application安全原則

事實上,FNS安全架構最核心防線為應用程式原則(Application Policy)。FNS安全機制能夠針對多層級應用程式,例如Web網頁伺服器與資料庫伺服器,定義更精細的安全隔離原則,僅放行必要的通訊埠與通訊協定,貫徹「預設拒絕」(Default Deny)的零信任原則。在本文實作環境中,將為TaskMan應用程式建立專屬的安全原則AppTaskMan,首先定義Web層與DB層的進站流量規則,並驗證Monitor與Enforce模式下的存取控制效果。

在PC管理介面中,依序點選「Infrastructure > Network & Security > Security Policies」,點擊+ Create Security Policy,接著在Policy Name欄位輸入AppTaskMan,並選擇Secure Entities(Application Policy)類型後按下〔Next〕鈕。

在Secure Application頁面中,點擊+ Add Security Entity,搜尋並選擇AppTier:DB後點擊Add,再次點擊+ Add Security Entity,搜尋並選取AppTier:Web後點擊Add,然後在左側Inbounds區塊點擊+ Add Source,輸入並選擇Environment:Production以及點擊Add。再點擊AppTier:Web旁邊的+號,選擇Select a Service並新增Protocol/Service為TCP Port 80,點擊Save完成新增Web層規則。接著,點擊AppTier:DB旁邊的+號,設定選取Allow all traffic,以便允許Web層對DB層的所有通訊,點擊Save完成新增DB層規則。

最後,在Review頁面,選擇Apply (Monitor)模式後點擊Confirm,啟用監控模式,如圖14所示。

圖14  設定進站流量來源與TCP Port 80特定通訊埠許可規則。

現在,進入AppTaskMan安全原則頁面,左上角狀態顯示為Status: Monitoring,開啟Client1的主機控制台,啟動Firefox瀏覽器並連結http://TaskWeb網址,可以發現Client1能夠成功開啟Task Manager應用程式網頁,代表營運服務運作不受影響,同樣的背景拓撲圖呈現Discovered流量,並以黃色虛線繪製出從Client1到AppTier:Web及AppTier:DB的實際通訊路徑,如圖15所示。

圖15  Monitor模式下應用程式正常運作,拓撲圖即時回報流量狀態。

同樣地,確認正常流量已經涵蓋需要的許可規則之後,管理人員便能放心將安全原則,切換為Enforce強制模式,以落實企業或組織的安全原則隔離管控。在AppTaskMan原則頁面上方點擊Apply選單,選擇Apply(Enforce)項目,並於彈出視窗輸入ENFORCE後按下〔Confirm〕鈕套用生效。

這時候,左上角的安全原則狀態將會轉換為「Status: Enforced」,左側未符合專屬放行規則的來源,舉例來說,若是非Production環境或未授權的網路連線,全部都會被系統列入需要Blocked的狀態,而連線顯示為紅色阻斷虛線。切換至Client1的控制台重新整理頁面,未獲得授權的存取行為或非允許的Port連線作業,將會立即被切斷無法順利載入網頁,如圖16所示。

圖16  Enforce模式下非許可連線會立即遭到隔離阻斷,達成零信任隔離防護。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!