教學課程:使用 Azure Front Door 和 Azure Web 應用程式防火牆 快速調整和保護 Web 應用程式(WAF)
重要
Azure Front Door (傳統) 將於 2027 年 3 月 31 日遭到淘汰。 為了避免任何服務中斷,請務必在 2027 年 3 月之前,將 Azure Front Door (傳統) 設定檔移轉至 Azure Front Door 標準或進階層。 如需詳細資訊,請參閱 Azure Front Door (傳統版) 淘汰。
Web 應用程式通常會遇到流量激增和惡意攻擊,例如阻斷服務攻擊。 Azure Front Door 與 Azure WAF 可協助調整您的應用程式,並防止這類威脅。 本教學課程會引導您為任何 Web 應用程式設定 Azure Front Door 與 Azure WAF,無論是在 Azure 內部還是外部執行。
我們在本教學課程中使用 Azure CLI。 您也可以使用 Azure 入口網站、Azure PowerShell、Azure Resource Manager 或 Azure REST API。
在本教學課程中,您將了解:
- 建立 Front Door。
- 建立 Azure WAF 原則。
- 設定 WAF 原則的規則集。
- 將 WAF 原則與 Front Door 相關聯。
- 設定自訂網域。
如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶。
必要條件
本教學課程使用 Azure CLI。 開始使用 Azure CLI。
提示
開始使用 Azure CLI 的簡單方式是在 Azure Cloud Shell 中使用 Bash。
確定擴充
front-door
功能已新增至 Azure CLI:az extension add --name front-door
注意
如需本教學課程中使用的命令詳細資訊,請參閱 Front Door 的 Azure CLI 參考。
建立 Azure Front Door 資源
az network front-door create --backend-address <backend-address> --accepted-protocols <protocols> --name <name> --resource-group <resource-group>
--backend-address
:您要保護之應用程式的完整功能變數名稱 (FQDN),例如myapplication.contoso.com
。--accepted-protocols
:Azure Front Door 支援的通訊協定,例如--accepted-protocols Http Https
。--name
:您的 Azure Front Door 資源名稱。--resource-group
:此 Azure Front Door 資源的資源群組。 深入瞭解 管理資源群組。
請記下 hostName
回應中的值,因為您稍後需要此值。 hostName
是 Azure Front Door 資源的 DNS 名稱。
建立 Azure Front Door 的 Azure WAF 配置文件
az network front-door waf-policy create --name <name> --resource-group <resource-group> --disabled false --mode Prevention
--name
:新 Azure WAF 原則的名稱。--resource-group
:此 WAF 資源的資源群組。
上述命令會在預防模式中建立 WAF 原則。
注意
請考慮先在偵測模式中建立 WAF 原則,先觀察並記錄惡意要求,而不加以封鎖,再切換至預防模式。
請記下 ID
回應中的值,因為您稍後需要此值。 ID
的格式應為:
/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/<WAF-policy-name>
將受控規則集新增至 WAF 原則
新增預設規則集:
az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <resource-group> --type DefaultRuleSet --version 1.0
新增 Bot 保護規則集:
az network front-door waf-policy managed-rules add --policy-name <policy-name> --resource-group <resource-group> --type Microsoft_BotManagerRuleSet --version 1.0
--policy-name
:Azure WAF 資源的名稱。--resource-group
:WAF 資源的資源群組。
建立 WAF 原則與 Azure Front Door 資源的關聯
az network front-door update --name <name> --resource-group <resource-group> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<ID>"}'
--name
:您的 Azure Front Door 資源名稱。--resource-group
:Azure Front Door 資源的資源群組。--set
:使用新的 WAF 原則識別碼更新WebApplicationFirewallPolicyLink
的 屬性frontendEndpoint
。
注意
如果您未使用自定義網域,則可以略過下一節。 提供您在 hostName
建立 Azure Front Door 資源時取得的 。
為 Web 應用程式設定自訂網域
更新 DNS 記錄,以將自訂網域指向 Azure Front Door hostName
。 如需特定步驟,請參閱 DNS 服務提供者的檔。 如果您使用 Azure DNS,請參閱 更新 DNS 記錄。
針對區域頂點網域(例如,contoso.com),請使用 Azure DNS 及其 別名記錄類型。
更新您的 Azure Front Door 組態以 新增自定義網域。
若要為自定義網域啟用 HTTPS, 請在 Azure Front Door 中設定憑證。
鎖定您的 Web 應用程式
請確定只有 Azure Front Door 邊緣可以與您的 Web 應用程式通訊。 請參閱 如何將我的後端存取鎖定為僅限 Azure Front Door。
清除資源
不再需要時,請刪除資源群組、Front Door 和 WAF 原則:
az group delete --name <resource-group>
--name
:本教學課程中使用所有資源的資源群組名稱。
下一步
若要針對 Front Door 進行疑難解答,請參閱: