防火牆技術

NSX 分布式防火牆(DFW)最佳實踐與資安防護全貌

從 5 大 Category 到 ATP——給新手工程師的完整導覽

2026-06-11 · 12 min read
NSX DFW VMware 微分段 資安防護

VMware NSX 的「分布式防火牆 (Distributed Firewall, DFW)」是微分段 (Micro-segmentation) 的核心元件。本篇給剛接觸 NSX DFW 的工程師:從 NSX Manager 畫面上看到的分頁開始,逐步拆解 5 大 Category 的設計邏輯、初次建置的標準作業順序、Zone/Tag/Group 的關係、Emergency 應變流程,以及 DFW 之外還有哪些資安防護模組(IDS/IPS、防毒沙箱、URL Filter),各自需要什麼授權與架構元件。

一、從畫面看起:「所有規則」vs「類別特定的規則」

打開 NSX Manager → Security → Distributed Firewall,會看到兩個頁籤:

NSX DFW Category Specific Rules 畫面,顯示 Ethernet/Emergency/Infrastructure/Environment/Application 五個分頁
「Category Specific Rules」畫面,最上方是 5 個 Category 分頁——ETHERNET / EMERGENCY / INFRASTRUCTURE / ENVIRONMENT / APPLICATION。畫面範例中 Application Category 裡有一個「3 tier app」Policy,包含 Web→App→DB 的三條規則。
頁籤涵蓋範圍用途
所有規則 (All Rules)把 5 個 Category 攤平成一張表,依實際比對順序排列故障排除:「這個封包到底先撞到哪一條規則?」
類別特定的規則 (Category Specific Rules)一次只看單一 Category日常維運:按權責分工編輯規則,不誤觸其他 Category

二、5 大 Category 與處理順序(最重要的核心觀念)

DFW 規則永遠按照固定順序處理,不可調整

DFW Category 處理順序 概念圖
Ethernet → Emergency → Infrastructure → Environment → Application
   L2層      緊急隔離      基礎設施依賴     區域/Zone之間    應用程式微分段
⚠️ 比對機制:第一個 Match 就停止

Category 之間「由左到右」評估,每個 Category 內部規則「由上到下」評估。第一個 Match 的規則就停止比對——所以 Emergency 的 Drop 一定會蓋過後面 Application 的 Allow,不管 Application 規則寫得多寬鬆。

Category內容範例
EthernetL2 層,依 EtherType 過濾多數環境此區為空,較少使用
Emergency緊急隔離/圍堵,最高優先Any → 受感染VM, Drop
Infrastructure環境共用的基礎服務所有 VM → AD/DNS/NTP/Backup,Allow
EnvironmentZone/區域之間的關係DEV Zone → PROD Zone, Drop
Application應用程式微分段Web-Tier → App-Tier, TCP 8443, Allow

DFW 運作在每台 ESXi 的 vNIC 層級,專門處理 East-West(VM 之間) 流量:

East-West 流量在傳統架構與 NSX 架構下的路徑對比
傳統架構下 East-West 流量需要繞經實體 Top-of-Rack 交換器(多個 wire hop);導入 NSX 後,同主機上 VM 之間的流量在 NSX vSwitch 內部就完成轉發與防火牆檢查,0 個實體 wire hop。這也是為什麼 DFW 能做到「每台 VM 自帶防火牆」且不影響網路效能。

三、初次建置 DFW 的標準作業順序(SOP)

💡 給新手的一句話總結

「先觀察、後收斂;先排除、再鎖門」——這兩句話涵蓋了官方最佳實踐裡最容易出錯的兩個步驟。

Step 1:vCenter / 管理元件先排除(Exclusion List)

在做任何規則收斂之前,先確認以下物件已在 DFW Exclusion List 裡:

自動排除(不用管)需手動加入
NSX Manager / Controller / Edge VMvCenter Server(最關鍵)
vCenter 的 SQL/Web Server(若分離部署)
需要 Promiscuous Mode 的 VM(IDS/IPS、流量監控工具)
虛擬 Load Balancer / 其他 VNF
🚨 順序錯了會死鎖

一定要先把 vCenter 加入 Exclusion List,再去改 Default Rule。如果順序反了,Default Rule 一改成 Drop,vCenter 自己可能瞬間連不上,而你又需要 vCenter 介面去修正設定——形成死鎖。

來源:Manage a Firewall Exclusion List - Broadcom TechDocs

Step 2:Infrastructure Category — 先讓環境「能跑」

建立「全環境共用」的規則,Source 通常是 All-VMs(一個涵蓋所有 VM 的動態 Group):

SourceDestinationServiceAction
All-VMsAD/DCTCP/UDP 88,389,445,464Allow
All-VMsDNSTCP/UDP 53Allow
All-VMsNTPUDP 123Allow
💡 順序建議

很多團隊會先衝去寫 Application 規則(業務需求最明確),結果上線後所有 VM 連不到 AD/DNS。建議先把 Infrastructure 規則建好,確保環境基本運作,再逐步收斂 Application 層。

Step 3:Environment Category — 畫出 Zone 邊界

依 PROD/Non-PROD、DMZ/Internal/Restricted 等 Zone 維度,先建立「兩個 Zone 之間預設 Deny」的粗粒度規則:

SourceDestinationAction
SG-ENV-NONPRODSG-ENV-PRODDrop
SG-ZONE-DMZSG-ZONE-RESTRICTED-DBDrop

Step 4:Application Category — 用「Allow + Log」觀察

對每個應用系統,先寫 Allow 規則並開啟 Log,觀察一段時間:

Application Category 範例 規則
Web-Tier → App-Tier, TCP 8443, Allow, Log ✅
App-Tier → DB-Tier, TCP 1433, Allow, Log ✅

Step 5:收斂 Default Rule 為 Drop

確認所有合法流量都已被 Allow 規則涵蓋後,把最底層 Default Rule 從 Allow 改成 Drop,並開啟 Log 持續監控是否有合法流量被誤擋。

ℹ️ 官方原文重點

「先建好所有必要的 Allow 規則,最後才把 Default Rule 改成 Drop」——這是 DFW 上線最容易被忽略、卻最關鍵的收尾步驟。如果忘記這一步,DFW 等於形同虛設(因為最底層永遠 Allow All)。

來源:Distributed Firewall - Broadcom TechDocs

四、Zone、Tag、Group 三者的關係(新手最常搞混)

Zone / Group / Tag 關係 概念圖
Zone(邏輯概念,安全分類,例如「PROD」「DMZ」)
   ↓ 透過
NSX Group(規則實際引用的物件)
   ↓ 成員定義方式(可混用)
   ├─ Tag(最常用,動態打標籤,如 env:prod)
   ├─ VM 名稱規則
   ├─ Segment / 網段
   └─ IP Range
  • Tag = 貼在 VM 上的「屬性標籤」(單一維度)
  • Group = DFW 規則實際引用的「物件」,成員條件可以用 Tag 動態抓取
  • Zone = 人類理解架構用的「邏輯分類」,最終會落地成一個或多個 Group

常見 Zone 劃分維度(可疊加使用):

維度範例
環境生命週期PROD / Dev / Test / UAT
信任等級DMZ / Internal / Restricted / Management
業務單位Finance / HR / R&D
應用分層(落在 Application Category)Web / App / DB Tier
💡 Tag 命名建議

用「維度前綴」分開不同 Tag,例如 env:prodzone:restrictedbu:finance——一台 VM 可以同時擁有多個維度的 Tag,組成 Group 時用 AND 條件交叉,避免 Tag 數量隨 N×M 爆炸成長。

五、Emergency Category:怎麼用、隔離後怎麼辦

5.1 典型用法:平時空白,事件時精準打擊

Emergency Category 生命週期 流程
平時:Emergency Category = (空白)
       ↓ VM-Web03 疑似中毒
事件中:
   Rule 1: Any → VM-Web03, Drop, Log✅
   Rule 2: VM-Web03 → Any, Drop, Log✅
       ↓ 事件處理完畢
事後:移除規則,恢復空白
⚠️ 常見誤解

Emergency 不是「整個環境全擋只留管理流量」的全域設計——那是 Default Rule 收斂(長期)的範疇。Emergency 是臨時、針對特定 VM 的應變機制,兩者目的不同不要混用。

5.2 VM 被全面隔離後,要怎麼進去處理?

方法 A:VM Console(推薦,完全繞過 DFW)

DFW 作用在 vNIC 層級,而 VM Console 透過 Hypervisor 直接存取,不經過 vNIC,不受任何 DFW 規則影響:

VM Console 路徑 概念
VM Console:VM ←→ Hypervisor(不經過 vNIC,DFW 管不到)

透過 vCenter → 該 VM → 啟動主控台,即使 Emergency 規則寫了「全擋」,依然可以登入處理(前提:VM 已安裝 VMware Tools)。

方法 B:白名單鑑識通道

若需要遠端 SSH/RDP/EDR 工具持續作業,把 Allow 規則放在 Drop 之前

順序SourceDestinationServiceAction
1SG-FORENSICS-JUMPVM-Web03SSH/EDR PortAllow
2VM-Web03SG-FORENSICS-JUMPEDR PortAllow
3AnyVM-Web03AnyDrop
4VM-Web03AnyAnyDrop
💡 兩者搭配

平時用方法 B 讓 EDR 持續蒐證;真的要動手清除惡意檔案/重灌時改用方法 A(Console),避免清除過程中惡意程式利用「鑑識通道」反向逃逸。

六、DFW Log 在哪裡看

位置說明
本機:/var/log/dfwpktlogs.logSSH 到該 VM 所在的 ESXi Host 查看
集中化:Syslog Exporter送到 vRealize Log Insight (vRLI) / vRNI / 第三方 SIEM
🚨 必須先做的事

Log 預設關閉,需要逐條規則手動開啟 Log 開關,否則 dfwpktlogs.log 完全是空的。實務上常見只在 Application Category 關鍵規則Default Drop Rule 上開 Log,避免大量 I/O 影響效能。

來源:Distributed Firewall Packet Logs - Broadcom TechDocs

七、L7 Context Profile:App-ID / FQDN / URL Filtering

7.1「Application Category」≠「OSI Layer 7」

這是命名上的混淆陷阱:

  • Application Category:5 大 Category 之一,預設仍是 L3/L4(IP+Port 的 5-tuple)
  • Layer 7 Context Profile:獨立的選配功能,可以加在任何 Category 的任何規則上
NSX Context Profiles 清單,列出 60 多種 App-ID
NSX Manager → Inventory → Context Profiles,內建超過 60 種 App-ID(防毒軟體如 AVAST/AVIRA、通訊協定如 AMQP/CIFS、AD 等),可在 DFW 規則中引用做精細識別。

7.2 Context Profile 五種屬性

屬性說明是否需要解密
App-ID識別實際應用程式協定(流量指紋)❌ 不需要
Domain (FQDN) Name依網域名稱做白名單/黑名單❌ 不需要(靠 DNS Snooping + TLS SNI)
Custom URL / URL Category / URL Reputation完整 URL 路徑層級過濾✅ 需要 TLS Inspection
ℹ️ FQDN Filtering 不需解密的原理
  1. DNS Snooping:監聽 DNS 查詢/回應,建立 IP↔FQDN 對應表(必須先設一條 DNS Rule,FQDN 規則放它下面)
  2. TLS SNI:HTTPS 的 ClientHello 封包裡,SNI 欄位明文帶有目標網域,加密前就傳輸

⚠️ 建議搭配開啟 SpoofGuard,避免 DNS Spoofing 繞過 FQDN 規則。

來源:FQDN Filtering - Broadcom TechDocs

7.3 授權需求

Context Profile 屬於進階功能,基礎版(NSX Standard)通常不含。在 VCF 9 訂閱模式下,「Full NSX」已涵蓋此功能(詳見第十節)。

八、NSX 完整資安防護全貌(對照傳統 NGFW)

Service-defined Firewall 架構:Distributed Firewall + Distributed IDS/IPS + NSX Intelligence
「Service-defined Firewall」= Distributed Firewall + Distributed IDS/IPS,外圍再由 NSX Intelligence 提供安全情資與行為分析,三者共同構成「分散式架構、服務感知、維運簡單」的防護模型。
傳統 NGFW 功能NSX 對應功能
AntivirusMalware Prevention(動態沙箱,偵測已知+Zero-day)
IPSDistributed IDS/IPS(簽章式 + 行為式:DNS Tunneling、Beaconing)
URL FilterContext Profile:URL Category/Reputation
App ControlContext Profile:App-ID
User-IDIdentity Firewall(規則可用 AD 使用者/群組)
SIEM 關聯分析NDR:把上述告警彙整成「入侵活動鏈」

來源:Overview of NSX IDS/IPS and Malware Prevention

九、純 DFW vs 完整防護:缺什麼元件?

功能純 DFW 能用嗎?額外需求
DFW 5 大 Category(L3/L4)
Identity Firewall✅(需 AD 整合)對應授權
L7 Context Profile(App-ID/FQDN/URL)⚠️不需額外平台,但需 Advanced 以上授權(VCF 已含)
Distributed IDS/IPS(基礎簽章式)⚠️跑在同一個 Kernel 模組,不需要 NAPP,但需授權
Malware Prevention / NTA / NDR必須部署 NSX Application Platform (NAPP)

NAPP 是什麼?

NAPP(NSX Application Platform)= 一個額外部署的 Kubernetes 叢集,不在流量路徑上,DFW 把事件/樣本「送過去」做進階分析:

需求項目說明
Kubernetes 叢集Tanzu Kubernetes Grid (TKG) 或 CNCF 相容 K8s
Load BalancerNSX Manager 存取 NAPP 服務用
Harbor儲存 image / Helm charts
額外運算資源K8s 節點本身的 CPU/記憶體/儲存
⚠️ NAPP ≠ NSX Edge

兩者都是「DFW 之外的額外元件」,但完全不同:

  • NSX Edge = 網路服務閘道(T0/T1 路由、NAT、LB、Gateway Firewall),處理 North-South 流量,是資料平面的必要元件
  • NAPP = K8s 微服務平台,跑 Malware Prevention/NTA/NDR,不處理流量,是選配的分析平面

如果環境裡完全沒有 Edge Node,通常代表這是「純微分段部署」——只用 DFW 做東西向防護,路由/NAT 仍交給原本的實體防火牆。

來源:FAQ - NSX Application Platform (NAPP)

十、VCF 授權對應

Broadcom 收購後,VCF 9 改成單一 per-core 訂閱,不再分 Standard/Advanced/Enterprise Plus:

項目是否包含在 VCF 9 訂閱
vSphere、vSAN、SDDC Manager
Full NSX:DFW、L7 Context Profile、Identity Firewall、多層路由
Malware Prevention / NTA / NDR(ATP)❌ 另購 Add-on,且需部署 NAPP
💡 實務判斷
  • 只需要微分段 + App-ID/FQDN + Identity Firewall → VCF 訂閱應已涵蓋
  • 需要 Malware Prevention/NTA/NDR → 另購 vDefend ATP,並規劃 NAPP 部署

⚠️「per-core 訂閱」的實際 entitlement 會隨簽約版本(VCF vs VVF)而異,務必請業務提供書面 Feature Entitlement 對照表。

來源:Licensing Overview - VCF 9.0

十一、實務建議與延伸思考

  • 「Kernel-based」vs「微服務-based」是理解功能分層的關鍵:DFW、Context Profile、基礎 IDS/IPS 跑在 ESXi Kernel,效能高、不需額外平台;Malware Prevention/NTA/NDR 需要大量運算(沙箱引爆、行為模型),所以被抽成獨立 K8s 微服務(NAPP)。這個架構決策直接決定了專案要不要多蓋一個 K8s 平台。
  • 授權與架構是兩個獨立關卡:買了 ATP 授權,沒部署 NAPP,Malware Prevention/NTA/NDR 一樣不會動。基礎防護(DFW+L7+IDS/IPS)可以先上線,NAPP 平台排在後續階段。
  • DFW 看不到 VM 內部:DFW/IDS/IPS 運作在 Hypervisor 層,看不到 VM 作業系統內部的 process/檔案行為——這部分仍需 EDR 補足,兩者是互補關係。
  • 東西向防護是 NSX 的核心價值:傳統 Gateway IPS/AV 只在「進出資料中心」時檢查流量;NSX 把這些能力分散到每個 vNIC,VM 之間的橫向移動也會被偵測到,沒有監控死角。

參考資源