作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化暨分散式安全防護技術方案的介紹與推廣。
接下來我們看一下分散式防火牆的規則撰寫方法與注意事項。大家可能覺得防火牆的規則有什麼特殊的,但其實分散式防火牆的規則撰寫有許多與傳統防火牆不同的地方。下面這張圖是在我們NSX Firewall內的一個規則截圖。
圖說:NSX DFW規則截圖
針對裡面每個項目來做說明:
Name: 規則的名稱,管理者可以自行定義能明確理解的名稱
Source / Destination: 封包之來源及目的地,可採用的項目如下表所示
在這邊希望給各位看到的重點,是NSX防火牆的規則不再只能用IP與網段,我們可以直接用虛擬環境裡面的屬性,比如說來源與目的端的VM是屬於哪個Cluster / 那個Resource Pool / 或是直接指定VM即可。更進一步,我們可以定義動態或靜態的安全群組 (Security Group),直接將企業的業務系統、資訊系統指定為不同的群組,這樣就可以直接制定系統對系統的防火牆規則了。比如說在最上面圖內的規則,就是來源是”定義於HR-Servers群組內的VM”,到目的為”定義於Finance-Servers群組內的VM”了
Service: 指定的第四層服務。下表列出的是預設可使用的IPv4或IPv6服務,如果企業想要指定的服務在下表內沒有列出,管理者也可以自行定義指定之協定
Action: 符合此規則時之動作,包含了如下表
Applied To: Applied To在分散式防火牆是一個重要的設定,我們要花一點篇幅說明一下。在有設定Applied To時,這代表前面的這條Rule,會設定到哪些指定的VM上。由前篇網誌所述,於NSX Manager上面設定的所有規則,實際上都會派送到各個VM的網卡上。
在下面這張圖有兩個規則(綠色),一個規則僅apply到VM1~VM3,第二條規則apply到VM1與VM4。此時大家可看到,各個VM上被assign的規則(藍色)是不一樣的,VM1被assign了兩條規則,VM2~VM4各自被assign了不同規則。
圖說:採用Applied To時,只會將防火牆規則送往指定的VM
問題來了:如果上面在設定時,管理者沒有設定Applied To呢?此時會出現的狀況,是這兩條規則會送往所有的VM,即使這些規則的來源與目的端都與這些VM無關。舉個更極端的例子:假設管理者總共設了5,000條規則,裡面只有10條與VM1相關。整個環境內有一共500個VM。如果管理者都沒有設定Applied To的規則,500個VM的每一個網卡上都會有這5,000條規則。此時,原本VM1的封包進出時僅需要與10條規則比對,但結果卻需要將5,000條規則走過一遍。
雖然對於整個TCP / UDP連線,僅有第一個packet需要做比對(然後在session table內就會有紀錄,後續的packet直接比對session table就送出了),但這樣仍對整體效能與troubleshooting有影響。因此我們強烈建議大家在目前設定防火牆Rule時,務必也要同時設定Applied To欄位,手動將前面source / destination內相關的VM或群組,以同樣的方式設定上去。
最後有兩點再提醒大家一下。首先是在防火牆欄位內,並沒有看到Rule-ID這一項。預設防火牆規則的Rule ID是被隱藏起來的,但若大家於右上方的欄位選項打開,並把Rule-ID欄位勾選出來,此時就會看到Rule-ID項目顯示出來如下圖。這個Rule-ID就能夠與比如說Log的資訊等來進行比對。
圖說:顯示防火牆規則之ID
最後一項是各位要使用Distributed FW時的提醒。我們都知道DFW是直接於VM前進行阻擋。而通常企業安全Team的要求與習慣上,Firewall的預設Policy是Deny All。因此當DFW部署時,
大家看到預設的policy是permit any,然後就不開心,然後就將policy改成deny all。接著呢?
如果vCenter的VM也在DFW所部署的Cluster內,這時你看到vCenter也完全被block了,所有與vCenter的連線包括Web-Client / 與host的接取全部中斷。PoC要整個砍掉重練了,真是可喜可賀。
NSX預設會把所有NSX本身的構件,包含NSX Manager / NSX Controller / NSX Edge Gateway以及VMkernel Port等排除在DFW的管控之外。但是其他虛擬環境內運作的重要構件,比如說vCenter / Operations Manager / LogInsight等等,仍然是以一般的VM納入管理。要解決這個問題,於NSX Manager內可以設定Exclusion List。請各位於任何一個Distributed Firewall的生產或PoC環境,務必把環境內重要的VM也都納入Exclusion List內。免得一時手殘,連生產環境都掛了,前人的血跡不要踏啊~
圖說:如果DFW部署的叢集內有vCenter,請務必納入Exclusion List清單內
接下來我們和各位討論一個分散式防火牆的應用:利用Distributed Firewall進行網路流統計與監控。
Comments
0 Comments have been added so far