SDN 軟體定義網路 東西向網路 防火牆 HCI 超融合基礎架構

試用額度Azure訂閱學習SDN 軟體式架構阻東西向攻擊

免費體驗HCI超融合叢集 實作資料中心防火牆

2023-12-11
面對日益猖獗的惡意攻擊,本文實作部署SDN軟體定義環境,透過NSG安全性原則,便能輕鬆阻擋傳統防火牆所無法阻擋的東西向網路流量。而IT預算不足的小型企業可透過免費的Azure訂閱,實際操作並體驗HCI超融合叢集,以及整合SDN軟體定義網路環境。

在企業和組織的資料中心內,即便已經導入伺服器虛擬化和容器等現代化工作負載,倘若未整合SDN軟體定義網路環境,那麼對於內部網路惡意攻擊的防護能力勢必薄弱。主要原因在於,傳統的防火牆的運作機制為過濾及處理內部資料中心與網際網路之間的網路連線,也就是大家熟悉的「南-北」(North-South)向網路流量。

然而,隨著時間推移而不斷進化的惡意攻擊,一旦企業組織內部的資料中心只要有一台主機被攻陷進而開始感染鄰居主機時,此時傳統防火牆便無法阻擋這種「東-西」(East-West)向惡意攻擊類型,如圖1所示。

圖1  東西向網路惡意攻擊示意圖。 (圖片來源:Attack modeling for finding and stopping lateral movement | Microsoft Security Blog)

資料中心防火牆

在Azure Stack HCI超融合環境中,一旦建構「資料中心防火牆」(Datacenter Firewall)功能後,管理人員便能針對虛擬化環境的工作負載,建構軟體式網路封包過濾機制。簡單來說,資料中心防火牆將會透過邏輯和虛擬網路當中的ACL存取控制清單進行網路封包過濾的目的,如圖2所示。

圖2  資料中心防火牆運作概念示意圖。 (圖片來源:Azure Stack HCI上的資料中心防火牆 - Training | Microsoft Learn)

對於企業或組織中的管理人員或使用者來說,資料中心防火牆能夠提供下列管理和防護機制:

1. 管理人員可以透過WAC(Windows Admin Center)、PowerShell、SCVMM(Microsoft System Center Virtual Machine Manager),集中管理軟體式防火牆。

2. 在Azure Stack HCI超融合環境中的VM虛擬主機,無論遷移至不同Hyper-V主機,或者跨越不同叢集,都不會影響已經定義好的軟體式防火牆規則。

3. 無論VM虛擬主機採用Windows或Linux作業系統,都能透過定義的軟體式防火牆規則進行保護。

標籤分段安全性機制

在傳統網路架構中,由於防火牆是座落在保護南北向網路流量的位置,所以能夠有效阻擋來自網際網路的惡意攻擊。然而,一旦惡意攻擊穿越保護南北向網路流量的防火牆時,例如透過社交攻擊引誘內部使用者點選釣魚信件等等,那麼傳統防火牆便無法阻擋新型態的惡意攻擊,當感染內部主機後,惡意攻擊便透過Port 80、443控制受感染的主機,並嘗試感染其他內部主機,如圖3所示。

圖3  傳統南北向網路防火牆無法有效阻擋新世代的惡意攻擊行為。

在建構的SDN軟體定義網路環境中,即可透過「標籤分段」(Tag based Segmentation)的安全性機制,阻擋東西向惡意攻擊網路流量。簡單來說,在每一台VM虛擬主機的前方,都有一台軟體式防火牆進行防護,所以能夠輕易阻擋東西向的惡意攻擊。舉例來說,許多VM虛擬主機處於同一個VLAN網路環境,雖然其中一台遭受惡意攻擊成功,但卻無法感染同一個網段內的其他VM虛擬主機,如圖4所示。

圖4  標籤分段安全性機制有效阻擋東西向惡意攻擊示意圖。 (圖片來源:Tag based Segmentation with Azure Stack HCI - Microsoft Community Hub)

在管理上,由於標籤分段的組態設定中,可以直接打上標籤或網段,所以管理人員可以輕鬆透過組態設定方式為VM虛擬主機進行防護。舉例來說,可以組態設定兩個標籤,分別是Web App和IoT App,並且組態設定這兩個標籤之間的網路流量不可互通,即可達成防護的目的,如圖5所示。

圖5  組態設定標籤或網段進行東西向網路防護工作任務。 (圖片來源:Tag based Segmentation with Azure Stack HCI - Microsoft Community Hub)

在Azure Stack HCI實作資料中心防火牆

過去,企業或組織想要在地端資料中心內,部署Microsoft HCI超融合及SDN軟體定義網路環境時,對於中大型企業組織來說,在IT預算和管理人力都充足的情況下,可以採用任何想要的部署方式。然而,對於IT人力和預算原本就不足的中小企業來說,無論選擇哪種部署方式,想要評估和體驗HCI及SDN技術,就顯得有些距離和吃力。

由於企業的資料中心內或許沒有部署Azure Stack HCI超融合環境,因此以下實戰將在Azure公有雲環境中,透過Hyper-V巢狀式虛擬化技術部署Azure Stack HCI超融合環境,讓IT管理人員在無須準備任何硬體設備的情況下,便能夠實作及體驗在Azure Stack HCI超融合環境中部署資料中心防火牆。

部署支援巢狀式技術的Azure VM

首先,IT管理人員必須擁有Azure訂閱帳號,並選擇支援巢狀式技術的VM虛擬主機。倘若IT沒有Azure訂閱帳號,可以註冊Azure免費體驗訂閱帳號,再將免費訂閱帳號升級為「隨用隨付」(Pay-as-you-go),便能取得USD 200美元的額度,後續記得實作完成後關閉和刪除建立的雲端資源,便能夠在免費額度的情況下實作本文環境。

在選擇VM虛擬主機的部分,只要參考該系列的VM虛擬主機功能頁面,確認支援「巢狀虛擬化」(Nested Virtualization)功能即可,本文實作將採用Ev5系列的VM虛擬主機,如圖6所示。

圖6  確認採用的VM虛擬主機規則支援巢狀虛擬化功能。 (圖片來源:Ev5和Esv5系列 - Azure虛擬機器 | Microsoft Learn)

值得注意的是,最新的Gen2 VM映像檔支援更多安全性功能,並且預設採用「Trusted launch virtual machines」選項,但是採用此預設值之後,反而會讓巢狀虛擬化功能喪失,如圖7所示。因此,若是手動建立Azure VM虛擬主機的管理人員在建立的過程中,一旦採用Gen2 VM映像檔,記得在Security Type下拉式選單中從預設值改為選擇「Standard」項目即可。

圖7  採用Gen 2映像檔時,預設值並不支援啟用巢狀虛擬化功能。

為了方便管理人員快速部署Azure Stack HCI超融合環境,請瀏覽評估Azure Stack HCI頁面,在部署Azure VM頁面中按下〔Deploy to Azure〕按鈕,系統將會自動開啟新頁面至Azure Portal介面,再依據需求調整下列項目,如圖8所示:

圖8  在Azure公有雲環境中,快速部署Azure Stack HCI超融合環境。

‧Subscription:選擇使用的Azure訂閱帳戶,本文實作為「Weithenn Labs - MSDN」。

‧Resource Group:選擇存放VM虛擬主機和雲端資源的資源群組,採用新增的「RG-AzSHCI-Lab」。

‧Region:選擇使用的Azure資料中心,採用「東亞」(East Asia)資料中心。

‧Custom Rdp Port:組態設定連線至VM虛擬主機的RDP遠端桌面連線埠,採用預設值3389。

‧Virtual Machine Name:此台VM虛擬主機的電腦名稱,組態設定電腦名稱為「AzSHCILabHost」。須注意的是,電腦名稱超過15個字元或包含特殊符號的話,後續的部署工作任務將會發生錯誤導致部署失敗。

‧Virtual Machine Size:選擇部署VM虛擬主機採用的規格大小,採用Standard_E20s_v4。

‧Data Disk Size:組態設定每個資料硬碟的大小,採用預設值256GB,屆時系統將會以256GB x8顆進行組合,屆時VM虛擬主機將會看到2TB空間大小的儲存空間。

‧Admin Username:組態設定登入VM虛擬主機的管理帳號,本文實作為Weithenn。

‧Admin Password:組態設定登入VM虛擬主機的管理密碼。這裡的管理密碼僅鍵入一次,因此務必不要打錯字,避免稍後無法RDP登入VM虛擬主機。

‧Auto Shutdown Status:是否啟用自動關機機制,本文將自動關機組態設定停用,避免影響實作。

確認無誤後,按下〔Review + create〕按鈕,便立即進行部署Azure Stack HCI超融合環境的工作任務。當系統檢查無誤出現「Validation Passed」訊息後,按下〔Create〕按鈕立即部署Azure Stack HCI超融合環境,在本文環境中花費55分鐘順利部署完成。

值得注意的是,部署作業完成後,管理人員會發現無法RDP連線至VM虛擬主機?簡單來說,因為安全性考量,所以系統已經將RDP連線(Port 3389)進行阻擋導致無法連線。只要在Azure Portal頁面中,進入VM虛擬主機頁面,點選「Settings > Networking > Inbound port rules」,可以看到系統自動將RDP Port 3389連線規則設定為「Deny」,只要修改為「Allow」允許放行,即可順利連線。

一鍵部署Azure Stack HCI+SDN環境

順利登入後,由於主機時區採用標準的UTC格林威治時間,請調整為適合且習慣的「UTC + 08:00 - Taipei」台北時區。此外,開啟磁碟管理員,可以發現系統已經組態設定好2TB大小的磁碟空間,並且指派「V:」磁碟機代號。

原則上,只要點選兩下桌面上的「New-AzSHCISandbox.ps1」圖示,系統便會開始自動部署HCI+SDN運作環境,並建立三台VM虛擬主機,分別是AzSMGMT的DC網域控制站,以及AzSHOST1和AzSHOST2超融合節點主機,並且花費大約2小時左右的時間即可自動部署完成,如圖9所示。

圖9  花費2小時時間自動部署HCI+SDN運作環境。

Windows Admin Center管理平台

部署作業完成後,桌面上會出現名為「AdminCenter」的RDP連線捷徑,這是連線至AzSMGMT主機使用,預設情況下,管理者帳號為「Contoso\Administrator」,而密碼是「Password01」。

由於AzSMGMT為管理用途主機,登入後可以看到許多管理工具捷徑。點選桌面上的Windows Admin Center捷徑,並採用同樣的預算管理帳號及密碼即可登入。

登入WAC管理平台後,預設情況下將自動進行更新作業。可以看到,更新後採用最新的WAC v2306版本,以及WAC所有使用到的擴充模組,包含本次實作中主要使用的SDN軟體定義網路擴充模組。先點選右上角齒輪圖示,再點選Gateway下的Extensions項目,如圖10所示,即可查看SDN軟體定義網路擴充模組和版本。

圖10  查看WAC及SDN軟體定義網路擴充模組及版本。

在WAC主要頁面中,依序點選「All connections > Cluster Manager > Add」項目,在Add cluster頁籤中的Cluster name欄位,鍵入預設的HCI超融合叢集名稱「AzStackCluster.contoso.com」,待系統正確辨別叢集名稱後,按下〔Add〕按鈕,即可順利連線至HCI超融合叢集,如圖11所示,並看到HCI超融合叢集的各種工作負載資訊。

圖11  連線至預設的HCI超融合叢集。

啟用SDN軟體定義網路基礎架構

此時,在WAC管理介面中,可以發現在Networking項目下卻僅有Virtual switches和SDN Infrastructure等兩個項目,點選SDN Infrastructure項目,系統將會自動安裝RSAT-NetworkController伺服器功能管理工具,並自行安裝SDN網路控制器的REST憑證。待SDN Infrastructure頁面出現「SDN infrastructure was detected and validated」訊息時,就按下〔Continue〕按鈕。

等待一段時間後,系統將彈出Connect to Network Controller視窗,請鍵入SDN網路控制器主機名稱,鍵入「nc01.contoso.com」後,按下〔Continue〕按鈕,便會連結至SDN網路控制器,同時系統提示連線後按下〔F5〕鍵,以便重新載入WAC管理介面。

一旦順利重新載入WAC管理頁面,便能看到Networking項目下,多了許多SDN軟體定義網路管理項目,包括Virtual switches、Route tables、Network security groups等等,如圖12所示。

圖12  順利啟用SDN軟體定義網路基礎架構。

註冊Azure Stack HCI超融合環境

值得注意的是,必須註冊Azure Stack HCI超融合環境後,才能順利建立VM虛擬主機,並給予高可用性角色,否則系統會顯示VM虛擬主機建立成功,但無法給予高可用性角色,如圖13所示,所以只能在單台Azure Stack HCI主機中看到VM虛擬主機,而無法在Azure Stack HCI超融合叢集中看到VM虛擬主機。

圖13  未註冊的Azure Stack HCI叢集無法建立高可用性VM虛擬主機。

點選WAC管理平台右上角的齒輪圖示,再依序點選「Settings > Register > Register with Azure > Register」。在彈出的對話視窗中,於Select an Azure cloud下拉選單中選擇「Azure Global」項目,然後在Copy this code欄位中按下〔Copy〕按鈕,並點選Enter the code連結。此時,瀏覽器將另開新頁面,貼上剛才複製Code內容,通過使用者身分驗證程序後,系統會提示可以關閉該頁面。

回到原有對話視窗中,發現多了Connect to Azure AD的訊息,並顯示Azure AD Tenant ID,在Azure AD Application中,可以選擇Create New或Use Existing選項後按下〔Connect〕按鈕。順利連接至Azure AD環境後,按下Sign in to Azure選項中的〔Sign in〕按鈕,即可將此台WAC註冊至指定的Azure訂閱帳戶和Azure AD環境中。

回到Dashboard頁面,點選Azure Arc中的Azure Stack HCI registration連結,由於剛才已經通過驗證程序,所以系統會直接嘗試註冊Azure Stack HCI叢集,並啟用Azure Arc管理機制。此時,可以切換至Azure Portal頁面,查看Azure AD中是否順利將WAC主機註冊,切換至「Azure Arc > Infrastructure > Azure Stack HCI」,是否出現Azure Stack HCI叢集,且狀態顯示為Connected,確保和地端的WAC管理平台已經連線成功。

確認連線成功後,切換回WAC管理平台視窗,系統顯示成功註冊資訊,而Azure Arc區塊中的Status狀態資訊,也從原先的紅色錯誤的Not yet registered,變更為綠色打勾的Connected狀態,如圖14所示。

圖14  成功註冊Azure Stack HCI超融合叢集。

建立邏輯網路

在WAC管理介面中,依序點選「Networking > Logical networks > New」項目。首先在Logical network Name欄位,填入邏輯網路名稱,此實作為「VM-Logical-Network」,然後點選下方Logical subnet的〔Add〕按鈕。同樣地,在新增邏輯網段視窗中,依序填入邏輯網段名稱、VLAN ID、網段資訊,預設閘道、DNS等等資訊,以及是否套用「網路安全群組」(Network Security Group,NSG),再次點選下方邏輯網段IP Pool的〔Add〕按鈕。在新增邏輯網段IP Pool視窗中,依序填入邏輯網段IP Pool名稱、開啟的IP位址、結束的IP位址,確認無誤後按下〔Add〕按鈕兩次,最後按下〔Submit〕按鈕即可建立邏輯網路,如圖15所示。

圖15  建立給VM虛擬主機工作負載使用的邏輯網路。

建立虛擬主機並套用邏輯網路

在建立VM虛擬主機時,可以在網路項目中,組態設定VM虛擬主機使用剛才所建立的邏輯網路,在VM虛擬主機安裝完成後,安裝IIS網頁伺服器服務,以便稍後測試NSG網路安全群組功能。如圖16所示,可以看到VM虛擬主機使用邏輯網路指派的「192.168.1.101」IP位址。

圖16  VM虛擬主機順利使用邏輯網路。

建立NSG規則並套用至VM虛擬主機

在WAC管理介面中,依序點選「Networking > Network security groups > Inventory > New」項目,在彈出視窗中填入NSG規則名稱後,按下〔Submit〕按鈕建立NSG名稱。

建立完成後,進入該NSG規則,在Network security rule區塊中按下〔New〕按鈕,如圖17所示,在新視窗中便是NSG安全性原則的組態設定:

圖17  建立NSG安全性原則中的網路封包過濾規則。

‧Name:填入NSG規則名稱,本次實作為WebApp-80以利識別。

‧Priority:NSG規則的執行順序ID,預設情況下,NSG安全性原則採用「先進先出」(First-In First-Out,FIFO),所以順序ID數值越小則優先權越高。

‧Type:針對「流入」(Inbound)或「流出」(Outbound)的網路流量進行管控。 ‧Protocol:針對何種通訊協定進行管控,支援TCP、UDP、ICMPv4、ICMPv6、HTTP等通訊協定,若管理人員不確定哪種通訊協定時,可以選擇All過濾所有通訊協定。

‧Source:針對「來源」(Source)網路流量進行管控,可以採用Any過濾所有來源網路,或是指派過濾特定的來源IP位址或IP網段,或者是服務標籤進行過濾。

‧Source Port Range:針對來源端的通訊埠區段進行過濾,如果需要針對所有的通訊埠時,可以採用萬用字元(*),表示針對來源端的所有通訊埠進行過濾。

‧Destination:針對「目的地」(Destination)網路流量進行管控,可以採用Any過濾所有目的地網路,或指派過濾特定的目的地IP位址或IP網段,或是服務標籤進行過濾。由於需要測試能否阻擋東西向網路流量,所以選擇針對剛才的VM虛擬主機IP位址「192.168.1.101」進行過濾。

‧Destination Port Range:針對目的地的通訊埠區段進行過濾,倘若需要針對所有的通訊埠時,可以採用萬用字元(*),表示針對來源端的所有通訊埠進行過濾,為了測試能否阻擋東西向網路流量,所以選擇針對剛才VM虛擬主機的IIS網頁伺服器服務Port 80進行過濾。

‧Actions:一旦網路封包符合NSG安全性原則的過濾規則時,系統要如何處理該網路封包,可以採用「放行」(Allow)或「阻擋」(Deny)。為了測試能否阻擋東西向網路流量,所以選擇符合過濾結果時為Deny進行阻擋。

‧Logging:是否啟用日誌功能,以便記錄此NSG安全性原則過濾規則的日誌內容。

接下來,回到VM虛擬主機的網路組態設定,將剛才建立的NSG安全性原則進行套用的動作,如圖18所示。然而,可能會發生套用失敗的情況,原因在於VM虛擬主機必須在關機的狀態下才能套用NSG安全性原則,順利套用後,將VM虛擬主機開機。

圖18  為VM虛擬主機套用NSG安全性原則。

現在,可以看到VM虛擬主機的IIS網頁伺服器服務仍然正常運作當中。然而,從其他外部主機卻無法再存取IIS網頁伺服器服務,即便外部主機和VM虛擬主機處於同一個網段,仍無法順利存取IIS網頁伺服器服務,確定NSG安全性原則順利運作,能夠輕易阻擋東西向網路流量,如圖19所示。

圖19  NSG安全性原則順利運作過濾東西向網路流量。

結語

透過本文的剖析和實作後,相信管理人員已經理解傳統防火牆的缺點。在部署SDN軟體定義環境後,透過NSG安全性原則便能輕鬆阻擋傳統防火牆所無法阻擋的東西向網路流量。同時,透過免費的Azure訂閱或花費少許費用,即便是IT預算不足的小型企業,在沒有任何硬體設備的情況下,也能實際操作並體驗HCI超融合叢集,以及整合SDN軟體定義網路環境。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!