教學課程:使用 Azure 防火牆管理員來保護您的中樞虛擬網路
將內部部署網路連接到 Azure 虛擬網路來建立混合式網路時,控制對 Azure 網路資源的存取的能力,是整體安全計劃的重要組成部分。
您可以使用 Azure 防火牆管理員來建立中樞虛擬網路,以保護以私人 IP 位址、Azure PaaS 與網際網路為目標的混合式網路流量。 您可以使用可定義允許和拒絕網路流量的規則,在混合式網路中使用 Azure 防火牆管理員來控制網路存取。
防火牆管理員也支援安全虛擬中樞架構。 如需安全虛擬中樞和中樞虛擬網路架構類型的比較,請參閱什麼是 Azure 防火牆管理員架構選項?
在本教學課程中,您會建立三個虛擬網路:
- VNet-Hub - 防火牆位於此虛擬網路中。
- VNet-Spoke - 輪輻虛擬網路代表位於 Azure 的工作負載。
- VNet-Onprem - 內部部署虛擬網路代表內部部署網路。 在實際部署中,它可使用 VPN 或 ExpressRoute 連線來連線。 為了簡單起見,本教學課程使用 VPN 閘道連線,而位於 Azure 的虛擬網路用來代表內部部署網路。
在本教學課程中,您會了解如何:
- 建立防火牆原則
- 建立虛擬網路
- 設定及部署防火牆
- 建立及連線 VPN 閘道
- 對等互連中樞與輪輻虛擬網路
- 建立路由
- 建立虛擬機器
- 測試防火牆
必要條件
混合式網路會使用中樞和輪輻架構模型來路由傳送 Azure VNet 與內部部署網路之間的流量。 中樞和輪輻架構具有下列需求:
- 若要透過中樞防火牆路由傳送輪輻子網路流量,您需要一個使用者定義的路由 (UDR),其指向已停用 [虛擬網路閘道路由傳播] 設定的防火牆。 這個選項會防止將路由散發到輪輻子網路。 這可防止已學習的路由與您的 UDR 衝突。
- 在中樞閘道子網路上設定可指向防火牆 IP 位址的 UDR,作為輪輻網路的下一個躍點。 Azure 防火牆子網路不需要任何 UDR,因為可從 BGP 得知路由。
請參閱本教學課程中的建立路由一節,了解如何建立這些路由。
注意
「Azure 防火牆」必須能夠直接連線到網際網路。 如果您的 AzureFirewallSubnet 學習到透過 BGP 連至您內部部署網路的預設路由,您必須將其覆寫為 0.0.0.0/0 UDR,且 NextHopType 值必須設為 [網際網路],以保有直接網際網路連線。
您可將 Azure 防火牆設定為支援強制通道。 如需詳細資訊,請參閱 Azure 防火牆強制通道。
注意
即使 UDR 指向「Azure 防火牆」作為預設閘道,系統仍會直接路由直接對等互連之 VNet 間的流量。 在此案例中若要將子網路對子網路流量傳送到防火牆,UDR 必須在這兩個子網路上同時明確包含目標子網路網路首碼。
如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
建立防火牆原則
登入 Azure 入口網站。
在 Azure 入口網站搜尋列中,輸入 [防火牆管理員],然後按 Enter。
在 [Azure 防火牆管理員] 頁面上,於 [安全性] 底下選取 [Azure 防火牆原則]。
選取 [建立 Azure 防火牆原則]。
選取您的訂用帳戶,然後針對 [資源群組],選取 [新建] 並建立名為 FW-Hybrid-Test的資源群組。
針對 [原則名稱],輸入 Pol-Net01。
針對 [區域],選取 [美國東部]。
選取 [下一步: DNS 設定]。
選取 [下一步: TLS 檢查]
選取 [下一步: 規則]。
選取 [新增規則集合]。
在 [名稱] 中,輸入 RCNet01。
針對 [規則集合類型],選取 [網路]。
在 [優先順序] 中,輸入 100。
在 [動作] 中,選取 [允許]。
在 [規則] 底下的 [名稱] 中,輸入 AllowWeb。
針對 [來源],輸入 192.168.1.0/24。
在 [通訊協定] 中,選取 [TCP]。
在 [目的地連接埠] 中,輸入 80。
針對 [目的地類型],選取 [IP 位址]。
針對 [目的地],輸入 10.6.0.0/16。
在下一個規則資料列中,輸入下列資訊:
名稱:輸入 AllowRDP
來源:類型 192.168.1.0/24。
通訊協定:選取 [TCP]
目的地連接埠:輸入 3389
目的地類型:選取 [IP 位址]
針對 [目的地],輸入 10.6.0.0/16選取 [新增]。
選取 [檢閱 + 建立] 。
檢閱詳細資料,然後選取 [建立]。
建立防火牆中樞虛擬網路
注意
AzureFirewallSubnet 子網路的大小是 /26。 如需有關子網路大小的詳細資訊,請參閱 Azure 防火牆的常見問題集。
從 Azure 入口網站首頁,選取 [建立資源]。
搜尋 [虛擬網路],然後選取 [虛擬網路]。
選取 建立。
在 [訂閱] 的部分,選取您的訂閱。
在 [資源群組] 中,選取 FW-Hybrid-Test。
在 [名稱] 中,輸入 VNet-hub。
在 [區域] 中,選取 [美國東部]。
選取 [下一步]。
在 [安全性] 上,選取 [下一步]。
針對 [IPv4 位址空間],輸入 10.5.0.0/16。
在 [子網路] 下,選取 [預設]。
針對 [子網路用途],選取 [Azure 防火牆]。
針對 [起始位址],輸入 10.5.0.0/26。
接受其他預設設定,然後選取 [儲存]。
選取 [檢閱 + 建立]。
選取 建立。
新增另一個子網路,將子網路用途設定為虛擬網路閘道,起始位址為 10.5.1.0/27。 此子網路會用於 VPN 閘道。
建立輪輻虛擬網路
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 搜尋 [虛擬網路],然後選取 [虛擬網路]。
- 選取 建立。
- 在 [訂閱] 的部分,選取您的訂閱。
- 在 [資源群組] 中,選取 FW-Hybrid-Test。
- 在 [名稱] 中,輸入 VNet-Spoke。
- 在 [區域] 中,選取 [美國東部]。
- 選取 [下一步]。
- 在 [安全性] 頁面上,選取 [下一步]。
- 選取 [下一步:IP 位址]。
- 針對 [IPv4 位址空間],輸入 10.6.0.0/16。
- 在 [子網路] 下,選取 [預設]。
- 將 [名稱] 變更為 SN-Workload。
- 針對 [起始位址],輸入 10.6.0.0/24。
- 接受其他預設設定,然後選取 [儲存]。
- 選取 [檢閱 + 建立]。
- 選取 建立。
建立內部部署虛擬網路
從 Azure 入口網站首頁,選取 [建立資源]。
搜尋 [虛擬網路],然後選取 [虛擬網路]。
選取 建立。
在 [訂閱] 的部分,選取您的訂閱。
在 [資源群組] 中,選取 FW-Hybrid-Test。
針對 [虛擬網路名稱],輸入 VNet-OnPrem。
在 [區域] 中,選取 [美國東部]。
選取 [下一步]。
在 [安全性] 頁面上,選取 [下一步]。
針對 [IPv4 位址空間],輸入 192.168.0.0/16。
在 [子網路] 下,選取 [預設]。
將 [名稱] 變更為 SN-Corp。
針對 [起始位址],輸入 192.168.1.0/24。
接受其他預設設定,然後選取 [儲存]。
選取 [新增子網路]。
針對 [子網路用途],選取 [虛擬網路閘道]。
針對 [起始位址],輸入 192.168.2.0/27。
選取 [新增]。
選取 [檢閱 + 建立]。
選取 建立。
設定及部署防火牆
當安全性原則與中樞相關聯時,我們即稱之為中樞虛擬網路。
將 [VNet 中樞] 虛擬網路轉換為 [中樞虛擬網路],並使用 Azure 防火牆加以保護。
在 Azure 入口網站搜尋列中,輸入 [防火牆管理員],然後按 Enter。
在右窗格中,選取 [概觀]。
在 Azure 防火牆管理員頁面的 [增加虛擬網路的安全性] 之下,選取 [檢視中樞虛擬網路]。
在 [虛擬網路] 底下,選取 [VNet 中樞] 的核取方塊。
選取 [管理安全性],然後選取 [部署具有防火牆原則的防火牆]。
在 [轉換虛擬網路] 頁面上的 [Azure 防火牆層] 底下選取 [進階。 在 [防火牆原則] 下,選取 Pol-Net01 的核取方塊。
選取 [下一步:檢閱 + 確認]
檢閱詳細資料,然後選取 [確認]。
部署需要幾分鐘的時間。
部署完成之後,請前往 FW-Hybrid-Test 資源群組,然後選取防火牆。
請注意 [概觀] 頁面上的 [防火牆私人 IP] 位址。 稍後當您建立預設路由時會使用到它。
建立及連線 VPN 閘道
中樞和內部部署虛擬網路都是透過 VPN 閘道連線。
建立中樞虛擬網路的 VPN 閘道
現在建立中樞虛擬網路的 VPN 閘道。 網路對網路組態需要 RouteBased VpnType。 建立 VPN 閘道通常可能需要 45 分鐘或更久,視選取的 VPN 閘道 SKU 而定。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入輸入虛擬網路閘道,然後按 Enter。
- 選取 [虛擬網路閘道],然後選取 [建立]。
- 在 [名稱] 中,輸入 GW-hub。
- 針對 [區域],選取 [(美國) 美國東部]。
- 在 [閘道類型] 中,選取 [VPN]。
- 針對 [SKU],選取 [VpnGw2]。
- 針對 [世代],選取 [第 2 代]。
- 在 [虛擬網路] 中,選取 [VNet-hub]。
- 在 [公用 IP 位址] 中,選取 [新建],然後輸入 VNet-hub-GW-pip 作為名稱。
- 針對 [啟用主動-主動模式],選取 [停用]。
- 接受其餘的預設值,然後選取 [檢閱 + 建立]。
- 檢閱設定,然後選取 [建立]。
建立虛擬網路的 VPN 內部部署閘道
現在建立虛擬網路的 VPN 內部部署閘道。 網路對網路組態需要 RouteBased VpnType。 建立 VPN 閘道通常可能需要 45 分鐘或更久,視選取的 VPN 閘道 SKU 而定。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入輸入虛擬網路閘道,然後按 Enter。
- 選取 [虛擬網路閘道],然後選取 [建立]。
- 在 [名稱] 中,輸入 GW-Onprem。
- 針對 [區域],選取 [(美國) 美國東部]。
- 在 [閘道類型] 中,選取 [VPN]。
- 針對 [SKU],選取 [VpnGw2]。
- 針對 [世代],選取 [第 2 代]。
- 在 [虛擬網路] 中,選取 [VNet-Onprem]。
- 在 [公用 IP 位址] 中,選取 [新建],然後輸入 VNet-Onprem-GW-pip 作為名稱。
- 針對 [啟用主動-主動模式],選取 [停用]。
- 接受其餘的預設值,然後選取 [檢閱 + 建立]。
- 檢閱設定,然後選取 [建立]。
建立 VPN 連線
您現在可以建立中樞與內部部署閘道之間的 VPN 連線。
在此步驟中,您會建立從中樞虛擬網路到內部部署虛擬網路的連線。 範例中會參考共用金鑰。 您可以使用自己的值,作為共用金鑰。 但請務必確認該共用金鑰必須適用於這兩個連線。 建立新的連線需要一些時間。
- 開啟 FW-Hybrid-Test 資源群組,然後選取 GW-hub 閘道。
- 在左側資料行的 [設定] 底下,選取 [連線]。
- 選取 [新增]。
- 針對連線名稱,輸入 Hub-to-Onprem。
- 選取 [VNet 對 VNet] 作為 [連線類型]。
- 選取 [下一步:設定]。
- 針對 [第一個虛擬網路閘道],選取 [GW-hub]。
- 在 [第二個虛擬網路閘道] 中,選取 [GW-Onprem]。
- 在 [共用金鑰 (PSK)] 中,輸入 AzureA1b2C3。
- 選取 [檢閱 + 建立]。
- 選取 建立。
建立內部部署對中樞虛擬網路連線。 此步驟類似前一個步驟,只不過您是建立 VNet-Onprem 到 VNet-hub 的連線。 請確認共用的金鑰相符。 稍候幾分鐘就會建立連線。
- 開啟 FW-Hybrid-Test 資源群組,然後選取 GW-Onprem 閘道。
- 選取左欄中的 [連線]。
- 選取 [新增]。
- 針對連線名稱,輸入 Onprem-to-Hub。
- 選取 [VNet 對 VNet] 作為 [連線類型]。
- 選取 [下一步:設定]。
- 針對 [第一個虛擬網路閘道],選取 [GW-Onprem]。
- 在 [第二個虛擬網路閘道] 中,選取 [GW-hub]。
- 在 [共用金鑰 (PSK)] 中,輸入 AzureA1b2C3。
- 選取 [確定]。
驗證連線
部署第二個網路連線大約五分鐘後,這兩個連線的狀態應為 [已連線]。
對等互連中樞與輪輻虛擬網路
現在對等互連中樞與輪輻虛擬網路。
開啟 FW-Hybrid-Test 資源群組,然後選取 VNet-hub 虛擬網路。
在左欄中選取 [對等互連]。
選取 [新增]。
在 [遠端虛擬網路摘要] 下:
設定名稱 值 對等互連連結名稱 SpoketoHub 虛擬網路部署模型 Resource Manager 訂用帳戶 <訂用帳戶> 虛擬網路 VNet-Spoke 允許 VNet-Spoke' 存取 'VNet-hub' 已選取 允許 'VNet-Spoke' 接收來自 'VNet-Hub' 的轉送流量 已選取 允許 'VNet-Spoke' 中的閘道或路由伺服器將流量轉送至 'VNet-Hub' 未選取 啟用 'VNet-Spoke' 以使用 'VNet-hub' 的遠端閘道或路由伺服器 已選取 在 [區域虛擬網路摘要] 下:
設定名稱 值 對等互連連結名稱 HubtoSpoke 允許 'VNet-hub' 存取 'VNet-Spoke' 已選取 允許 'VNet-hub' 接收來自 'VNet-Spoke' 的轉送流量 已選取 允許 'VNet-Hub' 中的閘道或路由伺服器將流量轉送至 'VNet-Spoke' 已選取 啟用 'VNet-hub' 以使用 'VNet-Spoke' 的遠端閘道或路由伺服器 未選取 選取 [新增]。
建立路由
接下來,建立幾個路由:
- 透過防火牆 IP 位址,從中樞閘道子網路到輪輻子網路的路由
- 透過防火牆 IP 位址,從輪輻子網路開始的預設路由
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入路由表,然後按 Enter。
- 選取 [路由表]。
- 選取 建立。
- 選取 FW-Hybrid-Test作為資源群組。
- 在 [區域] 中,選取 [美國東部]。
- 在 [名稱] 中,輸入 UDR-Hub-Spoke。
- 選取 [檢閱 + 建立] 。
- 選取 建立。
- 建立路由表之後,請將其選取,以開啟 [路由表] 頁面。
- 選取左欄中的 [路由]。
- 選取 [新增]。
- 在 [路由名稱] 中,輸入 ToSpoke。
- 針對 [目的地類型],選取 [IP 位址]。
- 針對 [目的地 IP 位址/CIDR 範圍] ,輸入 10.6.0.0/16。
- 在 [下一個躍點類型] 中,選取 [虛擬設備]。
- 在 [下一個躍點位址] 中,輸入您先前記下的防火牆私人 IP 位址。
- 選取 [新增]。
現在將路由與子網建立關聯。
- 在 [UDR-Hub-Spoke - Routes] 頁面上,選取 [子網路]。
- 選取 [+ 建立關聯]。
- 在 [虛擬網路] 之下,選取 [VNet-hub]。
- 在 [子網路] 之下,選取 [GatewaySubnet]。
- 選取 [確定]。
現在,從輪輻子網路中建立預設路由。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入路由表,然後按 Enter。
- 選取 [路由表]。
- 選取 建立。
- 選取 FW-Hybrid-Test作為資源群組。
- 在 [區域] 中,選取 [美國東部]。
- 在 [名稱] 中,輸入 UDR-DG。
- 針對 [傳播閘道路由],選取 [否]。
- 選取 [檢閱 + 建立]。
- 選取 建立。
- 建立路由表之後,請將其選取,以開啟 [路由表] 頁面。
- 選取左欄中的 [路由]。
- 選取 [新增]。
- 針對路由名稱,輸入 ToHub。
- 針對 [目的地類型],選取 [IP 位址]
- 在 [目的地 IP 位址/CIDR 範圍] 中,輸入 [0.0.0.0/0] 。
- 在 [下一個躍點類型] 中,選取 [虛擬設備]。
- 在 [下一個躍點位址] 中,輸入您先前記下的防火牆私人 IP 位址。
- 選取 [新增]。
現在將路由與子網建立關聯。
- 在 [UDR-DG - Routes] 頁面上,選取 [子網路]。
- 選取 [+ 建立關聯]。
- 在 [虛擬網路] 之下,選取 [VNet-spoke]。
- 在 [子網路] 之下,選取 [SN-Workload]。
- 選取 [確定]。
建立虛擬機器
現在建立輪輻工作負載和內部部署虛擬機器,並將它們放在適當的子網路中。
建立工作負載虛擬機器
在輪輻虛擬網路中建立虛擬機器,該虛擬機器會執行 IIS、沒有公用 IP 位址。
從 Azure 入口網站首頁,選取 [建立資源]。
在 [熱門 Marketplace 產品] 底下,選取 [Windows Server 2019 Datacenter]。
依虛擬機器輸入這些值:
- 資源群組 - 選取 FW-Hybrid-Test
- 虛擬機器名稱:VM-Spoke-01
- 區域 - (美國) 美國東部
- 使用者名稱:輸入使用者名稱
- 密碼:輸入密碼
在 [公用輸入連接埠] 中選取 [允許選取的連接埠],然後選取 [HTTP (80)] 和 [RDP (3389)]
選取 [下一步:磁碟]。
接受預設值,然後選取 [下一步: 網路]。
選取 [VNet-Spoke] 作為虛擬網路,而子網路為 SN-Workload。
選取 [下一步:管理]。
選取 [下一步:監視]。
針對 [開機診斷],選取 [停用]。
選取 [檢閱 + 建立],檢閱 [摘要] 頁面上的設定,然後選取 [建立]。
安裝 IIS
從 Azure 入口網站中開啟 Cloud Shell,並確定其已設定為 PowerShell。
執行下列命令以在虛擬機器上安裝 IIS 並且視需要變更位置:
Set-AzVMExtension ` -ResourceGroupName FW-Hybrid-Test ` -ExtensionName IIS ` -VMName VM-Spoke-01 ` -Publisher Microsoft.Compute ` -ExtensionType CustomScriptExtension ` -TypeHandlerVersion 1.4 ` -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' ` -Location EastUS
建立內部部署虛擬機器
這是一部虛擬機器,您可使用遠端桌面連線到公用 IP 位址。 從該處,您可透過防火牆接著連線到內部部署伺服器。
從 Azure 入口網站首頁,選取 [建立資源]。
在 [熱門] 底下,選取 [Windows Server 2019 Datacenter] 。
依虛擬機器輸入這些值:
- 資源群組 - 選取現有的資源群組,然後選取 [FW-Hybrid-Test]
- 虛擬機器名稱 - VM-Onprem
- 區域 - (美國) 美國東部
- 使用者名稱:輸入使用者名稱
- 密碼:輸入您的密碼
在 [公用輸入連接埠] 中選取 [允許選取的連接埠],然後選取 [RDP (3389)]
選取 [下一步:磁碟]。
接受預設值,然後選取 [下一步:網路]。
選取 [VNet-Onprem] 作為虛擬網路,並確認子網路為 [SN-Corp]。
選取 [下一步:管理]。
選取 [下一步:監視]。
針對 [開機診斷],選取 [停用]。
選取 [檢閱 + 建立],檢閱 [摘要] 頁面上的設定,然後選取 [建立]。
測試防火牆
首先,記下 [VM-Spoke-01 概觀] 頁面上 VM-spoke-01 虛擬機器的私人 IP 位址。
從 Azure 入口網站,連線到 VM-Onprem 虛擬機器。
在 VM-Onprem 上開啟網頁瀏覽器,並瀏覽至 http://<VM-spoke-01 private IP>。
您應該會看到 VM-spoke-01 網頁:
從 VM-Onprem 虛擬機器中,針對位於私人 IP 位址的 VM-spoke-01 開啟遠端桌面。
您的連線應會成功,而且應該能夠登入。
現在您已驗證防火牆規則正在運作:
- 您可以瀏覽輪輻虛擬網路上的網頁伺服器。
- 您可以使用 RDP 連線到輪輻虛擬網路上的伺服器。
接下來,將防火牆網路規則集合動作變更為 [拒絕],確認防火牆規則會如預期般運作。
- 開啟 FW-Hybrid-Test 資源群組,然後選取 [Pol-Net01] 防火牆原則。
- 在 [設定] 底下,選取 [規則集合]。
- 選取 RCNet01 規則集合。
- 針對 [規則集合動作],選取 [拒絕]。
- 選取 [儲存]。
在測試已變更的規則之前,請關閉 VM-Onprem 上任何現有的遠端桌面和瀏覽器。 完成規則集合更新之後,請再次執行測試。 這次所有連線應該都會失敗。
清除資源
您可以保留防火牆資源以供未來調查,若不再需要,則可刪除 FW-Hybrid-Test 資源群組以刪除所有防火牆相關資源。