接下來介紹Web應用程序防火墻,就是大家一般簡稱的WAF。
Akamai的WAF防護也是以辨識請求行為是否有滿足威脅的特徵,例如HTTP協議違規、SQL Injection、跨站腳本攻擊、注入攻擊等。
作為雲端WAF,主要的特色就是你只需要啟動防護特徵,後面不管是更新或是效能等問題,都不用理會。
Jerry問,那會誤擋嗎?
顧問回答,沒有不誤擋的防護機制!! 但,有方式可以降低誤檔機率!
風險評分機制
Akamai WAF透過一個Adaptive security engine來實現一種不干涉,又能以最大程度的可信度保護Web應用程式和 API。
怎麼做到的?
Akamai的平台每天處理的攻擊超過上億次,透過建立不同維度的檢測流量技術,進而衍生大量情報了解不同風險概況。
針對這些情報建立了一種多維度威脅評分模型,透過這個模型持續進行應用機器學習、統計模型和啟發式方法來降低誤攔。 另外,底層檢測引擎透過兩項技術進行了全面重新校準和增強:
智能檢測,將輸入標記為指紋以實現高精度檢測。
Smart Sniff,它檢測請求正文的正確內容類型,以防止內容操縱和繞過。
簡單的說,這個引擎會針對不同的攻擊手法,依據特徵的辨識的明確程度給予不同分數。
有點模糊的分數給低一點,如果這個來源所送的請求有問題,即便沒有立即擋,但在持續發送惡意請求後,就會因為分數達標就被阻擋。
設定方式
首先說明Attack Group,Akamai將不同類型的攻擊手法分為不同群組,每個群組皆有數量不等的規則,群組分類分類如下:
阻擋的設定上同樣分為Not Used、Alert、Deny、Custom (自訂回應訊息)。並且也提供了懲罰機制,只要啟用此機制,當違反規則被阻擋時,接下來10分鐘都無法再傳送任何請求。
另外,為了避免開發邏輯或是架構需求上特殊設定所導致的誤擋,可以設定例外排除白名單。
防護策略
接下來,每一個防護功能我們都要來評估及討論,先前講的4個項目
能從HTTP請求分辨出惡意來源及惡意請求的意圖嗎?
請求來源 :從業務屬性來看,除非是業務合作夥伴或是搜尋引擎爬蟲,否則大多應該都還是來自ISP業者網路或是行動網路。因此,來自雲端或是VPS商網段的流量,某種程度都可能是惡意的流量。
意圖 :只要是經防護規則判定有異常的,就經驗上來說鮮少有誤擋的,誰沒事弄一堆編碼隱碼技術來請求?
怎麼判斷?
所有的HTTP請求內容都會透過防護引擎內建的規則來判斷是否為異常,只要是HTTP的流量都能進行判斷。
怎麼擋?
這裡擋的是HTTP請求不是IP,所以不會發生同一NAT IP的情況,好人壞人一起擋。
擋不住或是誤擋?
擋不住 :
WAF總有設不完的規則,因為總有很多手法可以繞過防護規則包含模糊請求、編碼、分段注入等等。
因此,只能藉由定期分析WEB主機日誌,或是當CVE攻擊手法發佈時,將可能的攻擊手法納入規則進行阻擋。
所以,要有攻擊會穿越WAF的認知!!
誤擋 :
所有的WAF設備上線後都會如同照妖鏡一樣,這個也擋那個也擋的,所以建議先將所有規則設定為Alert,經過一定時間的觀察後,逐漸排除誤擋並設定例外排除白名單。
策略整理
評估完後,就綜合評估你可能會遭遇的情境,擬定出防護策略。
首先,若已先有地端的WAF設備,可以先透過該設備上的排除清單進行盤點,再依據平台上防護規則的特性,於適當於適當Attack Group規則組加入排除。
所有的防護規則於上線前設定為Alert模式,並透過Staging環境測試存取服務時,是否會有Alert發生,並分析並分析調整。
上線後,逐步觀察不同的Attack Group規則的Alert,抽樣確認阻擋的內容是否合理,並逐步調整為Deny。
開啟Deny模式後,同樣定期抽樣確認阻擋內容是否合理,並持續循環。