使用 Azure 入口網站部署和設定 Azure 防火牆

控制輸出網路存取是整體網路安全性計畫的重要部分。 例如,您可以限制對網站的存取。 或者,限制可存取的輸出 IP 位址和連接埠。

要控制從 Azure 子網路的輸出網路存取,使用 Azure 防火牆是可行的方式之一。 透過 Azure 防火牆,您可以設定:

  • 應用程式規則,用以定義可從子網路存取的完整網域名稱 (FQDN)。
  • 網路規則,用以定義來源位址、通訊協定、目的地連接埠和目的地位址。

當您將網路流量路由傳送到防火牆作為子網路預設閘道時,網路流量必須遵守設定的防火牆規則。

在本文中,您會建立具有兩個子網的簡化單一 VNet,以方便部署。

對於生產環境部署,建議您使用中樞和支點模型,其中防火牆會位於自己的 VNet 中。 工作負載伺服器位於相同區域中的對等互連 VNet,其中包含一個或多個子網路。

  • AzureFirewallSubnet - 防火牆位於此子網路。
  • Workload-SN - 工作負載伺服器位於此子網路。 此子網路的網路流量會通過防火牆。

網路基礎結構

在本文中,您將學會如何:

  • 設定測試網路環境
  • 部署防火牆
  • 建立預設路由
  • 設定允許存取 www.google.com 的應用程式規則
  • 設定允許存取外部 DNS 伺服器的網路規則
  • 設定 NAT 規則以允許遠端桌面連線至測試伺服器
  • 測試防火牆

注意

本文使用傳統防火牆規則來管理防火牆。 慣用的方法是使用 防火牆原則。 若要使用防火牆原則完成此程式,請參閱 教學課程:使用 Azure 入口網站部署和設定 Azure 防火牆和原則

如果您想要的話,可以使用 Azure PowerShell 完成本程序。

必要條件

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

設定網路

首先,請建立資源群組,以包含部署防火牆所需的資源。 接著建立 VNet、子網路,和測試伺服器。

建立資源群組

資源群組包含此程式中使用的所有資源。

  1. 登入 Azure 入口網站:https://portal.azure.com
  2. 在 Azure 入口網站功能表上,選取 [資源群組],或從任何頁面搜尋並選取 [資源群組]。 然後選取 [新增]。
  3. 在 [訂用帳戶] 中,選取您的訂用帳戶。
  4. 在 [資源群組名稱] 中,輸入 Test-FW-RG
  5. 在 [資源群組位置] 中,選取位置。 您建立的所有其他資源都必須位於相同的位置。
  6. 選取 [檢閱 + 建立]。
  7. 選取 [建立]。

建立 VNet

此 VNet 會有三個子網。

注意

AzureFirewallSubnet 子網路的大小是 /26。 如需有關子網路大小的詳細資訊,請參閱 Azure 防火牆的常見問題集

  1. 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。

  2. 選取 [網路] > [虛擬網路]。

  3. 選取 [建立] 。

  4. 在 [訂用帳戶] 中,選取您的訂用帳戶。

  5. 在 [資源群組] 中,選取 [Test-FW-RG]。

  6. 在 [名稱] 中,鍵入 Test-FW-VN

  7. 針對 [區域],選取您先前使用的相同位置。

  8. 完成時,選取 下一步:IP 位址

  9. 針對 [IPv4 位址空間],輸入 10.0.0.0/16

  10. 在 [子網路] 下,選取 [預設]。

  11. 針對 [子網路名稱],輸入 AzureFirewallSubnet。 防火牆會在此子網路中,且子網路名稱 必須 是 AzureFirewallSubnet。

  12. 在 [位址範圍] 中,輸入 10.0.1.0/26

  13. 選取 [儲存]。

    接下來,建立工作負載伺服器的子網路。

  14. 選取 [新增子網路]。

  15. 在 [子網路名稱] 中,輸入 Workload-SN

  16. 針對 [子網路位址範圍],輸入 10.0.2.0/24

  17. 選取 [新增]。

  18. 選取 [檢閱 + 建立] 。

  19. 選取 [建立] 。

建立虛擬機器

現在,建立工作負載虛擬機器並放在 Workload-SN 子網路中。

  1. 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。

  2. 選取 [ Windows Server 2016 Datacenter]。

  3. 依虛擬機器輸入這些值:

    設定
    資源群組 Test-FW-RG
    虛擬機器名稱 Srv-Work
    區域 同前
    映像 Windows Server 2016 Datacenter
    系統管理員使用者名稱 輸入使用者名稱
    密碼 輸入密碼
  4. 在 [輸入連接埠規則] 下,針對 [公用輸入連接埠] 選取 [無]。

  5. 接受其他預設值,然後選取 [下一步:磁碟]。

  6. 接受磁碟預設值,然後選取 [下一步:網路]。

  7. 確定您已選取 [Test-FW-VN] 作為虛擬網路,而且子網路是 [Workload-SN]。

  8. 在 [公用 IP] 中,選取 [無]。

  9. 接受其他預設值,然後選取 [下一步:管理]。

  10. 選取 [ 用] 以停用開機診斷。 接受其他預設值,然後選取 [檢閱 + 建立]。

  11. 檢閱摘要頁面上的設定,然後選取 [建立]。

注意

Azure 會針對未獲指派公用 IP 位址的 Azure 虛擬機器提供預設輸出存取 IP,或在內部基本 Azure Load Balancer 的後端集區中提供預設輸出存取 IP。 預設輸出存取 IP 機制提供無法設定的輸出 IP 位址。

如需預設輸出存取的詳細資訊,請參閱 Azure 中的預設輸出存取

將公用 IP 位址指派給虛擬機器,或將虛擬機器放置於 Standard Load Balancer 的後端集區(具有或不含輸出規則)時,會停用預設輸出存取 IP。 如果 Azure 虛擬網路 NAT 閘道資源已指派給虛擬機器的子網,則會停用預設的輸出存取 IP。

以彈性協調流程模式的虛擬機器擴展集所建立的虛擬機器,沒有預設的輸出存取。

如需有關 Azure 中輸出連線的詳細資訊,請參閱 使用來源網路位址轉譯 (SNAT) 進行輸出連線。

部署防火牆

將防火牆部署到 VNet 中。

  1. 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。

  2. 在搜尋方塊中輸入 firewall,然後按 Enter

  3. 選取 [防火牆],然後選取 [建立]。

  4. 在 [建立防火牆] 頁面上,使用下表來設定防火牆:

    設定
    訂用帳戶 <your subscription>
    資源群組 Test-FW-RG
    名稱 Test-FW01
    區域 選取您先前使用的相同位置
    防火牆管理 使用 (傳統) 的防火牆規則來管理此防火牆
    選擇虛擬網路 使用現有項目Test-FW-VN
    公用 IP 位址 新增
    名稱fw-pip
  5. 接受其他預設值,然後選取 [ 審核 + 建立]。

  6. 檢閱摘要,然後選取 [建立] 來建立防火牆。

    這需要幾分鐘才能部署。

  7. 部署完成之後,請前往 Test-FW-RG 資源群組,然後選取 Test-FW01 防火牆。

  8. 請注意防火牆的私人和公用 IP 位址。 您稍後將會用到這些位址資訊。

建立預設路由

Workload-SN 子網路中,設定通過防火牆的輸出預設路由。

  1. 在 Azure 入口網站功能表上,選取 [所有服務],或從任何頁面搜尋並選取 [所有服務]。
  2. 在 [網路] 底下,選取 [路由表]。
  3. 選取 [新增]。
  4. 在 [訂用帳戶] 中,選取您的訂用帳戶。
  5. 在 [資源群組] 中,選取 [Test-FW-RG]。
  6. 針對 [區域],選取您先前使用的相同位置。
  7. 在 [名稱] 中,鍵入 Firewall-route
  8. 選取 [檢閱 + 建立]。
  9. 選取 [建立] 。

部署完成後,請選取 [ 移至資源]。

  1. 在 [防火牆-路由] 頁面上,選取 [ 子網 ],然後選取 [ 關聯]。

  2. 選取 [虛擬網路] > [Test-FW-VN]。

  3. 在 [子網路] 中,選取 [Workload-SN]。 請確定您只為此路由選取 Workload-SN 子網路,否則防火牆將無法正常運作。

  4. 選取 [確定]。

  5. 選取 [路由],然後選取 [確定]。

  6. 在 [路由名稱] 中,鍵入 fw-dg

  7. 在 [位址首碼] 中,鍵入 0.0.0.0/0

  8. 在 [下一個躍點類型] 中,選取 [虛擬設備]。

    Azure 防火牆實際上是受控服務,但虛擬設備可在此情況下運作。

  9. 在 [下一個躍點位址] 中,鍵入您先前記下的防火牆私人 IP 位址。

  10. 選取 [確定]。

設定應用程式規則

此應用程式規則允許對 www.google.com 進行輸出存取。

  1. 開啟 Test-FW-RG,然後選取 Test-FW01 防火牆。
  2. 在 [ >test-fw01 ] 頁面的 [ 設定] 底下,選取 [ 傳統) (規則]。
  3. 選取 [應用程式規則集合] 索引標籤。
  4. 選取 [新增應用程式規則集合]。
  5. 在 [名稱] 中,鍵入 App-Coll01
  6. 在 [優先順序] 中,鍵入 200
  7. 在 [動作] 中,選取 [允許]。
  8. 在 [規則]、[目標 FQDN] 底下,針對 [名稱] 輸入 Allow-Google
  9. 針對 [來源類型],選取 [IP 位址]。
  10. 針對 [來源],輸入 10.0.2.0/24
  11. 在 [通訊協定:連接埠] 中,鍵入 http、https
  12. 在 [目標 FQDN] 中,輸入 www.google.com
  13. 選取 [新增]。

Azure 防火牆包含內建的規則集合,適用於依預設允許的基礎結構 FQDN。 這些 FQDN 是平台特定的,且無法用於其他用途。 如需詳細資訊,請參閱基礎結構 FQDN

設定網路規則

此網路規則允許透過連接埠 53,對兩個 IP 位址進行輸出存取 (DNS)。

  1. 選取 [網路規則集合] 索引標籤。

  2. 選取 [新增網路規則集合]。

  3. 在 [名稱] 中,鍵入 Net-Coll01

  4. 在 [優先順序] 中,鍵入 200

  5. 在 [動作] 中,選取 [允許]。

  6. 在 [規則]、[IP 位址] 底下,針對 [名稱] 輸入 Allow-DNS

  7. 在 [通訊協定] 中,選取 [UDP]。

  8. 針對 [來源類型],選取 [IP 位址]。

  9. 針對 [來源],輸入 10.0.2.0/24

  10. 針對 [目的地類型],選取 [IP 位址]。

  11. 針對 [目的地位址],輸入 209.244.0.3,209.244.0.4

    這些是由 CenturyLink 運作的公用 DNS 伺服器。

  12. 在 [目的地連接埠] 中,鍵入 53

  13. 選取 [新增]。

設定 DNAT 規則

此規則可讓您透過防火牆將遠端桌面連線至 Srv-Work 虛擬機器。

  1. 選取 [NAT 規則集合] 索引標籤。
  2. 選取 [新增 NAT 規則集合]。
  3. 針對 [名稱] 輸入 rdp
  4. 在 [優先順序] 中,鍵入 200
  5. 在 [規則] 下的 [名稱] 中,輸入 rdp-nat
  6. 在 [通訊協定] 中,選取 [TCP]。
  7. 針對 [來源類型],選取 [IP 位址]。
  8. 針對 [來源],輸入 *
  9. 在 [目的地位址] 中,輸入防火牆的公用 IP 位址。
  10. 在 [目的地連接埠] 中,輸入 3389
  11. 在 [轉譯的位址] 中,輸入 Srv-work 私人 IP 位址。
  12. 在 [轉譯的連接埠] 中,輸入 3389
  13. 選取 [新增]。

變更 Srv-Work 網路介面的主要和次要 DNS 位址

基於測試目的,請設定伺服器的主要和次要 DNS 位址。 這不是一般的 Azure 防火牆需求。

  1. 在 Azure 入口網站功能表上,選取 [資源群組],或從任何頁面搜尋並選取 [資源群組]。 選取 Test-FW-RG 資源群組。
  2. 選取 Srv-Work 虛擬機器的網路介面。
  3. 選取 [設定] 底下的 [DNS 伺服器]。
  4. 選取 [DNS 伺服器] 底下的 [自訂]。
  5. 在 [新增 DNS 伺服器] 文字方塊中,鍵入 209.244.0.3,然後在下一個文字方塊中鍵入 209.244.0.4
  6. 選取 [儲存]。
  7. 重新啟動 Srv-Work 虛擬機器。

測試防火牆

現在請測試防火牆,以確認其運作符合預期。

  1. 將遠端桌面連線至防火牆公用 IP 位址,並登入 Srv-Work 虛擬機器。

  2. 開啟 Internet Explorer 並瀏覽至 https://www.google.com

  3. 在 Internet Explorer 安全性警示上,選取 [確認] > [關閉]。

    您應該會看到 Google 首頁。

  4. 瀏覽至 https://www.microsoft.com

    您應該會遭到防火牆封鎖。

因此,現在您已確認防火牆規則正在運作:

  • 您可以瀏覽至允許 FQDN 的防火牆規則,但不可瀏覽至任何其他的防火牆規則。
  • 您可以使用設定的外部 DNS 伺服器來解析 DNS 名稱。

清除資源

您可以保留防火牆資源以繼續測試,或如果不再需要,請刪除 測試 FW-RG 資源群組來刪除所有防火牆相關資源。

後續步驟

教學課程:監視 Azure 防火牆記錄