一、CC攻擊的原理
CC攻擊的原理就是攻擊者控制某些主機(jī)不停地發(fā)大量數(shù)據(jù)包給對方服務(wù)器造成服務(wù)器資源耗盡,一直到宕機(jī)崩潰。CC主要是用來消耗服務(wù)器資源的,每個人都有這樣的體驗:當(dāng)一個網(wǎng)頁訪問的人數(shù)特別多的時候,打開網(wǎng)頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進(jìn)行訪問那些需要大量數(shù)據(jù)操作(就是需要大量CPU時間)的頁面,造成服務(wù)器資源的浪費(fèi),CPU長時間處于100%,永遠(yuǎn)都有處理不完的連接直至就網(wǎng)絡(luò)擁塞,正常的訪問被中止。
二、CC攻擊的種類
CC攻擊的種類一般分為三種,直接攻擊,代理攻擊,僵尸網(wǎng)絡(luò)攻擊,直接攻擊主要針對有重要缺陷的 WEB 應(yīng)用程序,一般說來是程序?qū)懙挠袉栴}的時候才會出現(xiàn)這種情況,比較少見。僵尸網(wǎng)絡(luò)攻擊有點(diǎn)類似于 DDOS 攻擊了,從 WEB 應(yīng)用程序?qū)用嫔弦呀?jīng)無法防御,所以代理攻擊是CC 攻擊者一般會操作一批代理服務(wù)器,比方說 100 個代理,然后每個代理同時發(fā)出 10 個請求,這樣 WEB 服務(wù)器同時收到 1000 個并發(fā)請求的,并且在發(fā)出請求后,立刻斷掉與代理的連接,避免代理返回的數(shù)據(jù)將本身的帶寬堵死,而不能發(fā)動再次請求,這時 WEB 服務(wù)器會將響應(yīng)這些請求的進(jìn)程進(jìn)行隊列,數(shù)據(jù)庫服務(wù)器也同樣如此,這樣一來,正常請求將會被排在很后被處理,就象本來你去食堂吃飯時,一般只有不到十個人在排隊,今天前面卻插了一千個人,那么輪到你的機(jī)會就很小很小了,這時就出現(xiàn)頁面打開極其緩慢或者白屏。
三、阿里云CC攻擊防護(hù)解決方案
| 產(chǎn)品名稱 | 簡介 | 應(yīng)用場景 |
|---|---|---|
| Web應(yīng)用防火墻 | 云盾Web應(yīng)用防火墻(Web Application Firewall,簡稱 WAF)基于云安全大數(shù)據(jù)能力,用于防御SQL注入、XSS跨站腳本、常見Web服務(wù)器插件漏洞、木馬上傳、非授權(quán)核心資源訪問等OWASP常見攻擊,并過濾海量惡意CC攻擊,避免您的網(wǎng)站資產(chǎn)數(shù)據(jù)泄露,保障網(wǎng)站的安全與可用性。 | 既有CC防護(hù)需求,由于web應(yīng)用攻擊防護(hù)要求;Web應(yīng)用攻擊防護(hù):通用Web攻擊防護(hù)、0day漏洞虛擬補(bǔ)丁、網(wǎng)站隱身;緩解惡意CC攻擊:過濾惡意的Bot流量,保障服務(wù)器性能正常;業(yè)務(wù)安全保障:提供業(yè)務(wù)風(fēng)控方案,解決接口防刷、防爬等業(yè)務(wù)安全風(fēng)險; |
| DDoS高防IP | 阿里云提供的解決互聯(lián)網(wǎng)服務(wù)器(包括非阿里云主機(jī))遭受大流量DDoS/CC攻擊的安全方案。通過配置DDoS高防,將攻擊流量牽引至高防IP,攔截惡意流量,確保源站服務(wù)器穩(wěn)定可靠。 | 既有防DDoS攻擊需求,存在被CC攻擊的情況;如:重大線上直播、活動推廣促銷場景的DDoS攻擊防護(hù)。業(yè)務(wù)遭競爭對手惡意攻擊、勒索場景的安全防護(hù)。移動業(yè)務(wù)(APP)遭惡意注冊、刷單、刷流量場景的安全防護(hù); |
| SCDN | SCDN即擁有安全防護(hù)能力的CDN服務(wù),提供穩(wěn)定加速的同時,智能預(yù)判攻擊行為,通過智能的調(diào)度系統(tǒng)將DDoS攻擊請求切換至高防IP完成清洗,而真正用戶的請求則正常從加速節(jié)點(diǎn)獲取資源。加速節(jié)點(diǎn)的分布式架構(gòu)還同時具備防CC攻擊的能力,真正達(dá)到 加速 和 安全 兼顧。 | 即有CDN加速需求;由于安全CC防護(hù)和DDoS防護(hù)需求的;阿里云SCDN 基于 阿里云CDN 的優(yōu)質(zhì)邊緣加速資源,深度集成阿里云盾的專業(yè)攻防策略,可一站式提供安全和加速的整體解決方案。 |
四、CC攻擊防護(hù)
當(dāng)網(wǎng)站受到CC攻擊時,第一優(yōu)先級為想辦法恢復(fù)業(yè)務(wù);可以嘗試直接在Web應(yīng)用防火墻開啟CC安全防護(hù) 攻擊緊急,需要注意的是,攻擊緊急模式適用于網(wǎng)頁/H5頁面,但不適用于API/Native App業(yè)務(wù)(會造成大量誤殺),針對后面這個情況,我們建議使用CC自定義防護(hù);根據(jù)攻擊者所攻擊的特征配置防護(hù)規(guī)則。
1.CC防護(hù)思路
? 分析請求日志找出攻擊者的特征;
? 針對攻擊者的特征,使用工具將惡意的請求進(jìn)行封堵;
2.CC攻擊一般特征
? 攻擊的目標(biāo)URL異常集中;
? 攻擊的源IP異常集中;
? 攻擊的源IP在某幾個IP段或者某幾個??;
? 使用相同的Referer或者User-Agent等;
3. CC防護(hù)案例
有了這些概念,那么我們根據(jù)這幾個特征去通過分析日志。 我們以這個網(wǎng)站為例:www.xxxx.cn 在如圖的這個時間段內(nèi),峰值最高打了13W左右的QPS。
碰到這個情況,我們根據(jù)之前的CC攻擊特征;先分析被攻擊的URL是哪個?我們這里使用的是自動化的分析工具sls日志服務(wù);
3.1. 分析日志
使用sls日志服務(wù)查詢得到結(jié)果絕大部分的請求都在訪問 //xxx/index.php這個URL,而正常情況下這個URL,不太可能有那么高的訪問.
發(fā)現(xiàn)了這個攻擊特征之后,那么在WAF的控制臺上查到CC自定義防護(hù)中配置這個路徑進(jìn)行防護(hù)。
3.2. 配置防護(hù)
配置如下:URI使用我們通過日志分析出來的路徑完全匹配;檢測10S,單一源IP訪問5次,執(zhí)行封禁,封禁30分鐘;
可以理解為,一個源IP在10S內(nèi)訪問超過5次,就觸發(fā)封禁;這是一個比較嚴(yán)格的策略;這個頻率可以根據(jù)自己業(yè)務(wù)的經(jīng)驗進(jìn)行調(diào)整;
當(dāng)然如果發(fā)現(xiàn)防護(hù)效果不好,可以初步的設(shè)置更加嚴(yán)格的策略。同時也可以選“人機(jī)識別”進(jìn)行防護(hù),人機(jī)識別是WAF返回一段特殊的代碼給客戶端(WAF返回200狀態(tài)碼),判斷客戶端是否可能正常執(zhí)行這個代碼;如果能夠執(zhí)行則通過驗證,然后放行;如果無法執(zhí)行,這個客戶端IP就會加黑對應(yīng)的時間。 如果在網(wǎng)站架構(gòu)中,WAF前端有高防或者CDN之類的產(chǎn)品,推薦使用人機(jī)識別進(jìn)行防護(hù)。
3.3. 深挖攻擊特征
在這個時候網(wǎng)站業(yè)務(wù)正在慢慢恢復(fù);我們繼續(xù)分析日志,找到更加精確的攻擊特征加以防護(hù),
分析客戶端IP分布
我們通過分析客戶端真實(shí)IP地址時,TOP10的IP地址以及地域分布情況如下,看不出明顯的異常。
分析user_agent特征
有大量的請求使用到的UA是“"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9b5) Gecko/2008032619 Firefox/3.0b5”這個UA,看著是一個MAC OS系統(tǒng)下FireFox的瀏覽器,由于業(yè)務(wù)是APP類型的;很少會有MAC OS系統(tǒng)下的訪問,同時我們對比正常時間段訪問記錄的user_agent 沒有發(fā)現(xiàn) Firefox 字樣的user_agent記錄;可以判斷該user_agent 是異常的;
根據(jù)這個攻擊特征,我們使用WAF的精準(zhǔn)訪問控制策略對該user_agent進(jìn)行控制,配置如下,對于包含F(xiàn)irefox進(jìn)行封禁;阻斷的策略
通過這種組合策略的防護(hù)策略能夠更好保護(hù)業(yè)務(wù)正常對外提供服務(wù)。
