使用 Application Gateway WAF 來保護您的應用程式

概觀

針對以 Microsoft Entra 應用程式 Proxy 發佈的應用程式新增 Web 應用程式防火牆 (WAF) 保護。

欲了解更多關於網頁應用程式防火牆的資訊,請參閱《 Azure Application Gateway 上的 Azure Web Application Firewall?》。

部署步驟

本文提供在因特網上使用 Microsoft Entra 應用程式 Proxy 搭配應用程式閘道上的 Azure WAF 安全地公開 Web 應用程式的步驟。

架構圖顯示網頁應用程式流量從網際網路經由 Azure WAF 及應用閘道到 Microsoft Entra 應用程式代理及內部應用伺服器的流程。

設定 Azure 應用程式閘道以將流量傳送至內部應用程式

本文會省略應用程式閘道設定的一些步驟。 如需建立和設定應用程式閘道的詳細指南,請參閱 快速入門:使用 Azure 應用程式閘道引導 Web 流量 - Microsoft Entra 系統管理中心。

1. 建立私有的 HTTPS 監聽器

建立接聽程式,讓用戶可以在連線到公司網路時私下存取 Web 應用程式。

應用程式閘道監聽器設定頁面,顯示企業網路使用者的私有存取設定。

2.使用 Web 伺服器建立後端集區

在此範例中,後端伺服器已安裝 Internet Information Services (IIS)。

Application Gateway 後端池配置顯示 IIS 網頁伺服器。

3.建立後端設定

後端設定會決定要求如何連線到後端集區伺服器。

應用閘道後端設定的設定頁面,顯示請求路由參數。

4.建立路由規則,以系結接聽程式、後端集區,以及先前步驟中建立的後端設定

應用程式閘道路由規則設定頁面顯示監聽器選擇步驟。 Application Gateway 路由規則設定頁面顯示後端池與後端設定的選擇。

5.在應用程式閘道中啟用 WAF,並將其設定為 [預防] 模式

Application Gateway WAF 設定頁面顯示啟用 WAF,並選擇了預防模式。

在 Microsoft Entra ID 中,將您的應用程式設定為透過應用程式代理進行遠端存取。

連接器 VM、應用程式閘道和後端伺服器都會部署在 Azure 中的相同虛擬網路中。 設定也適用於內部部署的應用和連接器。

如需如何在 Microsoft Entra ID 中將應用程式新增至應用程式 Proxy 的詳細指南,請參閱 教學課程:在 Microsoft Entra ID中新增透過應用程式 Proxy 進行遠端訪問的內部部署應用程式。 如需有關專用網連接器效能考慮的詳細資訊,請參閱 使用 Microsoft Entra 應用程式 Proxy 將流量優化。

Microsoft Entra 應用程式代理設定顯示 443 埠存取的內部與外部 URL 匹配。

在此範例中,相同的 URL 已設定為內部和外部 URL。 遠端用戶端會透過埠 443 上的因特網,透過應用程式 Proxy 存取應用程式。 連接到公司網路的用戶端以私密方式存取應用程式。 存取是直接透過埠 443 上的應用程式閘道。 如需在應用程式 Proxy 中設定自訂網域的詳細步驟,請參閱 使用 Microsoft Entra 應用程式 Proxy 設定自定義網域。

Azure 私有域名系統(DNS)區域 已建立 A 記錄。 A 記錄會將 www.fabrikam.one 指向應用程式閘道的私人前端 IP 位址。 記錄可確保連接器 VM 將要求傳送至應用程式閘道。

測試應用程式

新增使用者以測試之後,您可以存取 https://www.fabrikam.one來測試應用程式。 系統會提示使用者在 Microsoft Entra ID 中驗證,並在驗證成功時存取應用程式。

Microsoft Entra ID 登入頁面提示使用者進行驗證。 瀏覽器顯示驗證後應用程式存取成功。

模擬攻擊

若要測試 WAF 是否封鎖惡意要求,您可以使用基本的 SQL 插入式簽章來模擬攻擊。 例如,“https://www.fabrikam.one/api/sqlquery?query=x%22%20or%201%3D1%20--"。

瀏覽器顯示 HTTP 403 禁止錯誤,來自 WAF 阻擋 SQL 注入嘗試。

HTTP 403 回應會確認 WAF 封鎖要求。

應用程式閘道 防火牆記錄 提供有關要求的詳細數據,以及 WAF 封鎖它的原因。

應用閘道防火牆日誌記錄顯示被封鎖的請求細節及 SQL 注入規則違規。

後續步驟