網站業務接入DDoS防護後,如果遭受了CC攻擊,可以通過對HTTP欄位進行針對性的特徵分析及規則配置,增強CC攻擊的識別攔截效力,用於盜鏈防護、網站管理後台保護等情境。本文介紹如何設定CC防護策略。
CC攻擊防禦產品介紹
CC攻擊(Challenge Collapsar)是分散式阻斷服務(DDoS)攻擊的一種類型,通常情況下指應用程式層攻擊(Application Layer Attack)。通過控制某些主機向目標網路伺服器不停地發送偽造的HTTP/HTTPS請求,比如頻繁請求一個需要消耗大量伺服器資源的搜尋網頁面或者登入頁面,以消耗伺服器的資源或網路頻寬,導致網站響應變慢,無法處理正常使用者的訪問請求。
與傳統的網路層DDoS攻擊不同,CC攻擊更加隱蔽,因為它模仿的是正常的使用者請求。為了提升網站業務安全性,阿里雲提供了DDoS高防和Web Application Firewall產品用於防禦CC攻擊。
DDoS高防
DDoS高防側重於防護大流量攻擊,目的是確保網路基礎設施不受頻寬耗盡和資源耗盡的影響,通常部署在網路邊緣。DDoS高防提供AI智能防護、自訂CC安全防護策略,用於防禦CC攻擊。
AI智能防護:即基於阿里雲的巨量資料能力,能夠自學習網站業務流量基準,結合演算法分析攻擊異常並自動下發精準存取控制規則,動態調整業務防護模型,協助您及時發現並阻斷惡意Web攻擊,例如惡意Bot、HTTP Flood攻擊。將網站接入DDoS高防後,預設開啟AI智能防護。關於AI智能防護的詳細介紹,請參見設定AI智能防護。
自訂CC防護策略:即本文介紹的內容。您可以在網站遭受CC攻擊後,通過分析HTTP請求的欄位特徵,為網站設定精準存取控制規則或頻率控制規則,通過頻率控制、行為分析、IP黑名單等措施,更好的防禦DDoS攻擊。
Web Application Firewall(WAF)
WAF主要是分析進入應用程式層的HTTP/HTTPS流量,對網站或者App的業務流量進行惡意特徵識別及防護,避免網站伺服器被惡意入侵導致效能異常等問題。WAF採用多種手段來識別和防禦應用程式層攻擊,包括輸入驗證、針對特定漏洞的規則集、會話跟蹤和防護機制(如驗證碼、JS挑戰、Cookie驗證等)。WAF通常部署在網路接近伺服器端的位置,可以更緊密地監控到達伺服器的流量,並執行應用程式層的安全性原則。
兩種產品的防護側重點不同,如果僅針對CC攻擊,如果您的CC攻擊水位很高,例如網站已無法正常訪問,優先建議DDoS高防。如果CC攻擊水位不是很高,例如網站只是響應變慢,優先建議Web Application Firewall。但為達到最佳的保護效果,建議您同時部署兩種產品,以確保網站業務不受到惡意流量和攻擊者的破壞。
CC防護策略配置建議
建議在網站遭受CC攻擊時配置,通過本功能加強防禦,允許存取或者過濾指定特徵的流量。日常防護不推薦使用本功能。
您可以通過如下方式查看HTTP請求中是否存在明顯特徵,例如來源IP一樣、URI中包含相同欄位等,根據特徵配置CC防護策略。
CC防護策略介紹
根據設定規則時是否開啟頻率設定,分為精準存取控制規則和頻率控制規則。匹配原則是先匹配精準存取控制規則,再匹配頻率控制規則,只要匹配某一個規則,則不再向後匹配。
說明DDoS高防的AI智能防護自動下發的精準存取控制規則,即
smartcc_開頭的規則,也遵循該匹配邏輯。為了提升CC攻擊預設防護效果,產品防護引擎內建了兩條頻次控制規則,具體規則內容已展示在頻率控制規則配置地區,規則名稱為內建CC防護規則-基於用戶端頻次、內建CC防護規則-基於來源站點響應碼。當前僅支援規則的查看和刪除操作。
規則名稱 | 精準存取控制規則 | 頻率控制規則 |
說明 | 滿足相關匹配條件即執行動作。 說明 如果您在精準存取控制規則中查看到 | 在統計時間長度內,當統計對象滿足匹配條件並達到閾值,才執行動作。 重要 內建CC防護規則刪除操作後無法恢複,請您謹慎操作。如您確認要刪除該規則,建議您在刪除內建CC防護規則後,結合您需要防護的重要業務網域名稱或介面業務訪問頻次和特徵,自訂配置頻次防護規則,從而提升CC攻擊防護效果。 |
規則生效時間長度 | 由您設定,可以設定為永久或自訂時間長度(5~120分鐘)。 說明 自訂時間長度時,到期後該規則會自動刪除。 | 永久生效。 |
匹配原則 | 匹配所有規則,當訪問請求命中多條規則時,執行列表中排名靠前的規則的動作。 例如,如果訪問請求同時命中①和②,則執行①對應的動作。
| 匹配所有規則,當訪問請求命中多條規則時,隨機執行某一條規則的動作。 |
限制條件 | 每個網域名稱最多設定的精準存取控制規則數量。
| 每個網域名稱最多設定的頻率控制規則數量。
|
Cookie植入說明
七層接入的業務會在以下兩種情況下被植入Cookie。
情境1:網域名稱的網站業務DDoS防護策略,開啟CC安全防護功能。
啟用CC安全防護策略後,DDoS高防產品將會在用戶端(如瀏覽器)植入Cookie用於區分統計不同用戶端,使用者在訪問網站時會在HTTP報文中帶上植入的Cookie資訊,DDoS高防將結合統計結果判斷業務流量中是否存在CC攻擊行為,並啟動CC攻擊清洗策略。
情境2:CC防護策略規則動作開啟“挑戰”模式。
CC防護策略啟用“挑戰”規則動作後,將會在HTTP報文的Header中植入Cookie用於擷取用戶端瀏覽器的指紋資訊,收集的指紋資訊包括HTTP報文的host欄位、瀏覽器高度和寬度。當訪問流量命中規則後,DDoS高防將對用戶端發起挑戰探測,並結合瀏覽器的指紋統計資訊判斷用戶端是否有異常,識別異常用戶端的CC攻擊行為。
如需停止DDoS高防向業務植入Cookie的行為,您可以在控制台的頁面單擊操作列的編輯,將網站配置中的cookie設定開關關閉,但同時DDoS高防也將無法通過CC安全防護原則模組對CC攻擊進行主動判斷和防護。
配置CC安全防護策略
前提條件
已將網站業務接入DDoS高防。具體操作,請參見添加網站配置。
操作步驟
登入DDoS高防控制台。
在頂部功能表列左上方處,根據DDoS高防產品選擇地區。
DDoS高防(中國內地):選擇中國內地地區。
DDoS高防(非中國內地):選擇非中國內地地區。
在左側導覽列,選擇。
在通用防護策略頁面,單擊網站業務DDoS防護頁簽,並從左側網域名稱列表中選擇要設定的網域名稱。
定位到CC安全防護配置地區,單擊設定後,在右上方單擊新增規則,配置完成後單擊確定。
參數
描述
規則名稱
規則的名稱。由英文字母、數字和底線(_)組成,不超過128個字元。
匹配條件
規則的匹配條件。欄位詳細介紹,請參見附錄一:支援設定的HTTP請求欄位。
說明匹配內容不允許設定為空白值。精準存取控制規則的匹配內容區分大小寫,頻率控制規則的匹配內容不區分大小寫。
最多可以設定5個匹配條件。若添加多個匹配條件,只有當訪問請求滿足所有條件時才算命中。
頻率設定
設定是否啟動頻率設定校正。
開關關閉:表示該規則為精準存取控制規則。
開關開啟:表示該規則為頻率控制規則。開啟後您需要配置統計對象(支援IP、自訂Header、Session、自訂Cookie、自訂請求參數)、統計時間長度(秒)、閾值(次),也可以結合響應碼的數量或比例設定更細緻的規則。
规则动作
當訪問請求命中匹配條件時,對請求執行的操作。取值 :
允許存取:允許存取該訪問請求。
攔截:阻斷該訪問請求。
挑戰:通過挑戰演算法對訪問請求的源IP地址發起校正。
观察:對命中觀察規則的請求進行日誌記錄,並允許存取該訪問請求。
說明開啟頻率設定時,规则动作僅支援攔截、挑戰、观察。
處置時間長度
頻率設定開關關閉時:表示精準訪問規則的生效時間長度,支援永久生效、自訂時間長度(5~120分鐘)。
說明自訂時間長度時,到期後該規則會自動刪除。
頻率設定開關開啟時:表示滿足頻率控制規則時,執行多長時間的規則動作,只支援自訂時間長度(1~1440分鐘)。
進階設定
開啟頻率設定時,支援配置統計時去重。統計對象可以設定為IP、Header、URI。
情境一:開啟去重模式
以下圖為例,滿足匹配條件的情境下,當同一源IP地址在30秒內訪問不同的URI大於等於200種時,執行規定動作,攔截來自該IP的請求。由於開啟了去重模式,當同一源IP使用相同的URI訪問多次時,訪問次數統計為1次。

情境二:未開啟去重模式
以下圖為例,滿足匹配條件的情境下,當同一源IP地址在30秒內訪問次數大於等於200次時,執行規定動作,攔截來自該IP的請求。未開啟去重模式,假如同一源IP使用相同的URI訪問10次時,訪問次數統計為10次。

返回CC安全防護地區,開啟狀態開關。
附錄一:支援設定的HTTP請求欄位
匹配欄位 | 欄位描述 | 邏輯符 | 欄位樣本 |
IP | 訪問請求的來源IP。 取值支援多個IP或IP/掩碼。 | 屬於、不屬於、在列表中、不在列表中 | 10.10.10.10 |
URI | 訪問請求的URI地址。例如: | 包含、不包含、 等於、不等於、長度小於、長度等於、長度大於、首碼匹配、等於多值之一、不等於多值之一 說明 邏輯符為等於、不等於時,輸入的字元應以 | /action/member/id.php?id=1&td=2 |
User-Agent | 發起訪問請求的用戶端的瀏覽器標識、渲染引擎標識和版本資訊等瀏覽器相關資訊。 | 包含、不包含、等於、不等於、長度小於、長度等於、長度大於、等於多值之一、不等於多值之一 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.XX.XX Safari/537.36 |
Cookie | 訪問請求中攜帶的Cookie資訊。 | 包含、不包含 、等於、不等於、長度小於、長度等於、長度大於、不存在、等於多值之一、不等於多值之一 | cna=Z87DHXX/jXIBASQBsYAimToU; sca=234ea940; yunpk=177699790**** |
Referer | 訪問請求的來源網址,即該訪問請求是從哪個頁面跳轉產生的。 | 包含、不包含 、等於、不等於、長度小於、長度等於、長度大於、不存在、等於多值之一、不等於多值之一 | https://example.aliyundoc.com/ |
Content-Type | 訪問請求指定的響應HTTP內容類型,即MIME類型資訊。 | 包含、不包含 、等於、不等於、長度小於、長度等於、長度大於、等於多值之一、不等於多值之一 | text/plain;charset=UTF-8 |
X-Forwarded-For | 訪問請求的用戶端真實IP。格式為: | 包含、不包含 、等於、不等於、長度小於、長度等於、長度大於、不存在、等於多值之一、不等於多值之一 | 36.18.XX.XX,192.18.XX.XX |
Content-Length | 訪問請求包含的位元組數。 | 值小於、值等於、值大於 | 806 |
Post-Body | 訪問請求的內容資訊。 | 包含、不包含、等於、不等於、等於多值之一、不等於多值之一 | Content-Type: application/x-www-form-urlencoded name=John&age=25&email=**** |
Http-Method | 訪問請求的方法。取值為:GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE。 | 等於、不等於、等於多值之一、不等於多值之一 | POST |
Header | 訪問請求的頭部資訊,用於自訂HTTP頭部欄位及匹配內容。 | 包含、不包含、等於、不等於 、長度小於、長度等於、長度大於、不存在、等於多值之一、不等於多值之一 | *text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/**** |
Params | 訪問請求的URL地址中的參數部分,通常指URL中 | 包含、不包含 、等於、不等於、長度小於、長度等於、長度大於、等於多值之一、不等於多值之一 | action=login |
Raw-URI | 未經過編碼的URI,即保留了原始的字元序列。Raw-URI可以包含特殊字元和空格,但在使用時需要進行編碼處理,以確保在網路傳輸和解析過程中不會引起歧義或錯誤。 | 包含、不包含、等於、不等於、長度小於、長度等於、長度大於、正則匹配、位元組包含、位元組等於、等於多值之一、不等於多值之一 | GET /images/logo.png HTTP/1.1 |
Tls-Fingerprint | 基於發起訪問請求的用戶端TLS指紋,通過阿里雲自研演算法識別和計算得出的用戶端指紋值,用於訪問請求的匹配和防護。用戶端指紋查看方式:
| 等於、不等於 | 74dcbf6b790160370bb6b7bea98d5978 |
HTTP/HTTPS | 訪問請求的協議類型,支援設定為HTTP和HTTPS。 | 等於、不等於 | HTTP |
HTTP版本 | HTTP協議的版本,支援設定為HTTP/1.0,HTTP/1.1,HTTP/2.0版本。 | 等於、不等於、等於多值之一、不等於多值之一 | HTTP/1.0 |
HTTP2.0指紋 | 根據HTTP2用戶端的原始指紋,利用MD5演算法處理後產生的HTTP2.0指紋。用來分析和識別不同的用戶端,實現更安全和高效的通訊。 | 等於、不等於 | ad8424af1cc590e09f7b0c499bf7fcdb |
JA3指紋 | DDoS高防通過將TLS握手過程中的關鍵參數(包括TLS版本、密碼套件、壓縮演算法和TLS擴充等資訊)進行MD5雜湊處理,產生一個字串用來表示用戶端的TLS配置,該字串即JA3指紋。 JA3指紋可以用於識別和區分不同類型的TLS用戶端,例如Web瀏覽器、行動裝置 App程式、惡意軟體等。 | 等於、不等於、等於多值之一、不等於多值之一 | eb6f49e8db7ad1809f885d12232f4855 |
JA4指紋 | JA4指紋通過引入更多的上下文資訊和演算法,例如瀏覽器的版本、作業系統等,減少了JA3指紋可能導致的重複性問題。 JA4指紋能夠更準確地鑒別出真實的使用者與偽裝者,降低誤識率。 | 等於、不等於、等於多值之一、不等於多值之一 | f436b9416f37d134cadd04886327d3e8 |
大洲/國家 | 表示來源IP的地理位置。 | 地區封鎖選擇 | 歐洲 |
附錄二:配置樣本
下述樣本給出常見的適配業務情境的配置建議,具體請以您業務實際需求為準,樣本僅做規則配置展示。
攔截特定攻擊請求
一般情況下,正常業務不存在POST根目錄的請求資訊。如果網站業務上發生CC攻擊,且您發現用戶端的請求中存在大量的POST根目錄請求,則可以評估請求的合法性。如果確認其為非正常業務請求,可以配置如下規則。

攔截爬蟲
如果在某段時間內,您發現網站的訪問流量中有大量爬蟲請求,若不排除是攻擊傀儡機類比爬蟲進行CC攻擊,則可以對爬蟲的請求執行攔截操作。規則配置樣本如下。

防盜鏈
當瀏覽器訪問某個網頁時,會帶上Referer欄位,告訴伺服器該請求是從哪個頁面連結過來的。通過配置Referer欄位的存取控制規則,可以阻斷特定網站的盜鏈。例如,您發現“https://example.aliyundoc.com”大量盜用本站的圖片,您可以配置如下。
針對User-Agent設定訪問頻率限制
例如,某一UA在10秒內訪問/game/all_首碼的URI超過30次,就對該UA的請求執行挑戰動作。
設定登入頻率限制
例如,為了預防登入介面受到惡意高頻撞庫攻擊,可以配置登入介面的地址,設定60秒內超過20次請求則進行攔截。
結合來源站點響應碼設定頻率限制規則
通過配置來源站點響應碼數量或比例的觸發條件,在原有頻率防護策略的基礎上進一步提高防護準確性,降低對正常業務的誤傷風險。當統計對象在統計時間長度內請求數超過閾值,且配置的來源站點響應碼超過指定數量或比例,則觸發對應的處置動作。
200
當來源站點處理能力較強時,對於攻擊者的高頻請求響應依舊正常,此時可根據業務自身特徵,處置超出業務正常請求頻率的IP,起到一定限速限流的效果,保護來源站點和業務可用性。可以參考如下配置:
404
當攻擊者發起URI掃描攻擊或持續請求來源站點實際不存在的路徑時,來源站點經常會響應大量404狀態代碼,可配置策略拉黑攻擊IP。請參考如下配置:

403
當攻擊者發起Web類攻擊,且高防後端為WAF等防護產品時,可依據其他防護產品攔截響應碼進行對應規則配置。例如,阿里雲WAF會攔截Web攻擊並響應403,可配置策略在高防側提前拉黑攻擊IP。可以參考如下配置:

429
由於來源站點自身存在限流或業務校正等配置,當攻擊者請求命中此類來源站點限速或校正規則時,來源站點會響應429 Too Many Requests或客戶自訂響應碼,可配置策略拉黑攻擊IP,緩解來源站點壓力。可以參考如下配置:
502
當來源站點由於請求突增等原因導致請求處理時間較長,出現異常502響應時,可配置策略拉黑高頻請求的IP,保證來源站點可用性。可以參考如下配置:

555
當來源站點存在業務自身的特殊邏輯,對非預期的請求響應諸如555等自訂狀態代碼,可在高防側根據該特徵,處置發起非預期請求的IP。可以參考如下配置:
攔截非法的用戶端指紋
攻擊者通過偽造用戶端指紋,類比真實的用戶端以嘗試建立大量的串連或HTTP請求,從而導致伺服器崩潰或者拒絕服務。您可以通過檢查並識別用戶端指紋拒絕串連。
例如:遭受大流量CC攻擊時,如果攻擊者使用相同的指令碼或工具,包含相同指紋值的請求數或請求數佔比會突增。您可以在安全總覽頁面的網域名稱頁簽,查看客戶端指紋Top資料,並結合全量日誌分析日誌中的ssl_client_tls_fingerprinting_md5欄位查看Top用戶端指紋的佔比,分析請求的行為,及時發現可疑的指紋值並設定策略。
