網管人雜誌
本文刊載於
網管人雜誌第 215 期 - 2023 年 12 月 1 日出刊,NetAdmin 網管人雜誌
為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology
Learning
技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份
1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。
本文目錄
前言
在企業和組織的資料中心內,即便已經導入伺服器虛擬化和容器等現代化工作負載,倘若未整合 SDN 軟體定義網路環境時,那麼對於內部網路惡意攻擊的防護能力勢必薄弱。主要原因在於,傳統的防火牆的運作機制,為過濾及處理內部資料中心與網際網路之間的網路連線,也就是大家熟悉的「南 - 北」(North-South)向網路流量。
然而,隨著時間推移而不斷進化的惡意攻擊,一旦企業或組織的內部資料中心,只要有一台主機被攻陷進而開始感染鄰居主機時,此時傳統防火牆便無法阻擋這種「東 - 西」(East-West)向惡意攻擊類型(如圖 1 所示)。
圖 1、東西向網路惡意攻擊示意圖
資料中心防火牆
在 Azure Stack HCI 超融合環境中,一旦建構「資料中心防火牆」(Datacenter Firewall)功能後,管理人員便能針對虛擬化環境的工作負載,建構軟體式網路封包過濾機制。簡單來說,資料中心防火牆將會透過邏輯和虛擬網路當中,透過 ACL 存取控制清單來進行網路封包過濾的目的(如圖 2 所示)。
圖 2、資料中心防火牆運作概念示意圖
對於企業或組織中的管理人員或使用者來說,資料中心防火牆能夠提供下列管理和防護機制:
- 管理人員可以透過 WAC(Windows Admin Center)、PowerShell、SCVMM(Microsoft System Center Virtual Machine Manager),集中管理軟體式防火牆。
- 在 Azure Stack HCI 超融合環境中的 VM 虛擬主機,無論遷移至不同 Hyper-V 主機,或者跨越不同叢集時,都不會影響已經定義好的軟體式防火牆規則。
- 無論 VM 虛擬主機採用 Windows 或 Linux 作業系統,都能透過定義的軟體式防火牆規則進行保護。
標籤分段安全性機制
在傳統網路架構中,由於防火牆是座落在保護南北向網路流量的位置,所以能夠有效阻擋來自網際網路的惡意攻擊。然而,一旦惡意攻擊穿越保護南北向網路流量的防火牆時,例如,透過社交攻擊引誘內部使用者點選釣魚信件……等,那麼傳統防火牆便無法阻擋新型態的惡意攻擊,例如,一旦感染內部主機後,惡意攻擊便透過 Port 80、443 控制受感染的主機,並嘗試感染其它內部主機(如圖 3 所示)。
圖 3、傳統南北向網路防火牆無法有效阻擋新世代的惡意攻擊行為
圖 4、標籤分段安全性機制有效阻擋東西向惡意攻擊示意圖
在管理上,由於標籤分段的組態設定中,可以直接打上標籤或網段,所以管理人員可以輕鬆透過組態設定方式,為 VM 虛擬主機進行防護。舉例來說,管理人員可以組態設定兩個標籤,分別是 Web App 和 IoT App ,並且組態設定這兩個標籤之間的網路流量不可互通,即可達成防護的目的(如圖 5 所示)。
圖 5、組態設定標籤或網段進行東西向網路防護工作任務
實戰 – 在 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 虛擬主機規則支援巢狀虛擬化功能
值得注意的是,最新的 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 所示):
- 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: 是否啟用自動關機機制,本文將自動關機組態設定停用,避免影響實作。
圖 8、在 Azure 公有雲環境中,快速部署 Azure Stack HCI 超融合環境
確認無誤後,按下「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 項目,即可查看 SDN 軟體定義網路擴充模組及版本(如圖 10 所示)。
圖 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 虛擬主機使用剛才所建立的邏輯網路,在 VM 虛擬主機安裝完成後,安裝 IIS 網頁伺服器服務,以便稍後測試 NSG 網路安全群組功能。如圖所示,可以看到 VM 虛擬主機使用邏輯網路指派的「192.168.1.101」IP 位址(如圖 16 所示)。
圖 16、VM 虛擬主機順利使用邏輯網路
建立 NSG 規則並套用至 VM 虛擬主機
請在 WAC 管理介面中,依序點選「Networking > Network security groups > Inventory > New」項目,在彈出視窗中請填入 NSG 規則名稱後,按下 Submit 鈕建立 NSG 名稱。
建立完成後,進入該 NSG 規則,在 Network security rule 區塊中按下 New 鈕,在視窗中便是 NSG 安全性原則的組態設定(如圖 17 所示):
- 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 安全性原則過濾規則的日誌內容。
圖 17、建立 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 軟體定義網路環境。