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

前兩篇網誌內我針對微分段防火牆相關配置與管理維運進階問題中,包含像是規則搜尋、統計、備份及回復等機制進行討論。本篇內我想專注於說明防火牆介面內,例外清單與規則比對流程這兩個比較複雜的議題。

可否說明何謂『例外清單』 (Exclusion List)?哪些虛機應該被放置到例外清單?

在防火牆介面的ACTIONS – Setting – Exclusion List 可以選擇將虛機放置到例外清單。當一台虛機在例外清單內時,代表這台虛機前不會有任何微分段防火牆,或是在vSphere內叫做dvfilter process的機制運作,所有進出網路流不會有任何的攔截與檢查。

通常大部分的業務虛機我們都建議要運作微分段防火牆機制,即使不做任何的防火牆規則限制 (全部都allow),防火牆機制本身的啟用也可提供下列的好處:

  • 確保網路流以正常的流程進行建立與傳輸,阻擋異常網路流(比如說TCP連線沒有進行three-way handshakes),保護虛機於外部的DDoS或是異常封包攻擊
  • 進行網路流收集供後續利用(比如說以Netflow機制送往外部監控系統,或是於內部的NSX Intelligence進行分析)
  • 進行網路流量攔截,比如說以Port Mirror機制來進行網路封包分析

但確實,有些虛機並不適合在前面有微分段防火牆的存在。包含了

  • NSX本身的管理與傳輸構件虛機,如NSX Manager,以及NSX Edge VM等等。這些虛機是NSX要正常運作的核心,如果分散式防火牆政策設定錯誤,反而造成NSX本身不能運作,就太沒道理了。因此這些NSX元件在部署時預設就會被加入到NSX的系統例外清單 (System Excluded VMs) 內,即使在有微分段防火牆啟用的環境內部署,也不會造成誤擋。
  • 底層環境要能運作的重要管理機器,比如說vCenter Appliance、NSX ALB (Avi) Controllers、日誌 (Log Insight)、維運 (vRops)、備份、安全維運的相關管理虛機等等。這些機器與業務運作的安全保護無關,若被誤擋可能整個Infrastructure會出問題。如果這些機器會放置在有微分段機制運作的vSphere Cluster內,我們建議管理者以手動的方式,將上述的機器加入例外清單內的用戶自定義群組 (User Excluded Group) 內
  • 第三個是常被大家忽略,但沒放到例外清單則時常出現問題的,就是『虛機型態的網路功能機器』。比如說NSX ALB (Avi) 的服務引擎 (Service Engine),第三方廠商的虛機型態防火牆、或是虛機型態負載平衡器等等。這些虛機內常會具備多個網路介面、多個網路地址、或有特殊的內部Tunnel傳輸,與標準業務機器的行為極不同,可能會在防火牆這被視為異常網路流而被阻斷(即使所有規則均為Allow)。我們建議將所有作為網路設備功能之虛機都放置到例外清單。

以上三個類型,尤其是第二第三種,請大家務必在部署微分段項目時進行review、並與我們的方案專家進行討論,以確保環境運作的順暢。

可否說明規則配置內如 Emergency / Infrastructure / Application等的分類順序意義?

在分散式防火牆的UI介面上,有分門別類叫做Category Specific Rules。這裡的Categories預設有分成五類:

  • Ethernet是指L2 MAC防火牆。雖然不常用,但NSX分散式防火牆也可用來進行MAC Address間的偵測與隔離。
  • Emergency是用來在緊急事件發生如WannyCry / Log4J等發生時,快速地將相關的機器放置到這邊欄位進行隔離或特別處置。
  • Infrastructure是指企業通常網路的基礎Common Rules,比如說企業通常一定會開放到AD / DNS / NTP / DHCP等伺服器的連線,或是其他如ICMP除錯、路由交換、往安全伺服器的連線這些,對所有機器都會開放的連線,就會放在這裡。
  • Environment通常指企業資料中心內的不同大區塊,我們要進行大區塊間的連線限制。比如說要定義出測試區、生產區、DMZ區、特定對於PCI相關的虛機與無關的一般機器、OA區,等等。
  • Application則通常在同一個安全區內,進行應用與應用之間,或是同一個應用內的機器與機器間的規則定義。

下圖為官方文件內對這些不同分類的建議說明。

簡單的舉例,比如說我們通常會將所有業務虛機都要遵循的規則 (Common Rules) 放在 Infrastructure類別內,如下圖的SSH / DNS規則:

或是針對單一業務系統的所有白名單規則,我們就會放到Applications分類內:

但實際上,這些分類其實也就是分散式防火牆的一個前後順序建議而已。基本上Distributed Firewall在比對規則時,以下列順序進行:

  • 先於Ethernet分類內比對L2規則。若規則符合且Action為阻斷則停止,若Action為通過的話,繼續至Emergency分類進行比對。
  • 依據Emergency – Infrastructure – Environment – Application各分類,由左到右,然後各分類的規則內由上到下,進行規則比對。只要規則有符合,就依據此規則之Action (Allow / Reject / Drop) 來執行。

如果大家想要直接在一個頁面內看到所有的規則,可以選擇上面的All Rules,就會一次把所有的規則通通列出來。但這個頁面是唯讀的 (Read-Only),如果要進行規則修改,還是得到對應的分類裡面去。

本篇先到此。下篇網誌我想要針對微分段防火牆日誌相關的進階議題與大家討論。