posted

0 Comments

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

 

我們可以用不同的方式來定義哪些虛擬機器要加入安全群組內。為什麼要這樣做?企業可能會有下列不同的管理需求,比如說:

 

  • 將一個企業內的重要資訊業務系統,比如說財務系統內的所有虛擬機器加入至一組安全群組,然後依據稽核或管理的需求,提供財務系統的虛擬機器進行特定的保護,像是要求其他業務的虛擬機器都無法接取到財務系統機器
  • 選定特定的作業系統,比如說Windows Server 2003,然後將所有屬於這種作業系統的虛擬機器進行Virtual Patch防護
  • 像是企業的桌面虛擬化環境,用戶虛擬機器能夠依據登入的用戶屬於不同的企業部門,對應到不同的安全群組內。而針對不同的安全群組(企業部門),比如說用戶是內部一般員工、高階經理、或是合作的廠商,NSX能夠提供不同的安全防護機制
  • 或是比如將員工使用的桌面虛擬化機器集合起來,針對這些員工作業機定期進行機敏資料掃描,若掃出不合規資料就要求改善。

 

下圖可看出要建立一個全新的安全群組時總共有四個步驟:

 

Name and description: 註明新安全群組的名稱

 

Define dynamic membership: 設定動態成員的加入屬性或條件

 

Select objects to include: 直接手動設定哪些虛擬機器應該加入此群組

 

Select objects to exclude: 直接手動設定哪些虛擬機器應被移出此群組

 

圖說:建立一個新的安全群組

 

手動選定哪些虛擬機器應該加入(Select objects to include)或移出(Select objects to exclude)是很直覺的,就像防火牆在選擇哪些虛擬機器作為來源或目的端一樣。如下圖,我們可以利用虛擬環境屬性來選擇虛擬機器,包括直接選擇虛擬機器,或是選擇虛擬機器是屬於哪個Datacenter / Cluster / vApp / Resource Pool / Logical Switch / Port Group等等。

 

圖說:手動選定哪些物件要加入或移出安全群組

 

但安全群組真正有趣的地方在設定”Define dynamic membership”時,可以去定義一些”特徵”,只要有符合這些特徵的虛擬機器,就動態地被加入到這個群組之內。在下圖內我們可以看到可以被選定為特徵的機制包括了

 

Computer OS Name: 如果虛擬機器的作業系統名稱符合所定義的字串。

 

Computer Name: 如果虛擬機器的主機名稱(hostname)符合所定義的字串

 

VM Name: 如果虛擬機器本身的VM名稱符合所定義的字串

 

Security Tag: 如果虛擬機器有被設定的安全標籤符合所定義的字串

 

Entity: 如果虛擬機器屬於被選定的虛擬環境屬性,包括Datacenter / Cluster / vApp / Resource Pool / Logical Switch / Port Group等等。這邊更有趣的用法是虛擬環境屬性還可以選擇Directory Group,也就是去對應企業環境內的AD群組,因此虛機還可以依據不同的登入用戶,就加入到不同的動態群組,而對應到不同的安全保護機制。這邊的用法我們暫時賣個關子,在後面談論身份識別防火牆時再進一步討論。

 

圖說:定義動態群組成員所具備的特徵

 

同時,動態群組設定內可以支援多條規則,利用Any / All / And / Or等方式來依實際需求打造設定規則,可以說非常的有彈性。這邊,我們用兩個簡單的例子來說明動態群組的設定方式。

 

範例一: 將vCenter內所有的Windows虛擬機器選出放置於同一個動態群組,後續可集中進行防毒控管與保護

 

在這個範例內,我們只要把規則設定為Computer OS Name有包含win這個字串如下圖,就可以達成。無論Windows是95 / 98 / XP / Vista / 2003 / 2008 / 2012等等不同的OS,一定都有win字串在作業系統名稱內。

 

圖說:設定選擇所有的Windows虛擬機器

 

做了這樣的設定後,我們可以看到這個Security Group內所包含的虛擬機器,均為vCenter內所建置的Windows Guest OS了,如下圖。

 

圖說: 所有的Windows虛擬機器均被納入此群組

 

範例二: 需要將人事資訊系統,可能位於不同網段的虛擬機器均統一加入同一個群組,後續可使用防火牆設定,所有人事資訊系統的虛擬機僅有具備權限的使用者可以進行網路接取。

 

此時,如果我們的做法是只要在人事資訊所需要的虛擬機,以手動或是自動的方式,名稱都設定為HR-開頭。然後在動態群組設定內,直接設定只要是VM Name是以HR字串做開頭,就自動被加入此群組,如下圖的設定:

 

圖說:設定選擇虛擬機器名稱開頭為HR的虛機

 

然後我們可以看到被加入此群組的虛擬機,都是HR開頭的沒錯…

 

圖說:所有HR開頭的虛擬機都被加入此群組了

 

最後我們要說明一下,一台虛擬機器是有可能由於不同條件的定義,因此同時屬於多個安全群組的。但要如何確認?其實由vCenter上看虛擬機器的summary page就可以看到。如下圖所示,可以看到Lab-Win7這台機器目前有屬於四個安全群組:DS-LAB-SecurityGroup / System-Administrators / Activity Monitoring Data Collection / Lab-Windows-Machine,這些群組內有加載的安全規則都會被應用到此虛擬機器上,並依照Security Policy的優先權來決定要優先採用哪一組。

 

圖說:虛擬機器的Summary Page內會列出目前此虛機屬於哪些安全群組

 

以上是我們對於Security Group功能的說明。在開始討論Security Policy的設定方式之前,下一篇網誌我們會展示一個NSX分散式防火牆加上Security Group的使用案例,讓大家感受一下利用Security Group的威力。