使用 Azure 入口網站部署及設定 Azure 防火牆
控制輸出網路存取是整體網路安全性計畫的重要部分。 例如,您可以限制對網站的存取。 或者,限制可存取的輸出 IP 位址和連接埠。
您可從 Azure 子網路控制輸出網路存取的方式之一是使用 Azure 防火牆。 您可以使用 Azure 防火牆來設定:
- 會定義可從子網路存取的完整網域名稱 (FQDN) 的應用程式規則。
- 網路規則,用以定義來源位址、通訊協定、目的地連接埠和目的地位址。
當您將網路流量路由傳送至防火牆作為子網路預設閘道時,網路流量會受限於已設定的防火牆規則。
在本文中,您會建立具有兩個子網路的簡易單一虛擬網路,以便進行簡單部署。
對於生產環境部署,建議您使用中樞和支點模型,其中防火牆會位於自己的虛擬網路中。 工作負載伺服器位於相同區域中的對等互連虛擬網路,其中包含一個或多個子網路。
- AzureFirewallSubnet - 防火牆位於此子網路。
- Workload-SN - 工作負載伺服器位於此子網路。 此子網路的網路流量會通過防火牆。
在本文中,您將學會如何:
- 設定測試網路環境
- 部署防火牆
- 建立預設路由
- 設定允許存取 www.google.com 的應用程式規則
- 設定允許存取外部 DNS 伺服器的網路規則
- 設定 NAT 規則以允許遠端桌面連線至測試伺服器
- 測試防火牆
注意
本文使用傳統防火牆規則來管理防火牆。 慣用方法為使用防火牆原則。 若要使用防火牆原則完成此程序,請參閱教學課程:使用 Azure 入口網站部署和設定 Azure 防火牆和原則
如果您想要的話,可以使用 Azure PowerShell 完成本程序。
必要條件
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
設定網路
首先,請建立資源群組,以包含部署防火牆所需的資源。 然後建立虛擬網路、子網路和測試伺服器。
建立資源群組
該資源群組包含此程序中使用的所有資源。
- 登入 Azure 入口網站。
- 在 Azure 入口網站功能表上,選取 [資源群組],或從任何頁面搜尋並選取 [資源群組]。 然後選取建立。
- 在 [訂閱] 的部分,選取您的訂閱。
- 在 [資源群組名稱] 中,鍵入 Test-FW-RG。
- 針對 [區域],選取區域。 您建立的所有其他資源都必須位於相同區域。
- 選取 [檢閱 + 建立]。
- 選取 建立。
建立虛擬網路
此虛擬網路有兩個子網路。
注意
AzureFirewallSubnet 子網路的大小是 /26。 如需有關子網路大小的詳細資訊,請參閱 Azure 防火牆的常見問題集。
- 在 Azure 入口網站功能表上,或從 [首頁] 頁面搜尋虛擬網路。
- 在結果窗格中選取 [虛擬網路]。
- 選取 建立。
- 在 [訂閱] 的部分,選取您的訂閱。
- 在 [資源群組] 中,選取 [Test-FW-RG]。
- 針對 [虛擬網路名稱],輸入 Test-FW-VN。
- 在 [區域] 中,選取您先前使用的相同區域。
- 選取 [下一步]。
- 在 [安全性] 索引標籤上,選取 [啟用 Azure 防火牆]。
- 針對 [Azure 防火牆名稱],輸入 Test-FW01。
- 針對 [Azure 防火牆公用 IP 位址],選取 [建立公用 IP 位址]。
- 針對[名稱],輸入 fw-pip,然後選取 [確定]。
- 選取 [下一步]。
- 針對 [位址空間],請接受預設的 10.0.0.0/16。
- 在 [子網路] 底下,選取 [預設值],並將 [名稱] 變更為 Workload-SN。
- 針對 [起始位址],將它變更為 10.0.2.0/24。
- 選取 [儲存]。
- 選取 [檢閱 + 建立]。
- 選取 建立。
注意
Azure 防火牆會視需要根據可用的連接埠使用公用 IP。 隨機選取一個公用 IP 來進行輸出連線後,防火牆會等到無法再從目前的公用 IP 進行連線時,才會使用下一個可用的公用 IP。 在具有高流量和高輸送量的案例中,建議使用 NAT 閘道來提供輸出連線。 SNAT 連接埠會動態配置給與 NAT 閘道相關聯的所有公用 IP。 若要深入了解,請參閱整合 NAT 閘道與 Azure 防火牆。
建立虛擬機器
現在,建立工作負載虛擬機器並放在 Workload-SN 子網路中。
從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。
選取 [Windows Server 2019 Datacenter]。
依虛擬機器輸入這些值:
設定 值 資源群組 Test-FW-RG 虛擬機器名稱 Srv-Work 區域 同前 映像 Windows Server 2019 Datacenter 系統管理員使用者名稱 輸入使用者名稱 密碼 輸入密碼 在 [輸入連接埠規則] 下,針對 [公用輸入連接埠] 選取 [無]。
接受其他預設值,然後選取 [下一步:磁碟]。
接受磁碟預設值,然後選取 [下一步:網路]。
確定您已選取 [Test-FW-VN] 作為虛擬網路,而且子網路是 [Workload-SN]。
在 [公用 IP] 中,選取 [無]。
接受其他預設值,然後選取 [下一步: 管理]。
接受預設值,然後選取 [下一步: 監視]。
針對 [開機診斷],選取 [停用] 以停用開機診斷。 接受其他預設值,然後選取 [檢閱 + 建立]。
檢閱摘要頁面上的設定,然後選取 [建立]。
部署完成後,選取 [前往資源],並記下您稍後需要使用的 Srv-Work 私人 IP 位址。
注意
無論是未獲指派公用 IP 位址的 VM,或位於內部基本 Azure 負載平衡器後端集區的 VM,Azure 都會為其提供預設輸出存取 IP。 預設輸出存取 IP 機制能提供無法自行設定的輸出 IP 位址。
發生下列其中一個事件時,會停用預設輸出存取 IP:
- 公用 IP 位址會指派給 VM。
- 無論有沒有輸出規則,都會將 VM 放在標準負載平衡器的後端集區中。
- Azure NAT 閘道資源會指派給 VM 的子網路。
您在彈性協調流程模式中使用虛擬機器擴展集建立的 VM 沒有預設輸出存取。
如需 Azure 中輸出連線的詳細資訊,請參閱 Azure 中的預設對外存取與針對輸出連線使用來源網路位址轉譯 (SNAT)。
檢查防火牆
- 移至資源群組,並選取防火牆。
- 請注意防火牆的私人和公用 IP 位址。 您稍後將會用到這些位址。
建立預設路由
建立通過防火牆輸出和輸入連線的路由時,虛擬裝置私人 IP 的預設路由 0.0.0.0/0 可作為下一個躍點。 這會透過防火牆引導任何傳出和傳入的連線。 例如:若防火牆正在完成 TCP 交握並回應傳入的要求,便會將回應導向傳送流量的 IP 位址。 這是原廠設定。
因此,不需要建立另一個使用者定義的路由來包含 AzureFirewallSubnet IP 範圍。 這可能會導致捨棄連線。 原始的預設路由已足夠。
在 Workload-SN 子網路中,設定通過防火牆的輸出預設路由。
- 在 Azure 入口網站上,搜尋路由表。
- 在結果窗格中選取 [路由表]。
- 選取 建立。
- 在 [訂閱] 的部分,選取您的訂閱。
- 在 [資源群組] 中,選取 [Test-FW-RG]。
- 針對 [區域],選取您先前使用的相同位置。
- 在 [名稱] 中,鍵入 Firewall-route。
- 選取 [檢閱 + 建立]。
- 選取 建立。
完成部署後,選取 [移至資源]。
在 [防火牆路由] 頁面上,選取 [子網路],然後選取 [關聯]。
針對 [虛擬網路],選取 Test-FW-VN。
在 [子網路] 中,選取 [Workload-SN]。 請確定您只為此路由選取 Workload-SN 子網路,否則防火牆將無法正常運作。
選取 [確定]。
選取 [路由],然後選取 [確定]。
在 [路由名稱] 中,鍵入 fw-dg。
針對 [目的地類型],選取 [IP 位址]。
在 [目的地 IP 位址/CIDR 範圍] 中,輸入 [0.0.0.0/0] 。
在 [下一個躍點類型] 中,選取 [虛擬設備]。
Azure 防火牆實際上是受管理的服務,但虛擬設備可在此情況下運作。
在 [下一個躍點位址] 中,鍵入您先前記下的防火牆私人 IP 位址。
選取 [新增]。
設定應用程式規則
此應用程式規則允許對 www.google.com
進行輸出存取。
- 開啟 Test-FW-RG,然後選取 Test-FW01 防火牆。
- 在 [Test-FW01] 頁面的 [設定] 下,選取 [規則 (傳統)]。
- 選取 [應用程式規則集合] 索引標籤。
- 選取 [新增應用程式規則集合]。
- 在 [名稱] 中,鍵入 App-Coll01。
- 在 [優先順序] 中,鍵入 200。
- 在 [動作] 中,選取 [允許]。
- 在 [規則]、[目標 FQDN] 底下,針對 [名稱] 輸入 Allow-Google。
- 針對 [來源類型],選取 [IP 位址]。
- 針對 [來源],輸入 10.0.2.0/24。
- 在 [通訊協定:連接埠] 中,鍵入 http、https。
- 針對 [目標 FQDN],輸入
www.google.com
- 選取 [新增]。
Azure 防火牆包含一組內建規則集合,適用於預設為允許的基礎結構 FQDN。 這些 FQDN 為平台所特有,無法用於其他用途。 如需詳細資訊,請參閱基礎結構 FQDN。
設定網路規則
此網路規則允許透過連接埠 53,對兩個 IP 位址進行輸出存取 (DNS)。
選取 [網路規則集合] 索引標籤。
選取 [新增網路規則集合]。
在 [名稱] 中,鍵入 Net-Coll01。
在 [優先順序] 中,鍵入 200。
在 [動作] 中,選取 [允許]。
在 [規則]、[IP 位址] 底下,針對 [名稱] 輸入 Allow-DNS。
在 [通訊協定] 中,選取 [UDP]。
針對 [來源類型],選取 [IP 位址]。
針對 [來源],輸入 10.0.2.0/24。
針對 [目的地類型],選取 [IP 位址]。
針對 [目的地位址],輸入 209.244.0.3,209.244.0.4
這些是由 Level3 運作的公用 DNS 伺服器。
在 [目的地連接埠] 中,鍵入 53。
選取 [新增]。
設定 DNAT 規則
此規則可讓您透過防火牆將遠端桌面連線至 Srv-Work 虛擬機器。
- 選取 [NAT 規則集合] 索引標籤。
- 選取 [新增 NAT 規則集合]。
- 針對 [名稱] 輸入 rdp。
- 在 [優先順序] 中,鍵入 200。
- 在 [規則] 下的 [名稱] 中,輸入 rdp-nat。
- 在 [通訊協定] 中,選取 [TCP]。
- 針對 [來源類型],選取 [IP 位址]。
- 針對 [來源],輸入 *。
- 在 [目的地位址] 中,輸入防火牆的公用 IP 位址。
- 在 [目的地連接埠] 中,輸入 3389。
- 針對 [轉譯的位址] 中,輸入 Srv-work 私人 IP 位址。
- 在 [轉譯的連接埠] 中,輸入 3389。
- 選取 [新增]。
變更 Srv-Work 網路介面的主要和次要 DNS 位址
基於測試目的,設定伺服器的主要和次要 DNS 位址。 這不是一般的 Azure 防火牆需求。
- 在 Azure 入口網站功能表上,選取 [資源群組],或從任何頁面搜尋並選取 [資源群組]。 選取 Test-FW-RG 資源群組。
- 選取 Srv-Work 虛擬機器的網路介面。
- 選取 [設定] 底下的 [DNS 伺服器]。
- 選取 [DNS 伺服器] 底下的 [自訂]。
- 在 [新增 DNS 伺服器] 文字輸入框中,輸入 209.244.0.3 然後按 Enter,並在下一個文字輸入框中輸入 209.244.0.4。
- 選取 [儲存]。
- 重新啟動 Srv-Work 虛擬機器。
測試防火牆
現在請測試防火牆,以確認其運作符合預期。
將遠端桌面連線至防火牆公用 IP 位址,並登入 Srv-Work 虛擬機器。
開啟 Internet Explorer 並瀏覽至
https://www.google.com
。在 Internet Explorer 安全性警示上,選取 [確認]>[關閉]。
您應該會看到 Google 首頁。
瀏覽至
https://www.microsoft.com
。防火牆應該會封鎖您。
現在您已驗證防火牆規則正在運作:
- 您可使用 RDP 連線到虛擬機器。
- 您可以瀏覽至允許 FQDN 的防火牆規則,但不可瀏覽至任何其他的防火牆規則。
- 您可以使用設定的外部 DNS 伺服器來解析 DNS 名稱。
清除資源
您可保留防火牆資源以便繼續測試。若不再需要,則可刪除 Test-FW-RG 資源群組,以刪除所有防火牆相關資源。