來自 Microsoft 的 Azure 內容傳遞網路 上的 Azure Web 應用程式防火牆
來自 Microsoft 的 Azure 內容傳遞網路 (CDN) 上的 Azure Web 應用程式防火牆 (WAF) 會為您的 Web 內容提供集中式保護。 WAF 會保護您的 Web 服務,以防止常見的惡意探索和弱點。 讓您的服務對使用者高度可用,並協助您符合合規性需求。
重要
Microsoft 預覽版 Azure CDN 上的 Azure WAF 不再接受新客戶。 建議客戶改用 Azure Front Door 上的 Azure WAF。 現有的 CDN WAF 客戶會提供預覽服務等級協定。 某些功能可能不受支援,或可能有限制的功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版的補充使用規定。
Azure CDN 上的 WAF 是全域且集中式的解決方案。 其部署於全球各地的 Azure 網路邊緣位置。 WAF 會先停止接近攻擊來源的惡意攻擊,再到達您的來源。 您可以大規模獲得全域保護,而不會犧牲效能。
WAF 原則可以輕鬆地連結至您訂用帳戶中的任何 CDN 端點。 您可以在幾分鐘內部署新的規則,以便快速回應不斷變化的威脅模式。
WAF 原則和規則
您可以設定 WAF 原則,並將該原則與一或多個 CDN 端點產生關聯,以進行保護。 WAF 原則包含兩種類型的安全性規則:
您可以建立的自訂規則。
受控規則集是 Azure 受控預先設定規則的集合。
當兩者都存在時,在處理受控規則集中的規則之前,會先處理自訂規則。 規則是由比對條件、優先順序和動作所組成。 支援的動作類型包括: ALLOW、 BLOCK、 LOG 和 REDIRECT。 您可以結合受控和自訂規則,建立完全自訂的原則,以符合特定應用程式保護需求。
原則內的規則會依優先順序進行處理。 優先順序是定義要處理之規則順序的唯一數位。 較小的數位是較高的優先順序,這些規則會在具有較大值的規則之前進行評估。 比對規則之後,規則中定義的對應動作會套用至要求。 處理這類比對之後,不會進一步處理優先順序較低的規則。
裝載在 Azure CDN 上的 Web 應用程式一次只能有一個與其相關聯的 WAF 原則。 不過,您可以擁有CDN端點,而不需要任何與其相關聯的WAF原則。 如果 WAF 原則存在,則會複寫到我們的所有邊緣位置,以確保世界各地的安全性原則一致。
WAF 模式
WAF 原則可以設定為以下列兩種模式執行:
偵測模式:在偵測模式中執行時,WAF 不會採取監視和記錄要求及其相符 WAF 規則至 WAF 記錄以外的任何其他動作。 您可以開啟 CDN 的記錄診斷。 當您使用入口網站時,請移至 [診斷] 區段。
預防模式:在預防模式中,如果要求符合規則,WAF 會採取指定的動作。 如果找到相符專案,則不會評估優先順序較低的進一步規則。 任何相符的要求也會記錄在 WAF 記錄中。
WAF 動作
當要求符合規則的條件時,您可以選擇下列其中一個動作:
- 允許:要求會通過 WAF,並轉送至後端。 沒有更低的優先順序規則可以封鎖此要求。
- 封鎖:封鎖要求,且 WAF 會傳送回應給用戶端,不會將要求轉送至後端。
- 記錄:要求會記錄在 WAF 記錄中,而 WAF 會繼續評估較低的優先順序規則。
- 重新導向:WAF 會將要求重新導向至指定的 URI。 指定的 URI 是原則層級設定。 設定之後,所有符合 重新導向 動作的要求都會傳送至該 URI。
WAF 規則
WAF 原則可以包含兩種類型的安全性規則:
- 自訂規則:您可以自行建立的規則。
- 受控規則集:您可以啟用的 Azure 受控預先設定規則集。
自訂規則
自訂規則可以有相符的規則和速率控制規則。
您可以設定下列自訂比對規則:
IP 允許清單和封鎖清單:您可以根據用戶端 IP 位址或 IP 位址範圍清單來控制 Web 應用程式的存取。 支援 IPv4 和 IPv6 位址類型。 IP 清單規則會使用 X-Forwarded-For 要求標頭中包含的 RemoteAddress IP,而不是 WAF 看到的 SocketAddress。 IP 清單可以設定為封鎖或允許 RemoteAddress IP 符合清單中 IP 的要求。 如果您需要在 WAF 看到的來源 IP 位址上封鎖要求,例如,如果使用者位於 Proxy 後方,則應該使用 Azure Front Door 標準或進階層。 如需詳細資訊,請參閱使用 Azure Front Door Web 應用程式防火牆 設定 IP 限制規則以取得詳細數據。
地理型訪問控制:您可以根據與用戶端 IP 位址相關聯的國家/地區代碼來控制 Web 應用程式的存取。
HTTP 參數型訪問控制:您可以根據 HTTP/HTTPS 要求參數中的字串比對來根據規則。 例如,查詢字串、POST 自變數、要求 URI、要求標頭和要求本文。
要求方法型訪問控制:您根據要求的 HTTP 要求方法來根據規則。 例如,GET、PUT 或 HEAD。
大小條件約束:您可以根據要求的特定部分長度來根據規則,例如查詢字串、URI 或要求本文。
速率控制規則會限制來自任何用戶端 IP 位址的異常高流量。
- 速率限制規則:您可以在一分鐘的持續時間內,針對用戶端IP位址允許的Web要求數目設定閾值。 此規則與IP清單型允許/封鎖自訂規則不同,可允許所有或封鎖來自用戶端IP位址的所有要求。 速率限制可以結合更多比對條件,例如 HTTP(S) 參數比對進行細微速率控制。
Azure 受控規則集
Azure 管理的規則集可讓您以簡單的方式部署防護,以抵禦一組常見的安全性威脅。 由於 Azure 會管理這些規則集,因此會視需要更新規則,以防止新的攻擊簽章。 Azure 受控預設規則集包含下列威脅類別的規則:
- 跨網站指令碼處理
- Java 攻擊
- 本機檔案包含
- PHP 插入式攻擊
- 遠端命令執行
- 遠端檔案包含
- 工作階段 Fixation
- SQL 插入式攻擊保護
- 通訊協定攻擊
將新的攻擊簽章新增至規則集時,默認規則集的版本號碼會遞增。 默認規則集會在 WAF 原則的偵測模式中啟用。 您可以停用或啟用預設規則集內的個別規則,以符合您的應用程式需求。 您也可以為每個規則設定特定動作 (ALLOW/BLOCK/REDIRECT/LOG)。 受控預設規則集的預設動作為 [封鎖]。
在評估預設規則集中的規則之前,一律會套用自訂規則。 如果要求符合自訂規則,則會套用對應的規則動作。 要求會遭到封鎖,或是傳遞至後端。 系統不會處理任何其他的自訂規則或預設規則集內的規則。 您也可以從 WAF 原則中移除預設規則集。
組態
您可以使用 Azure 入口網站、REST API、Azure Resource Manager 範本和 Azure PowerShell 來設定及部署所有 WAF 規則類型。
監視
使用 CDN 監視 WAF 與 Azure 監視器整合,以追蹤警示並輕鬆監視流量趨勢。