應用 (第 7 層) DDoS 保護

Azure WAF 有數種防禦機制,可協助防止分散式阻斷服務 (DDoS) 攻擊。 DDoS 攻擊可以針對網路層 (L3/L4) 或應用層 (L7)。 Azure DDoS 可保護客戶免受大型網路層磁片區攻擊。 在第 7 層運作的 Azure WAF 可保護 Web 應用程式免受 L7 DDoS 攻擊,例如 HTTP 洪水。 這些防禦可防止攻擊者觸達您的應用程式,並影響應用程式的可用性和效能。

如何保護您的服務?

藉由新增 Web 應用程式防火牆 (WAF) 或將 DDoS 放在服務前面,以篩選出不正確的要求,即可減輕這些攻擊。 Azure 提供使用 Azure Front Door 在網路邊緣執行的 WAF,以及具有應用程式閘道的資料中心。 這些步驟是一般化清單,必須調整以符合您的應用程式需求服務。

  • 使用 Azure Front Door 進階版 或 應用程式閘道 WAF v2 SKU 部署 Azure Web 應用程式防火牆 (WAF), 以防止 L7 應用層攻擊。
  • 相應增加原始實例計數,以便有足夠的備用容量。
  • 在原始公用 IP 上啟用 Azure DDoS 保護 ,以保護您的公用 IP 免受第 3 層(L3) 和第 4 層 DDoS 攻擊。 Azure 的 DDoS 供應專案可以自動保護大部分的網站免于 L3 和 L4 大量攻擊,這些攻擊會將大量封包傳送至網站。 Azure 也預設會提供基礎結構層級保護給裝載于 Azure 上的所有月臺。

Azure WAF 與 Azure Front Door

Azure WAF 有許多功能可用來減輕許多不同類型的攻擊,例如 HTTP 洪水、快取略過、殭屍網路所啟動的攻擊。

  • 使用 Bot 保護受控規則集來保護已知錯誤的 Bot。 如需詳細資訊,請參閱 設定 Bot 保護

  • 套用速率限制,以防止 IP 位址太頻繁地呼叫您的服務。 如需詳細資訊,請參閱 速率限制

  • 封鎖您識別為惡意的 IP 位址和範圍。 如需詳細資訊,請參閱 IP 限制

  • 封鎖或重新導向至靜態網頁,來自已定義地理區域以外的任何流量,或在不符合應用程式流量模式的已定義區域內。 如需詳細資訊,請參閱 地理篩選

  • 建立 自訂 WAF 規則 ,以自動封鎖和速率限制具有已知簽章的 HTTP 或 HTTPS 攻擊。 簽章,例如特定使用者代理程式,或特定流量模式,包括標頭、Cookie、查詢字串參數或多個簽章的組合。

除了 WAF 之外,Azure Front Door 也提供預設的 Azure 基礎結構 DDoS 保護,以防止 L3/4 DDoS 攻擊。 在 Azure Front Door 上啟用快取有助於吸收邊緣的突然尖峰流量,並保護後端來源免于攻擊。

如需 Azure Front Door 上的功能和 DDoS 保護的詳細資訊,請參閱 Azure Front Door 上的 DDoS 保護。

具有 Azure 應用程式閘道 的 Azure WAF

我們建議使用隨附最新功能的 應用程式閘道 WAF v2 SKU,包括 L7 DDoS 風險降低功能,以抵禦 L7 DDoS 攻擊。

應用程式閘道 WAF SKU 可用來減輕許多 L7 DDoS 攻擊:

  • 將您的應用程式閘道設定為自動相應增加,而不是強制執行最大實例數目。

  • 使用 Bot 保護受控規則集可針對已知的不良 Bot 提供保護。 如需詳細資訊,請參閱 設定 Bot 保護

  • 套用速率限制,以防止 IP 位址太頻繁地呼叫您的服務。 如需詳細資訊,請參閱 設定速率限制自訂規則

  • 封鎖您識別為惡意的 IP 位址和範圍。 如需詳細資訊,請參閱建立和使用 v2 自訂規則 範例。

  • 封鎖或重新導向至靜態網頁,來自已定義地理區域以外的任何流量,或在不符合應用程式流量模式的已定義區域內。 如需詳細資訊,請參閱建立和使用 v2 自訂規則 範例。

  • 建立 自訂 WAF 規則 ,以自動封鎖和速率限制具有已知簽章的 HTTP 或 HTTPS 攻擊。 簽章,例如特定的使用者代理程式,或特定的流量模式,包括標頭、Cookie、查詢字串參數或多個簽章的組合。

其他考量

  • 鎖定來源上公用 IP 的存取權,並限制輸入流量只允許來自 Azure Front Door 或應用程式閘道到來源的流量。 請參閱 Azure Front Door 上的指引。 應用程式閘道部署在虛擬網路中,請確定沒有任何公開的 IP。

  • 將 WAF 原則切換至預防模式。 在偵測模式中部署原則只會在記錄檔中運作,而且不會封鎖流量。 使用生產流量驗證及測試 WAF 原則並微調以降低任何誤判後,您應該將原則轉換成預防模式(封鎖/防禦模式)。

  • 使用 Azure WAF 記錄來監視流量是否有任何異常。 您可以建立自訂規則來封鎖任何違規流量 – 可疑的 IP 傳送異常大量要求、不尋常的使用者代理程式字串、異常查詢字串模式等。

  • 您可以藉由使用 Allow 的動作建立符合自訂規則,以減少誤判,以略過 WAF 的已知合法流量。 這些規則應該以高於其他區塊和速率限制規則的高優先順序(較低的數值)進行設定。

  • 您至少應該有速率限制規則,以封鎖來自任何單一 IP 位址的高要求速率。 例如,您可以設定速率限制規則,以不允許任何單 一用戶端 IP 位址 將每個視窗超過 XXX 的流量傳送至您的網站。 Azure WAF 支援兩個視窗來追蹤要求,1 和 5 分鐘。 建議使用 5 分鐘的視窗,以提升 HTTP 洪水攻擊的風險降低。 此規則應該是最低優先順序規則(優先順序會以 1 排序為最高優先順序),因此可以在此規則之前建立更特定的速率限制規則或比對規則來比對。 如果您使用 應用程式閘道 WAF v2,您可以使用額外的速率限制組態,透過用戶端 IP 以外的方法來追蹤和封鎖用戶端。 如需應用程式閘道 waf 速率限制的詳細資訊,請參閱 速率限制概觀

    下列 Log Analytics 查詢有助於判斷您應該用於上述規則的閾值。 對於類似的查詢,但使用 應用程式閘道,請將 「FrontdoorAccessLog」 取代為 「ApplicationGatewayAccessLog」。

    AzureDiagnostics
    | where Category == "FrontdoorAccessLog"
    | summarize count() by bin(TimeGenerated, 5m), clientIp_s
    | summarize max(count_), percentile(count_, 99), percentile(count_, 95)
    
  • Managed 規則雖然不是直接針對 DDoS 攻擊的防禦目標,但可提供其他常見攻擊的保護。 如需詳細資訊,請參閱 受控規則(Azure Front Door) 受控規則(應用程式閘道), 以深入瞭解這些規則可協助防範的各種攻擊類型。

WAF 記錄分析

您可以使用下列查詢來分析 Log Analytics 中的 WAF 記錄。

Azure Front Door

AzureDiagnostics
| where Category == "FrontdoorWebApplicationFirewallLog"

如需詳細資訊,請參閱 Azure WAF 與 Azure Front Door

Azure 應用程式閘道

AzureDiagnostics
| where Category == "ApplicationGatewayFirewallLog"

如需詳細資訊,請參閱 搭配 Azure 應用程式閘道 的 Azure WAF。

下一步