作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。
接續本系列網誌,接下來我想就一些在微分段方案會議內,客戶常詢問的防火牆相關配置與管理維運進階問題,與大家進行分享。
環境內的虛機與防火牆規則數目都很多。在查找問題時,NSX內可否搜尋出對應特定虛機或 IP 地址的規則出來?
可以的沒有問題。在NSX Distributed Firewall的UI介面內有”Apply Filter”的欄位,可以輸入各種搜尋條件,比如說IP地址、虛機、服務型態、規則ID等等。可以設定一個或多個條件,然後NSX會據此過濾出符合的規則。
比如說下圖是特別選擇來源虛機指定為CRM-Web-01,有相關的規則有哪些:
也可以同時設定兩條以上的過濾條件,比如說下圖是來源的IP地址是172.20.11.11,且服務型態為HTTPS,同時符合上述兩個條件的規則就可過濾出來。
我想要確認防火牆規則是否有Hit到,有什麼方法可以很快看到?
其實在防火牆規則的最右方就有統計資訊,點擊後會顯示規則被Hit到的詳盡資訊包含連線數、封包數目等等,如下圖。
但大家通常在討論這個議題時的重點並不是在『我要看到統計資訊』,而是『我需要藉由這些統計資訊進行快速地除錯與維運』。比如說資安設定了一條新規則,在測試時要確認這個規則有明確地被應用流量Hit到。此時一定是請應用負責人發動相關測試流量,然後安全團隊的人希望『馬上』在規則統計資訊內可以看到數字上的反應。
此時我們必須要和大家說明一個NSX分散式防火牆與傳統硬體防火牆上的架構大差異。在NSX防火牆內,每條規則都可以看到對應的統計資訊,『但資訊會延遲長至15分鐘』而不會立即顯示。原因是
- 規則是否被Hit到的實際數據是散在多台vSphere上(防火牆實際執行的地點),然後各自以固定間隔傳送至NSX Manager
- 在NSX Manager會將來自不同來源的統計資訊集合整理後,再提供顯示
傳統硬體防火牆在規則實現與用戶統計資訊都在相同的設備上,因此Rule Hit資訊能夠較為『即時』的進行顯示。但在分散式防火牆架構內,一組NSX Management Cluster要管理可能多達數百台vSphere,各台vSphere可能在本地也可能在外地端,所以防火牆資訊的集合與統計是需要時間整理的。
因此
- 如果Hit Rule資訊只是資安單位要定期進行整理統計,確認在一個長期區間(一天、一週)內,某些規則有被Hit到還是完全沒有使用,那NSX的規則統計資訊是足夠的。
- 如果Hit Rule資訊是要用來做即時的Troubleshooting,幾秒鐘內就要確認結果,此時UI內的統計資訊延遲時間較長不符合需求。我們會建議大家採用開啟Log的機制,能夠在很短的時間內於後端日誌系統,反應出對應規則是否有符合。
NSX是否有支持防火牆規則能夠設定為僅在特定時段配置?
企業可能會有一些特殊需求,需要在特定時段開放或關閉指定的規則。比如說某些業務機器僅在上班時間允許連線,或是每週的特定時間要進行維護停止開放等。但每次手動進行防火牆變更又太麻煩,此時基於時間的Time-Based Firewall Rule就很有用處了。
NSX Distributed Firewall可在Firewall Policy層配置基於時間的策略,但沒有到單一規則 (Rule) 這一層。當Policy層的時間配置到達時,所有此Policy內的規則都會一起生效。策略內,可以僅設置單一特殊日期及時間區間,也可以基於每個星期的指定區間內啟用。
但這邊我想要特別和大家Highlight在使用Time-Based Policy的一個常見狀況:時區調整。先講結論:請各位在設定相關規則時,必須採用UTC時間 (Coordinated Universal Time),而非本地的時區。比如說台北的時區是Asia/Taipei +8,如果我們要設定一條規則在本地中午十二點生效,晚上十點停止。此時請大家必須採用UTC的配置,將規則設定為由UTC時間早上四點生效,下午兩點 (14時)停止。
為什麼?在絕大部分的環境內,NSX Firewall是部署在vSphere上,而vSphere現在的設計是僅採用UTC時間,不配置Timezone的。雖然大家在vCenter上可以看到正確的時間顯示,那是因為vCenter上面配置了時區,且會將vSphere傳送過來資料的UTC時間做正確的轉換,但vSphere本身沒有Timezone的配置。
但NSX分散式防火牆的策略由NSX Manager除了發送到vSphere外,也可能會發送到實體機器 (Bare-Metal Agent) 或是KVM Hypervisor的環境,而這些環境內『有』時區設定。如果不採用UTC策略配置,在較為複雜的環境內,會由於各自有無時區的配置會造成錯亂。因此雖然真的很繁瑣,但還是向大家致歉,請在使用NSX Time-Based Policy時,採用UTC而非本地時間來進行設定。
因為已經寫了很長,先停在這。還有很多微分段相關的配置議題可以討論,我們下篇再續。
Comments
0 Comments have been added so far