全部產品
Search
文件中心

Web Application Firewall:CC攻擊防護最佳實務

更新時間:Jul 01, 2024

本文介紹了常見的CC攻擊情境,並結合阿里雲Web Application Firewall(Web Application Firewall,簡稱WAF)的相關功能給出具體的防護策略和配置,協助您有針對性地防禦CC攻擊。

概述

您可以從以下不同的CC攻擊防護情境中選擇貼近您自身實際需求的情境,瞭解相關的防護設定:

大流量高頻CC攻擊

在大規模CC攻擊中,單台傀儡機發包的速率往往遠超過正常使用者的請求頻率。針對這種情境,直接對請求源設定限速規則是最有效辦法。推薦您使用WAF自訂防護策略功能的頻率設定,配置限速策略,具體操作,請參見設定自訂防護策略

配置樣本:您可以配置以下規則,當一個IP在30秒內訪問當前網域名稱下任意路徑的次數超過1000次,則封鎖該IP的請求10個小時。該規則可以作為一般中小型網站的預防性配置。配置樣本:自訂防護策略-限速設定
在實際情境中,您需要根據自身業務需求調整防護路徑和觸發防護的閾值,並選擇合適的處置動作,以達到更有針對性、更精細化的防護效果。例如,為了預防登入介面受到惡意高頻撞庫攻擊的影響,您可以配置登入介面的地址(樣本:使用首碼匹配邏輯符,將匹配內容設定為/login.php),並設定60秒內超過20次請求則進行封鎖。限速規則樣本
在使用CC防護時,請注意以下內容:
  • 處置動作中的滑塊嚴格滑塊驗證用於校正請求是否來自於真實瀏覽器(而非自動化工具指令碼),適用範圍僅限於網頁或H5,不適用於原生App、API等環境。針對原生App、API等環境,請將處置動作設定為阻斷
  • 針對有可能被CC攻擊防護策略誤傷的介面或IP,您可以通過存取控制/限流白名單功能將其統一加白。具體操作,請參見設定存取控制/限流白名單
  • 請勿對App、API環境開啟CC安全防護防護-緊急模式。
如果您開通了旗艦版的WAF執行個體,則您可以在頻率設定中使用除IP和Session外的自訂統計對象欄位,設定更細粒度、更多維度限速功能。例如,由於針對IP的封鎖會影響NAT出口,您可以使用cookie或者業務中內建的使用者層級參數作為統計對象。下圖配置針對業務中標記使用者的cookie(假設cookie格式為uid=12345)進行統計,並使用滑塊作為處置動作,避免誤攔截。cookie統計

攻擊源來自海外或公用雲端

CC攻擊中經常出現很大比例的攻擊來源于海外IP、公用雲端IP、IDC機房IP的情形。

對於面向中國使用者的網站,在遭受攻擊時可以通過封鎖海外訪問來緩解攻擊壓力。推薦您使用WAF的地區級IP黑名單功能,封鎖中國境外IP地址的訪問,具體操作,請參見設定IP黑名單地區級IP黑名單
如果您已經開啟了WAF的Bot管理模組,則您可以使用爬蟲威脅情報功能,封鎖常見IDC IP庫的爬蟲IP,例如阿里雲、騰訊雲、IDC機房的IP段。
說明 許多爬蟲程式選擇部署在雲端服務器上,而正常使用者很少通過公用雲端和IDC的源IP訪問您的業務。
配置樣本:您可以開啟以下爬蟲威脅情報規則,封鎖騰訊雲爬蟲IP的訪問。具體操作,請參見設定爬蟲威脅情報規則爬蟲威脅情報規則-騰訊雲

請求特徵畸形或不合理

由於很多CC攻擊請求是攻擊者隨意構造的,在仔細觀察日誌後,往往會發現這些請求有很多與正常請求不相符的畸形報文特徵。常見的畸形報文特徵包括:
  • user-agent異常或畸形:例如,包含Python等自動化工具特徵、明顯格式錯亂的UA(例如Mozilla///)、明顯不合理的UA(例如www.example.com)。如果存在以上請求特徵,可以直接封鎖請求。
  • user-agent不合理:例如,對於微信推廣的H5頁面,正常使用者都應該通過微信發起訪問,如果UA來自於Windows案頭瀏覽器(例如MSIE 6.0),則明顯是不合理的。如果存在以上請求特徵,可以直接封鎖請求。
  • referer異常:例如,不帶referer或referer固定且來自於非法網站,則可以封鎖這種請求(訪問網站首頁或第一次訪問頁面的情形除外)。針對只能通過某個站內地址跳轉訪問的URL,您可以從referer角度分析行為異常,決定是否封鎖。
  • cookie異常:正常使用者往往會在請求中帶上屬於網站本身業務集的一些cookie(第一次訪問頁面的情形除外)。很多情況下,CC攻擊的報文不會攜帶任何cookie。您可以從這個角度出發,封鎖不帶cookie的訪問請求。
  • 缺少某些HTTP header:例如,針對一些業務中需要的認證頭等,正常使用者的請求會攜帶,而攻擊報文則不會。
  • 不正確的要求方法:例如,本來只有POST請求的介面被大量GET請求攻擊,則可以直接封鎖GET請求。

對於上述異常的請求特徵,您都可以在特徵分析的基礎上,使用WAF自訂防護策略ACL存取控制規則設定對應的封鎖策略。具體操作,請參見設定自訂防護策略

配置樣本:
  • 攔截不帶cookie的請求。攔截不帶cookie
  • 攔截不帶authorization頭的請求。攔截不帶authorization

濫刷介面(登入、註冊、簡訊、投票等)

對於網頁環境(包括H5)中的一些關鍵介面,例如登入、註冊、投票、簡訊驗證碼等,推薦您使用Alibaba Antifraud Service功能進行防護。

Alibaba Antifraud Service在關鍵介面頁面中插入JS代碼,採集使用者在頁面上的操作行為和環境資訊,綜合判斷髮送至關鍵介面的請求是否來自於真實的使用者(而不是自動化工具指令碼)。Alibaba Antifraud Service判定的依據主要來自於人機識別的結果,跟發送請求的頻率、來源IP沒有關係,針對一些低頻、分散的攻擊請求有很好的效果。

重要 Alibaba Antifraud Service的判定依賴於開啟防護後在正常請求中附帶的驗證參數,該功能不適用於不能執行JS的環境(例如API、Native App等)。為避免誤攔截,建議您在啟用Alibaba Antifraud Service前先在測試環境進行測試,或是先開啟觀察模式並跟Apsara Stack Security工程師確認後,再開啟防護模式。

具體操作,請參見設定Alibaba Antifraud Service

惡意掃描

大規模的掃描行為會給伺服器帶來很大壓力,除了限制訪問請求頻率外,您還可以使用掃描防護功能來加強防護效果。掃描防護支援以下設定:
  • 高頻Web攻擊封鎖:自動封鎖連續觸發Web防護規則的用戶端IP。
  • 目錄遍曆防護:自動封鎖在短時間內進行多次目錄遍曆攻擊的用戶端IP。
  • 掃描工具封鎖:自動封鎖來自常見掃描工具或阿里雲惡意掃描攻擊IP庫中IP的訪問請求。
  • 協同防禦:自動阻斷阿里雲全球惡意掃描攻擊IP庫中IP的訪問請求。

具體操作,請參見設定掃描防護

掃描防護

App攻擊

針對App攻擊,除上述頻率設定、地區級IP黑名單、ACL存取控制等手段,您也可以接入Apsara Stack SecuritySDK進行防護。

SDK方案通過將SDK整合到App中,對請求進行安全簽名和校正,並結合各種硬體資訊,綜合識別請求是否來自於合法的App。只要不是來自於官方App的合法請求,一概攔截。這是一種“白名單”思路,只允許存取合法的請求,而不用去分析非法請求的特徵。

SDK防護需要開啟App防護模組後才可以使用。具體操作,請參見設定App防護

惡意爬取

對於很多資訊類網站(例如徵信、租房、機票、小說等),大量的爬蟲往往會造成頻寬增大、負載飆升等異常,以及資料泄露等問題。針對爬蟲問題,如果上述手段不能起到很好的防禦效果,推薦您開啟並使用Bot管理模組,更有針對性地防禦爬蟲。具體操作,請參見設定Bot管理白名單