Share via


應用程式 (第 7 層) DDoS 保護

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

該如何保護您的服務?

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

  • 搭配 Azure Front Door Premium 或應用程式閘道 WAF v2 SKU 部署 Azure Web 應用程式防火牆 (WAF),可抵禦 L7 應用程式層攻擊。
  • 擴大原始執行個體計數,確保備用容量足夠。
  • 在原始公用IP上啟用 Azure DDoS 保護,以保護您的公用 IP 免受第 3 層 (L3) 和第 4 層 (L4) 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 WAF 搭配 Azure 應用程式閘道

我們建議使用隨附最新功能的應用程式閘道 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)
    
  • 受控規則雖然不是直接以防禦 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 WAF 搭配 Azure 應用程式閘道

下一步