應用程序 DDOS是復雜的攻擊,很難緩解。與網絡層攻擊不同,大多數攻擊是對協議的操縱,可以根據所采用的方法進行識別,在應用程序DDOS 的情況下,最突出的攻擊類型是沒有真實模式可識別的容量攻擊。這些是大量發送到應用程序的合法請求,阻塞了原本會被其他用戶使用的資源,并使普通用戶無法訪問應用程序。
用于檢測應用程序 DDOS 的最常用技術是速率限制,其中限制了用戶可以發出的請求數量。防止此類容量 DDOS 攻擊的兩個基本且唯一的基礎是:
- 能夠觀察請求量,因為針對體積應用程序 DDOS 的初始防御是在不耗盡資源的情況下擴展和觀察發送到應用程序的請求
- 識別不需要的請求并快速刪除它們。這些檢測是通過識別異常尖峰并阻止它們來完成的
為了實現這兩者,最好的解決方案是像 AppTrana 這樣具有 DDOS 防護能力的云WAF 。精心設計的云 WAF 將能夠非常快速地自動擴展,以確保它能夠吸收異常的請求峰值。AppTrana 利用高度可擴展的基礎設施來阻止高達 2.3 Tbps 的大型攻擊和每秒 700K 的請求,以提供針對可能的最大攻擊的保護。
下一個挑戰是檢測不需要的請求并丟棄它們。如果 WAF 有效地完成了這方面的工作,后端將免受請求高峰的影響,并且其資源將可以免費為合法請求提供服務。
不幸的是,靜態速率限制不起作用,大多數攻擊都被忽視了。要了解靜態速率限制規則的問題,需要了解這些速率限制是如何工作的。
- 速率限制只能在某些身份上配置。即它可以配置為在一個時間段內不允許來自 1 個 IP/用戶等的超過 x 個請求,但它不能配置為在該時間段內僅將 y 個請求轉發到應用程序,因為這會導致合法用戶被阻止
這種靜態速率限制規則的問題在于它沒有考慮站點的自然變化。例如,當用戶上傳和讀取大量數據時,我們的一個網站在月底出現峰值;一般來說,月末單用戶請求的增長量是正常流量的 3-4 倍。現在,如果需要為這種情況配置靜態速率限制,則必須考慮月末峰值,這意味著在正常日子里,即使是 4 次的峰值也不會被檢測到,并且請求將被傳遞到源,導致重載原點。