1 背景介紹
設(shè)想一下,此時(shí)你正在高速公路上開(kāi)車(chē)去上班,路上還有其他汽車(chē),總體而言,大家都按照清晰的合法速度平穩(wěn)駕駛,當(dāng)你接近入口坡道的時(shí)候,會(huì)有更多的車(chē)輛加入,然后入口處的車(chē)輛越來(lái)越多,越來(lái)越多,直到所有的交通都慢了下來(lái),最后原來(lái)的通行入口拒絕了所有車(chē)輛的通過(guò)請(qǐng)求。若把通行入口比作服務(wù)器的某些資源,那么這就是現(xiàn)實(shí)中的一種DDoS案例。
1.1 DDoS攻擊
那么什么是DDoS呢?分布式拒絕服務(wù)(Distributed Denial of Service,簡(jiǎn)稱(chēng)DDoS) 是指多臺(tái)計(jì)算機(jī)聯(lián)合起來(lái)通過(guò)惡意程序?qū)σ粋(gè)或多個(gè)目標(biāo)發(fā)起攻擊,從而影響計(jì)算機(jī)的性能或消耗網(wǎng)絡(luò)帶寬,使原目標(biāo)服務(wù)器無(wú)法提供正常服務(wù)1。當(dāng)目標(biāo)服務(wù)器受到DDoS攻擊影響后,帶來(lái)的不僅僅是巨大的經(jīng)濟(jì)利益損失,甚至很可能造成核心數(shù)據(jù)的泄漏,因此對(duì)DDoS進(jìn)行防護(hù)就非常有必要。

圖1 2020.10.10 各個(gè)國(guó)家遭受DDOS攻擊http://www.digitalattackmap.com/
1.2 日志審計(jì)服務(wù)
日志審計(jì)服務(wù)是在繼承現(xiàn)有日志服務(wù)所有功能外,還支持多賬戶(hù)下實(shí)時(shí)自動(dòng)化、中心化采集云產(chǎn)品日志并進(jìn)行審計(jì),以及支持審計(jì)所需的存儲(chǔ)、查詢(xún)及信息匯總。將DDoS防護(hù)和日志審計(jì)結(jié)合起來(lái)使用,可以幫助用戶(hù)更清晰的掌握實(shí)時(shí)DDoS防護(hù)情況,也可以對(duì)已有防護(hù)事件進(jìn)行回溯和復(fù)盤(pán),從而更好地保障用戶(hù)安全體驗(yàn)。目前日志審計(jì)已支持多種云產(chǎn)品,本文主要介紹日志審計(jì)結(jié)合DDoS防護(hù)助力云上安全。
2 DDOS防護(hù)
2.1 DDoS攻擊案例
每一臺(tái)網(wǎng)絡(luò)中的服務(wù)器都有可能受到DDoS攻擊。根據(jù)F5 labs的2020 DDoS攻擊趨勢(shì)報(bào)告2,受到最多的攻擊行業(yè)有教育、金融、游戲、技術(shù)、電信等,但這并不意味其他行業(yè)就是絕對(duì)安全的,因?yàn)榘l(fā)起DDoS攻擊對(duì)于潛在的黑客來(lái)說(shuō),有非常低的準(zhǔn)入門(mén)檻,不僅Youtube上有大量創(chuàng)建僵尸網(wǎng)絡(luò)的教程,DDoS出租服務(wù)也為哪些希望從零發(fā)起攻擊的人提供非常低廉的價(jià)格。下面我們來(lái)看看迄今為止,五大著名的DDoS攻擊案例3。
2017年,谷歌遭受DDoS攻擊。根據(jù)谷歌安全分析小組在2020年10月16日公布的關(guān)于威脅和威脅因子的一篇博客,谷歌安全可靠性團(tuán)隊(duì)在2017年檢測(cè)到破紀(jì)錄的UDP放大攻擊,其bps峰值達(dá)2.5T。
2020年2月,AWS遭受了一次巨大的DDoS攻擊,攻擊持續(xù)3天,帶寬達(dá)到每秒2.3TB,攻擊者利用CLDAP(Connectionless Lightweight Directory Access Protocal)反射技術(shù),該技術(shù)依賴(lài)于易受攻擊的第三方服務(wù)器,并將發(fā)送到受害者IP地址的數(shù)據(jù)量放大56-70倍。
2016年Brian Kerbs 和OVH 遭受DDoS攻擊。Brian Kerbs是著名的安全專(zhuān)家,其博客自2012年就經(jīng)受各種攻擊的考驗(yàn),然而2016年9月20日的攻擊比他所有曾經(jīng)遭受的攻擊的三倍還要多。攻擊源是Mirai僵尸網(wǎng)絡(luò)控制的約60萬(wàn)臺(tái)的IoT設(shè)備,例如IP相機(jī),家庭路由等等。 Mirai在9月還攻擊了另一個(gè)OVH公司,OVH是歐洲最大的網(wǎng)絡(luò)托管服務(wù)供應(yīng)商。
2016年 9月30日,Mirai的作者在論壇上發(fā)布了其源代碼,并隨后被復(fù)制成各種各樣的版本,2016年10月21日,主要DNS服務(wù)商Dyn遭到每秒1TB的流量泛洪攻擊,影響了包括Github、HBO、Twitter、Nexflix等知名網(wǎng)站的訪(fǎng)問(wèn)。
2018年2月28日,github遭受了每秒1.35Tb的DDoS攻擊,攻擊時(shí)長(zhǎng)達(dá)約20分鐘,即使Github早就為DDoS做好的充分準(zhǔn)備,但是他們的DDoS防護(hù)對(duì)于此流量的攻擊還是顯得有些力不從心。
2.2 DDoS防護(hù)手段
若要緩解 DDoS 攻擊,關(guān)鍵在于區(qū)分正常流量與攻擊流量。例如,如果因發(fā)布某款新品導(dǎo)致公司網(wǎng)站涌入大批熱情客戶(hù),那么全面切斷流量是錯(cuò)誤之舉。如果公司從已知惡意用戶(hù)處收到突然激增的流量,那么則需要努力對(duì)抗攻擊。在現(xiàn)代互聯(lián)網(wǎng)中,DDoS 流量的形式和設(shè)計(jì)五花八門(mén),從非欺騙性單源攻擊到復(fù)雜的自適應(yīng)多方位攻擊無(wú)所不有。
黑洞策略就是指當(dāng)阿里云公網(wǎng)IP資產(chǎn)受到大流量DDoS攻擊,其峰值帶寬bps超過(guò)DDoS的防御能力時(shí),資產(chǎn)IP會(huì)進(jìn)入黑洞狀態(tài),即屏蔽IP所有in的互聯(lián)網(wǎng)流量,黑洞狀態(tài)可以自動(dòng)解封(當(dāng)達(dá)到默認(rèn)解封時(shí)間后),也支持提前手動(dòng)解封(DDoS原生企業(yè)版以及高防新bgp版)。但這不是理想的解決方案,因?yàn)樗喈?dāng)于讓攻擊者達(dá)成預(yù)期的目的,使正常流量也無(wú)法訪(fǎng)問(wèn)。
限制服務(wù)器在某個(gè)時(shí)間段接收的請(qǐng)求數(shù)量也是防護(hù)拒絕服務(wù)攻擊的一種方法。雖然速率限制對(duì)于減緩 Web 爬蟲(chóng)竊取內(nèi)容及防護(hù)暴力破解攻擊很有幫助,但僅靠速率限制可能不足以有效應(yīng)對(duì)復(fù)雜的 DDoS 攻擊。然而,在高效 DDoS 防護(hù)策略中,速率限制不失為一種有效手段。
一般而言,攻擊越復(fù)雜,越難以區(qū)分攻擊流量與正常流量,因?yàn)楣粽叩哪繕?biāo)是盡可能混入正常流量,從而盡量減弱緩解成效。流量清洗就是將流量從原始路徑重定向到清洗設(shè)備,對(duì)IP成分進(jìn)行異常檢測(cè),并對(duì)最終到達(dá)server的流量實(shí)施限流,這是高級(jí)防護(hù)中一種比較常見(jiàn)的防護(hù)方式。
2.3 DDoS攻擊類(lèi)型
多方位 的DDoS 攻擊采用多種攻擊手段,以期通過(guò)不同的方式擊垮目標(biāo),分散各個(gè)層級(jí)的防護(hù)工作注意力。同時(shí)針對(duì)協(xié)議堆棧的多個(gè)層級(jí)(如 DNS 放大(針對(duì)第 3/4 層)外加 HTTP泛洪(針對(duì)第 7 層))發(fā)動(dòng)攻擊就是多方位 DDoS 攻擊的一個(gè)典型例子。下表是幾種典型的DDoS攻擊類(lèi)型的具體描述4。
表1 DDoS 攻擊類(lèi)型 |
DDoS 攻擊分類(lèi) | 攻擊子類(lèi) | 描述 |
畸形報(bào)文 | FragFlood、Smurf、StreamFlood、LandFlood、IP畸形,TCP畸形,UDP畸形報(bào)文等 | 向target發(fā)送有缺陷的IP報(bào)文,target處理時(shí)會(huì)崩潰 |
傳輸層DDoS攻擊 | SynFlood、AckFlood、UDPFlood、ICMPFlood、RstFlood | 例SynFlood,利用TCP三次握手機(jī)制,server收到syn請(qǐng)求后,需要使用一個(gè)監(jiān)聽(tīng)隊(duì)列保存連接一段時(shí)間,因此通過(guò)向sever不斷發(fā)送syn請(qǐng)求,但不響應(yīng)syn ack報(bào)文,從而消耗服務(wù)端的監(jiān)聽(tīng)隊(duì)列。 |
DNS DDoS攻擊 | DNS Request Flood,DNS Response Flood, 虛假源 真實(shí)源DNS Query Flood,權(quán)威服務(wù)器攻擊和local 服務(wù)器攻擊等 | 例DNS Query Flood,多臺(tái)傀儡機(jī)同時(shí)發(fā)起海量域名查詢(xún)請(qǐng)求,造成sever無(wú)法響應(yīng) |
連接型DDoS攻擊 | TCP慢速連接攻擊,連接耗盡攻擊,loic,hoic,slowloris,pyloris,xoic等 | 例slowloris,利用http協(xié)議的特性,http請(qǐng)求以\r\n\r\n 標(biāo)識(shí)headers的結(jié)束,如果web服務(wù)端只收到\r\n 則認(rèn)為http headers 還未結(jié)束,將保留該連接并等待后續(xù)請(qǐng)求,這樣造成連接一直沒(méi)法關(guān)閉,連接并發(fā)性達(dá)到上限后,即使受到新的http請(qǐng)求也沒(méi)法建立連接 |
Web 應(yīng)用層DDoS攻擊 | Http Get Flood,HttpPost Flood, CC | 完全模擬用戶(hù)請(qǐng)求,類(lèi)似搜索引擎和爬蟲(chóng),消耗后端資源,包括web響應(yīng)時(shí)間,數(shù)據(jù)庫(kù)服務(wù),磁盤(pán)讀寫(xiě)等。例如刷票軟件就是CC攻擊 |
2.4 云上安全方案
針對(duì)DDoS攻擊,阿里云建議用戶(hù)從以下幾個(gè)方面著手降低DDoS的威脅:
表2 云上安全方案概覽 |
減少暴露,資源隔離 | 彈性伸縮和災(zāi)備切換 | 監(jiān)控和告警 | 商業(yè)安全方案 |
1.減少服務(wù)端口暴露,配置安全組; 2.使用專(zhuān)有網(wǎng)絡(luò)VPC (virtual private cloud); | 1.定期壓測(cè),評(píng)估業(yè)務(wù)吞吐能力, 提供余量帶寬; 2.SLB(Server Load Balancer)降低單服務(wù)器負(fù)載壓力,多點(diǎn)并發(fā); 3. 彈性伸縮(Auto Scaling)資源管理; 4.優(yōu)化DNS解析; | 1.配置告警; 2.云監(jiān)控; 3.應(yīng)急預(yù)案; | 1.Web 應(yīng)用防護(hù)墻(WAF); 2.DDoS 原生防護(hù); 3.DDoS 高級(jí)防護(hù); 4.游戲盾; |

圖2 云上安全方案概覽
2.5 DDoS防護(hù)產(chǎn)品
針對(duì)DDoS攻擊,阿里云推出了一些商業(yè)安全方案,比如DDoS防護(hù)就有原生防護(hù)和高級(jí)防護(hù)等防護(hù)產(chǎn)品,其中原生防護(hù)(Anti-DDoS origin)又有基礎(chǔ)版和企業(yè)版本。阿里云公網(wǎng)云服務(wù)(ECS,SLB,EIP)默認(rèn)支持DDoS原生防護(hù)基礎(chǔ)版,相較企業(yè)版,基礎(chǔ)版不算“產(chǎn)品”,不具有實(shí)例概念,而企業(yè)版主要優(yōu)勢(shì)在于可根據(jù)實(shí)時(shí)機(jī)房網(wǎng)絡(luò)整體水位,進(jìn)行全力防護(hù)。DDoS高防產(chǎn)品又分為新BGP版(Anti-DDoS Pro)和國(guó)際版(Anti-DDoS Premium),此外還有游戲盾等產(chǎn)品。日志審計(jì)目前最新支持DDoS原生防護(hù)、DDoS高防(新BGP)版,DDoS高防(國(guó)際)版,可以在前端控制臺(tái)開(kāi)啟采集授權(quán)。

圖3 DDoS防護(hù)產(chǎn)品類(lèi)別
DDoS防護(hù)的具體使用方法和最佳實(shí)踐請(qǐng)參考官方網(wǎng)站。下面簡(jiǎn)單介紹一下原生防護(hù)和高防(新BGP)和高防(國(guó)際)三個(gè)產(chǎn)品。
2.5.1 原生防護(hù)
DDoS原生防護(hù)通過(guò)在阿里云機(jī)房出口處建設(shè)DDoS攻擊檢測(cè)及清洗系統(tǒng),直接將防御能力加載到云產(chǎn)品上,以被動(dòng)清洗為主,主動(dòng)壓制為輔的方式,實(shí)現(xiàn)DDoS攻擊防護(hù),推薦結(jié)合WAF一起使用,防護(hù)效果更佳。

圖4 DDoS 原生防護(hù)工作原理
2.5.2 高防(新BGP)版

圖5 DDoS 高級(jí)防護(hù)架構(gòu)設(shè)計(jì)
DDoS高防通過(guò)DNS解析和IP直接指向引流到阿里云高防網(wǎng)絡(luò)機(jī)房,在高防清洗中心清洗過(guò)濾,抵御流量型和資源耗費(fèi)型攻擊。

圖6 DDoS高防(新BGP)工作原理
BGP(Broder GateWay Protocol)協(xié)議的最主要功能在于控制路由的傳播和選擇最好的路由。高防新BGP版主要適用業(yè)務(wù)服務(wù)器部署在中國(guó)內(nèi)地的場(chǎng)景,中國(guó)內(nèi)地T極八線(xiàn)BGP帶寬資源,可幫助業(yè)務(wù)抵御超大流量DDoS攻擊。
2.5.3 高防(國(guó)際)版
國(guó)際版主要適用業(yè)務(wù)服務(wù)部署在中國(guó)內(nèi)地以外的地域場(chǎng)景,為接入防護(hù)的業(yè)務(wù)提供不設(shè)上限的DDoS全力防護(hù)。

圖7 DDoS高防(國(guó)際)工作原理
Anycast是一種網(wǎng)絡(luò)地址和路由通信方式。訪(fǎng)問(wèn)Anycast地址的報(bào)文可以被路由到該Anycast地址標(biāo)識(shí)的一組特定的服務(wù)器主機(jī)。DDoS高防(國(guó)際)采用Anycast方式將接收到的流量路由到距離最近(路由跳數(shù)最少)且擁有防護(hù)能力的清洗中心。
3 日志審計(jì)下的DDoS防護(hù)
日志審計(jì)作為阿里云日志服務(wù)SLS(Simple Log Service)下的一款產(chǎn)品,主要是通過(guò)日志審計(jì)功能對(duì)旗下的云產(chǎn)品的進(jìn)行多賬號(hào),跨域聚合,統(tǒng)計(jì),分析,可視化等5。下面將主要介紹日志審計(jì)對(duì)DDoS三種防護(hù)產(chǎn)品的支持。
3.1 采集DDoS防護(hù)日志
在SLS日志審計(jì)頁(yè)面開(kāi)通DDoS 防護(hù) 下的產(chǎn)品采集授權(quán):

圖8 日志審計(jì)新增DDoS防護(hù)產(chǎn)品支持
3.2 查看DDoS防護(hù)日志
開(kāi)啟授權(quán)賬號(hào)下的DDoS防護(hù)的采集后,點(diǎn)擊project進(jìn)入名為ddos_log的logstore,可以對(duì)近期的DDoS防護(hù)日志做出全面掌控。假設(shè)用戶(hù)同時(shí)開(kāi)通了賬號(hào)下對(duì)DDoS原生防護(hù),DDoS高防(新BGP),DDoS高防(國(guó)際)日志的采集授權(quán),可以分別對(duì)應(yīng)topic為ddosbgp_access_log, ddoscoo_access_log, ddosdip_access_log進(jìn)行過(guò)濾查看。
表3:ddos_log |
__topic__ | 防護(hù)產(chǎn)品 |
ddos_bgp_access_log | DDoS原生防護(hù) |
ddos_coo_access_log | DDoS高防(新BGP) |
ddos_dip_access_log | DDoS高防(國(guó)際) |
3.2.1 DDoS原生日志

圖9 原生防護(hù)的日志
3.2.2 DDoS高防新BGP日志

圖10 高防(新bgp)日志
3.2.3 DDoS高防國(guó)際日志

圖11 高防(國(guó)際)日志
3.3 豐富的Dashboard
此外,日志審計(jì)對(duì)于DDoS也支持豐富的儀表盤(pán)功能。
3.3.1 原生防護(hù)事件報(bào)表及清洗報(bào)表

圖12 今日DDoS黑洞事件1次和清洗事件2次

圖13 本月DDoS黑洞事件和清洗事件趨勢(shì)列表
此外,原生清洗報(bào)表還包括in流量監(jiān)控,in流量分布,in流量協(xié)議類(lèi)型分布,包檢查,sync cookie,首包檢查,L7filter,L4filter,AntiTDP,AntiUDP等報(bào)表展示。
3.3.2 DDoS高防(新BGP)訪(fǎng)問(wèn)中心與運(yùn)營(yíng)中心
高防訪(fǎng)問(wèn)中心和運(yùn)營(yíng)中心包含大量預(yù)設(shè)的模板dashboard,如下圖所示。

圖14 高防新BGP訪(fǎng)問(wèn)中心1

圖15 高防新BGP訪(fǎng)問(wèn)中心2

圖16 高防新BGD運(yùn)營(yíng)中心
3.3.3 DDoS高防(國(guó)際)訪(fǎng)問(wèn)中心與運(yùn)營(yíng)中心

圖17 高防國(guó)際訪(fǎng)問(wèn)中心1

圖18 高防國(guó)際訪(fǎng)問(wèn)中心2

圖19 高防國(guó)際運(yùn)營(yíng)中心
4 審計(jì) 防護(hù)的最佳實(shí)踐
接下來(lái),我們將以DDoS高防(新BGP)的防護(hù)例子為大家展示DDoS防護(hù)結(jié)合日志審計(jì)的最佳實(shí)踐。
4.1 實(shí)踐準(zhǔn)備
首先,在個(gè)人日志審計(jì)中心APP開(kāi)啟DDoS高防(新BGP)采集授權(quán),然后在DDoS防護(hù)頁(yè)面,將之前準(zhǔn)備好的域名***.com接入,配置好關(guān)聯(lián)高防IP地址,以及具體的防護(hù)設(shè)置。
4.1.1 添加域名接入

圖20 DDoS高防配置域名接入
4.1.2 設(shè)定防護(hù)規(guī)則
在這里我們通過(guò)頻率控制的手段,通過(guò)編輯具體的防護(hù)規(guī)則,對(duì)該域名下某一具體URL進(jìn)行防護(hù)。頻率控制防護(hù)開(kāi)啟后自動(dòng)生效,默認(rèn)使用正常防護(hù)模式,幫助網(wǎng)站防御一般的CC攻擊。這里我們假定在檢測(cè)時(shí)長(zhǎng)5秒內(nèi),允許單個(gè)源IP訪(fǎng)問(wèn)被防護(hù)地址/test URL的次數(shù)為2次,超過(guò)次數(shù)將封禁1分鐘。

圖21 通過(guò)頻率控制防護(hù)規(guī)則
4.2 實(shí)踐對(duì)比
4.2.1 訪(fǎng)問(wèn)對(duì)比
對(duì)于該域名下具體URL:/test和/welcome ,對(duì)/test開(kāi)啟了防護(hù)規(guī)則設(shè)置,對(duì)/welcome沒(méi)有任何限制?梢钥吹诫m然/welcome在服務(wù)器中并不存在,但是/test頁(yè)面則直接被阻隔在網(wǎng)站之外。

圖22 發(fā)起訪(fǎng)問(wèn)請(qǐng)求
4.2.2 日志對(duì)照
在日志審計(jì)DDoS里查看具體的DDoS日志,可以看到訪(fǎng)問(wèn)/welcome,cc_block字段為0,也就是False,因此可視為正常流量,而訪(fǎng)問(wèn)/test,cc_block 字段為1,即True,也就是說(shuō)明DDoS防護(hù)將其視作CC攻擊。

圖23 查看防護(hù)日志
4.2.3 儀表盤(pán)觀(guān)測(cè)
我們將通過(guò)審計(jì)下面DDoS高防(新BGP)運(yùn)營(yíng)中心的儀表盤(pán)對(duì)剛才的事件進(jìn)行更直觀(guān)的復(fù)盤(pán),
首先,我們將觀(guān)測(cè)時(shí)間設(shè)為較短的相對(duì)時(shí)間5分鐘,此時(shí)沒(méi)有用戶(hù)請(qǐng)求,即無(wú)正常流量也無(wú)攻擊流量。

圖24 原始運(yùn)營(yíng)中心
然后我們?cè)L問(wèn)該接入域名下的/welcome頁(yè)面,此時(shí)請(qǐng)求數(shù)為1,可以觀(guān)測(cè)到客戶(hù)網(wǎng)站出現(xiàn)了有效流量。

圖25 有效流量示意
接下來(lái)訪(fǎng)問(wèn)/test頁(yè)面,可以看到該訪(fǎng)問(wèn)被判定為攻擊流量,并沒(méi)有流入客戶(hù)網(wǎng)站,而是被拿來(lái)丟棄與分析,此時(shí)的攻擊者概況表格中,出現(xiàn)了攻擊者具體IP源以及攻擊次數(shù)等信息。

圖26 攻擊流量示意
通過(guò)上述簡(jiǎn)單的實(shí)踐過(guò)程,相信對(duì)大家理解日志審計(jì)和DDoS結(jié)合使用的效果有較直觀(guān)的感受,若想知道更多的細(xì)節(jié),可以參考下面的鏈接。