保護目的地為 Azure Virtual WAN 中私人端點的流量

注意

本文僅適用於受保護的虛擬中樞。 如果您想要在中樞虛擬網路中使用Azure 防火牆來檢查目的地為私人端點的流量,請參閱使用Azure 防火牆來檢查目的地為私人端點的流量

Azure 私人端點Azure Private Link 的基本建置組塊。 私人端點可讓部署在虛擬網路中的 Azure 資源與私人連結資源私下通訊。

私人端點可讓資源存取部署在虛擬網路中的私人連結服務。 透過虛擬網路對等互連與內部部署網路連線來存取私人端點,可擴充連線能力。

您可能需要在內部部署或 Azure 中篩選來自用戶端的流量 (其目的地為透過 Virtual WAN 連線虛擬網路中私人端點公開的服務)。 本文將透過此工作,逐步引導您作為安全性提供者使用安全虛擬中樞搭配 Azure 防火牆

Azure 防火牆使用下列任何方法篩選流量:

由於 Azure 防火牆一律透過應用程式規則使用 SNAT 處理流量,因此應用程式規則優先於網路規則以檢查目的地為私人端點的流量。 由於下列所述現制,檢查目的地為私人端點的流量時建議使用 SNAT:什麼是私人端點?。 如果您規劃改為使用網路規則,建議將 Azure 防火牆設定為一律設定為執行 SNAT:Azure 防火牆 SNAT 私人 IP 位址範圍

Microsoft 將管理無法連結至私人 DNS 區域的安全虛擬中樞。 這是將私人連結資源 FQDN 解析為其對應私人端點 IP 位址的必要條件。

只有 Proxy 模式才支援 SQL FQDN 篩選 (連接埠 1433)。 相較於重新導向Proxy 模式可能會導致更多延遲。 若您想要繼續使用重新導向模式 (這是用戶端在 Azure 中連線時的預設值),可以在防火牆網路規則中使用 FQDN 來篩選存取。

在 Azure 防火牆中使用網路或應用程式規則篩選流量

下列步驟可讓 Azure 防火牆使用網路規則 (以 FQDN 或 IP 位址為基礎) 或應用程式規則篩選流量:

網路規則:

  1. 在連線到安全虛擬中樞的虛擬網路中部署 DNS 轉寄站虛擬機器,並連結到裝載私人端點 A 記錄類型的私人 DNS區域。

  2. 針對連線至安全虛擬中樞的虛擬網路,設定自訂 DNS 伺服器

    • 以 FQDN 為基礎的網路規則 - 設定自訂 DNS 設定以指向 DNS 轉寄站虛擬機器 IP 位址,並在與安全虛擬中樞內部署 Azure 防火牆相關聯的防火牆原則中啟用 DNS Proxy。 如果您要在網路規則中執行 FQDN 篩選,則需要啟用 DNS Proxy。
    • 以 IP 位址為基礎的網路規則 - 上一點所述的自訂 DNS 設定為選擇性。 您可設定自訂 DNS 伺服器以指向 DNS 轉寄站虛擬機器的私人 IP。
  3. 視步驟 2. 中選擇的設定而定,設定內部部署 DNS 伺服器以將私人端點公用 DNS 區域的 DNS 查詢轉送至 Azure 防火牆的私人 IP 位址或 DNS 轉寄站虛擬機器。

  4. 視需要在與 Azure 防火牆相關聯的防火牆原則中設定網路規則。 如果使用以 IP 為基礎的規則並將私人端點的 IP 位址設定為目的地,請選擇 [目的地類型] 為 [IP 位址]。 針對以 FQDN 為基礎的網路規則,請選擇 [目的地類型] 為 [FQDN] 並將私人連結資源公用 FQDN 設定為目的地

  5. 瀏覽至與安全虛擬中樞中部署 Azure 防火牆相關聯的安全性設定。 選取 [私人 IP 範圍 (SNAT)],然後選取 [一律執行 SNAT] 選項。

應用程式規則:

  1. 針對應用程式規則,上一節的步驟 1.3. 仍適用。 針對自訂 DNS 伺服器設定,您可選擇使用 Azure 防火牆作為 DNS Proxy,或直接指向 DNS 轉寄站虛擬機器。

  2. 視需要在與 Azure 防火牆相關聯的防火牆原則中設定應用程式規則。 選擇 [目的地類型] 為 [FQDN],並選擇私人連結資源公用 FQDN 作為 [目的地]

最後,不論 Azure 防火牆中設定的規則類型為何,請確保已在部署私人端點的子網路中啟用網路原則 (至少針對 UDR 支援)。 這可確保目的地為私人端點的流量不會略過 Azure 防火牆。

重要

依預設,RFC 1918 前置詞自動包含在 Azure 防火牆的私人流量前置詞中。 針對大部分私人端點,這足以確保來自內部部署的流量或連線至相同安全中樞不同虛擬網路的流量將由防火牆進行檢查。 如果目的地為私人端點的流量未記錄在防火牆中,請嘗試將每個私人端點的 /32 首碼新增至私人流量前置詞的清單。

如有需要,您可編輯透過安全虛擬中樞 Azure 防火牆檢查的 CIDR 前置詞,如下所示:

  1. 瀏覽至與安全虛擬中樞已部署 Azure 防火牆相關聯防火牆原則中的安全虛擬中樞,然後選取流量篩選目的地為私人端點的安全虛擬中樞。

  2. 瀏覽至 [安全性設定],選取 [私人流量] 下的 [透過Azure 防火牆傳送]

  3. 選取 [私人流量前置詞],以編輯透過安全虛擬中樞 Azure 防火牆檢查的 CIDR 前置詞,並為每個私人端點新增一個 /32 前置詞。

    Firewall Manager Security Configuration

若要檢查來自與私人端點相同虛擬網路中用戶端的流量,則不需要特別覆寫私人端點的 /32 路由。 只要私人端點子網路中已啟用網路原則,位址範圍較寬的 UDR 會優先使用。 例如,將下一個躍點類型的 UDR 設定為 [虛擬設備],將下一個躍點位址設定為 Azure 防火牆的 IP,然後將位址前置詞目的地設定為目的地為虛擬網路中所部署所有私人端點的子網路。 傳播閘道路由 必須設定為 [是]

下圖說明不同用戶端的 DNS 和資料流量流程,用以連線到部署在 Azure 虛擬 WAN 中的私人端點:

Traffic Flows

疑難排解

當您嘗試透過安全虛擬中樞篩選目的地為私人端點的流量時,可能遇到的主要問題如下:

  • 用戶端無法連線到私人端點。

  • 會略過 Azure 防火牆。 您可驗證此徵兆是否在 Azure 防火牆中沒有網路或應用程式規則記錄項目。

在大部情況下,下列其中一個問題會造成這些問題:

  • DNS 名稱解析不正確

  • 路由設定不正確

DNS 名稱解析不正確

  1. 確認虛擬網路 DNS 伺服器已設定為 [自訂],而 IP 位址是安全虛擬中樞中 Azure 防火牆的私人 IP 位址。

    Azure CLI:

    az network vnet show --name <VNET Name> --resource-group <Resource Group Name> --query "dhcpOptions.dnsServers"
    
  2. 藉由直接查詢設定為 DNS 轉寄站的虛擬機器,確認與 DNS 轉寄站虛擬機器位於相同虛擬網路中的用戶端,可以將私人端點公用 FQDN 解析為其對應的私人 IP 位址。

    Linux:

    dig @<DNS forwarder VM IP address> <Private endpoint public FQDN>
    
  3. 檢查 AzureFirewallDNSProxy Azure 防火牆記錄專案,並驗證其可以從用戶端接收和解析 DNS 查詢。

    AzureDiagnostics
    | where Category contains "DNS"
    | where msg_s contains "database.windows.net"
    
  4. 確認 DNS Proxy 已啟用,且指向 DNS 轉寄站虛擬機器 IP 位址的自訂 DNS 伺服器已在與安全虛擬中樞中 Azure 防火牆相關聯的防火牆原則中設定。

    Azure CLI:

    az network firewall policy show --name <Firewall Policy> --resource-group <Resource Group Name> --query dnsSettings
    

路由設定不正確

  1. 確認防火牆原則中與安全虛擬中樞中部署 Azure 防火牆相關聯的安全性設定。 請確定在 [私人流量] 資料行底下,會針對您要篩選流量的所有虛擬網路和分支連線,顯示為 [受 Azure 防火牆保護]

    Private Traffic Secured by Azure Firewall

  2. 確認防火牆原則中與安全虛擬中樞中部署 Azure 防火牆相關聯的安全性設定。 如果目的地為私人端點的流量未記錄在防火牆中,請嘗試將每個私人端點的 /32 首碼新增至私人流量前置詞的清單。

    Firewall Manager Security Configuration - Private Traffic Prefixes

  3. 在虛擬 WAN 下的安全虛擬中樞中,檢查與虛擬網路相關路由表的有效路由,以及您想要篩選流量的分支連線。 如果已針對您要檢查流量的每個私人端點新增 /32 項目,請確保有效路由中列出這些項目。

    Secured Virtual Hub Effective Routes

  4. 檢查連結至您要篩選流量的虛擬網路中,所部署虛擬機器 NIC 上的有效路由。 請確定您想要篩選流量的每個私人端點私人 IP 位址都有 /32 個項目 (若已新增)。

    Azure CLI:

    az network nic show-effective-route-table --name <Network Interface Name> --resource-group <Resource Group Name> -o table
    
  5. 檢查內部部署路由裝置的路由表。 請確定您正在學習部署私人端點虛擬網路的位址空間。

    Azure 虛擬 WAN 不會將防火牆原則安全性設定中私人流量前置詞下設定的前置詞公告至內部部署。 /32 項目預期不會顯示在內部部署路由裝置的路由表中。

  6. 檢查 AzureFirewallApplicationRuleAzureFirewallNetworkRule Azure 防火牆記錄。 請確定記錄目的地為私人端點的流量。

    AzureFirewallNetworkRule 記錄項目不包含 FQDN 資訊。 檢查網路規則時,依 IP 位址和連接埠進行篩選。

    若篩選目的地為 Azure 檔案儲存體私人端點的流量,只有在用戶端第一次掛接或連線到檔案共用時,才會產生 AzureFirewallNetworkRule 記錄項目。 Azure 防火牆不會產生檔案共用中的檔案 CRUD 作業記錄。 這是因為當用戶端第一次連線或掛接至檔案共用時,CRUD 作業是透過開啟的持續性 TCP 通道進行。

    應用程式規則記錄查詢範例:

    AzureDiagnostics
    | where msg_s contains "database.windows.net"
    | where Category contains "ApplicationRule"
    

下一步