分享方式:


部署與設定 Azure 防火牆進階版

Azure 防火牆進階版是新一代防火牆,具有高度敏感性和受管制環境所需的功能。 其中包含下列功能:

  • TLS 檢查 - 解密輸出流量、處理資料,然後加密資料並將其傳送至目的地。
  • IDPS - 網路入侵偵測和防護系統 (IDPS) 可讓您監視網路活動是否有惡意活動、記錄此活動的相關資訊、進行報告,以及選擇性地嘗試予以封鎖。
  • URL 篩選 - 擴充 Azure 防火牆的 FQDN 篩選功能,以考慮整個 URL。 例如,www.contoso.com/a/c 而不是 www.contoso.com
  • Web 類別 - 可讓管理員可以允許或拒絕使用者對某些網站類別 (例如賭博網站、社交媒體網站等) 的存取。

如需詳細資訊,請參閱 Azure 防火牆進階版功能

您將使用範本來部署具有中央 VNet (10.0.0.0/16) 及三個子網路的測試環境:

  • 背景工作子網路 (10.0.10.0/24)
  • Azure Bastion 子網路 (10.0.20.0/24)
  • 防火牆子網路 (10.0.100.0/24)

重要

無論輸出資料使用量為何,每小時價格都是從部署 Bastion 的那一刻開始計費。 如需詳細資訊,請參閱價格SKU。 如果您要將 Bastion 部署為教學課程或測試的一部分,建議您在完成使用之後刪除此資源。

為了簡化,此測試環境中會使用單一中央 VNet。 基於生產目的,具有對等互連 VNet 的中樞和輪輻拓撲比較常見。

中央 VNet 拓撲的圖表。

背景工作虛擬機器是透過防火牆傳送 HTTP/S 要求的用戶端。

必要條件

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

部署基礎結構

此範本會針對使用 IDPS、TLS 檢查、URL 篩選和 Web 類別啟用的Azure 防火牆進階版部署完整的測試環境:

  • 具有預先定義設定的新Azure 防火牆進階版和防火牆原則,可讓您輕鬆地驗證其核心功能 (IDPS、TLS 檢查、URL 篩選和 Web 類別)
  • 部署所有相依性,包括金鑰保存庫和受控識別。 在生產環境中,這些資源可能已經建立,且在相同的範本中不需要。
  • 產生自我簽署的根 CA,並將其部署在產生的金鑰保存庫上
  • 產生衍生的中繼 CA,並將其部署在 Windows 測試虛擬機器 (WorkerVM) 上
  • 系統也會部署 Bastion 主機 (BastionHost),且可用來連線至 Windows 測試機器 (WorkerVM)

將 Resource Manager 範本部署至 Azure 的按鈕。

測試防火牆

現在您可以測試 IDPS、TLS 檢查、Web 篩選和 Web 類別。

新增防火牆診斷設定

若要收集防火牆記錄,您必須新增診斷設定以收集防火牆記錄。

  1. 選取 [DemoFirewall] ,然後在 [監視] 底下,選取 [診斷設定]
  2. 選取 [新增診斷設定]。
  3. 針對 [診斷設定名稱],輸入 fw-diag
  4. 在 [記錄] 底下,選取 [AzureFirewallApplicationRule] 和 [AzureFirewallNetworkRule]
  5. 在 [目的地詳細資料] 底下,選取 [傳送至 Log Analytics 工作區]
  6. 選取 [儲存]。

IDPS 測試

若要測試 IDPS,您應該使用適當的伺服器憑證來部署自己的內部測試 Web 伺服器。 此測試包括將惡意流量傳送至 Web 伺服器,因此不建議對公用 Web 伺服器執行此動作。 如需 Azure 防火牆進階版憑證需求的詳細資訊,請參閱 Azure 防火牆進階版憑證

您可以使用 curl 來控制各種 HTTP 標頭,並模擬惡意流量。

若要測試 HTTP 流量的 IDPS:

  1. 在 WorkerVM 虛擬機器上,開啟管理員命令提示字元視窗。

  2. 在命令提示字元中,輸入下列命令:

    curl -A "HaxerMen" <your web server address>

  3. 您將會看到您的 Web 伺服器回應。

  4. 移至 Azure 入口網站上的防火牆網路規則記錄,以尋找類似下列訊息的警示:

    { “msg” : “TCP request from 10.0.100.5:16036 to 10.0.20.10:80. Action: Alert. Rule: 2032081. IDS: 
    USER_AGENTS Suspicious User Agent (HaxerMen). Priority: 1. Classification: A Network Tojan was 
    detected”}
    

    注意

    資料可能需要一些時間才會開始顯示在記錄中。 請等待至少幾分鐘的時間,讓記錄開始顯示資料。

  5. 新增簽章 2032081 的簽章規則:

    1. 選取 [DemoFirewallPolicy],然後在 [設定] 下選取 [IDPS]
    2. 選取 [簽章規則] 索引標籤。
    3. 在 [簽章識別碼] 底下的開啟文字方塊中,輸入 2032081
    4. 在 [模式] 下,選取 [拒絕]
    5. 選取 [儲存]。
    6. 等待部署完成,然後再繼續進行。
  6. 在 WorkerVM 上,再次執行 curl 命令:

    curl -A "HaxerMen" <your web server address>

    由於 HTTP 要求現在遭到防火牆封鎖,因此在連線逾時到期之後,您將會看到下列輸出:

    read tcp 10.0.100.5:55734->10.0.20.10:80: read: connection reset by peer

  7. 移至 Azure 入口網站中的 [監視記錄],並尋找已封鎖要求的訊息。

若要測試 HTTP 流量的 IDPS

使用 HTTPS 而非 HTTP 以重複這些 cURL 測試。 例如:

curl --ssl-no-revoke -A "HaxerMen" <your web server address>

您應該會看到與 HTTP 測試相同的結果。

使用 URL 篩選的 TLS 檢查

使用下列步驟來測試 TLS 檢查與 URL 篩選。

  1. 編輯防火牆原則應用程式規則,並將名為 AllowURL 的新規則新增至 AllowWeb 規則集合。 設定目標 URL www.nytimes.com/section/world、來源 IP 位址 *、目的地類型 URL、選取 [TLS 檢查] 和通訊協定 HTTP、HTTPS

  2. 當部署完成時,請在 WorkerVM 上開啟瀏覽器,然後移至 https://www.nytimes.com/section/world 並驗證 HTML 回應是否如預期般顯示在瀏覽器中。

  3. 在 Azure 入口網站中,您可以在應用程式規則監視記錄中檢視整個 URL:

    顯示 URL 的警示訊息

某些 HTML 頁面看起來可能不完整,這是因為參考了其他遭到拒絕的 URL。 若要解決此問題,您可以採取下列方法:

  • 如果 HTML 頁面包含其他網域的連結,您可以將這些網域新增至新的應用程式規則,並允許存取這些 FQDN。

  • 如果 HTML 頁面包含子 URL 的連結,您可以修改規則,並將星號新增至 URL。 例如:targetURLs=www.nytimes.com/section/world*

    或者,您可以將新的 URL 新增至規則。 例如:

    www.nytimes.com/section/world, www.nytimes.com/section/world/*

Web 類別測試

讓我們建立應用程式規則,以允許存取運動網站。

  1. 從入口網站開啟您的資源群組,然後選取 [DemoFirewallPolicy]

  2. 選取 [應用程式規則],然後選取 [新增規則集合]

  3. 針對 [名稱],輸入 GeneralWebPriority103、[規則集合群組],然後選取 [DefaultApplicationRuleCollectionGroup]

  4. 在 [名稱] 的 [規則] 底下,輸入 AllowSportsSource*ProtocolHTTP、HTTPS,選取 [TLS 檢查]、[目的地類型],接著選取 [Web 類別]、[目的地],然後選取 [運動]

  5. 選取 [新增]。

    運動 Web 類別

  6. 部署完成時,請移至 WorkerVM 然後開啟網頁瀏覽器並瀏覽至 https://www.nfl.com

    您應該會看到 NFL 網頁,而應用程式規則記錄檔會顯示 Web 類別:運動規則已符合且允許要求。

下一步