緩解DDoS攻擊的最佳實踐
分布式拒絕服務(wù)攻擊(DDoS攻擊)是一種針對目標(biāo)系統(tǒng)的惡意網(wǎng)絡(luò)攻擊行為,DDoS攻擊經(jīng)常會導(dǎo)致被攻擊者的業(yè)務(wù)無法正常訪問,也就是所謂的拒絕服務(wù)。
常見的DDoS攻擊包括以下幾類:
網(wǎng)絡(luò)層攻擊
比較典型的攻擊類型是UDP反射攻擊,例如NTP Flood攻擊。這類攻擊主要利用大流量擁塞被攻擊者的網(wǎng)絡(luò)帶寬,導(dǎo)致被攻擊者的業(yè)務(wù)無法正常響應(yīng)客戶訪問。
傳輸層攻擊
比較典型的攻擊類型包括SYN Flood攻擊、連接數(shù)攻擊等。這類攻擊通過占用服務(wù)器的連接池資源從而達(dá)到拒絕服務(wù)的目的。
會話層攻擊
比較典型的攻擊類型是SSL連接攻擊。這類攻擊占用服務(wù)器的SSL會話資源從而達(dá)到拒絕服務(wù)的目的。
應(yīng)用層攻擊
比較典型的攻擊類型包括DNS flood攻擊、HTTP flood攻擊(即CC攻擊)、游戲假人攻擊等。這類攻擊占用服務(wù)器的應(yīng)用處理資源,消耗服務(wù)器計算資源,從而達(dá)到拒絕服務(wù)的目的。
DDoS攻擊緩解方案
建議阿里云用戶從以下幾個方面著手緩解DDoS攻擊的威脅:
縮小暴露面,隔離資源和不相關(guān)的業(yè)務(wù),降低被攻擊的風(fēng)險。
配置安全組
盡量避免將非業(yè)務(wù)必需的服務(wù)端口暴露在公網(wǎng)上,從而避免與業(yè)務(wù)無關(guān)的請求和訪問。通過配置安全組可以有效防止系統(tǒng)被掃描或者意外暴露。
關(guān)于安全組的詳細(xì)介紹,請參見創(chuàng)建安全組。
使用專有網(wǎng)絡(luò)VPC(Virtual Private Cloud)
通過專有網(wǎng)絡(luò)VPC實現(xiàn)網(wǎng)絡(luò)內(nèi)部邏輯隔離,防止來自內(nèi)網(wǎng)傀儡機的攻擊。
關(guān)于專有網(wǎng)絡(luò)VPC的詳細(xì)介紹,請參見什么是專有網(wǎng)絡(luò)。
優(yōu)化業(yè)務(wù)架構(gòu),利用公共云的特性設(shè)計彈性伸縮和災(zāi)備切換的系統(tǒng)。
科學(xué)評估業(yè)務(wù)架構(gòu)性能
在業(yè)務(wù)部署前期或運營期間,技術(shù)團(tuán)隊?wèi)?yīng)該對業(yè)務(wù)架構(gòu)進(jìn)行壓力測試,以評估現(xiàn)有架構(gòu)的業(yè)務(wù)吞吐處理能力,為DDoS防御提供詳細(xì)的技術(shù)參數(shù)指導(dǎo)信息。
彈性和冗余架構(gòu)
通過負(fù)載均衡或異地多中心架構(gòu)避免單點故障影響整體業(yè)務(wù)。如果您的業(yè)務(wù)在阿里云上,可以靈活地使用負(fù)載均衡服務(wù)SLB(Server Load Balancer)實現(xiàn)多臺服務(wù)器的多點并發(fā)處理業(yè)務(wù)訪問,將用戶訪問流量均衡分配到各個服務(wù)器上,降低單臺服務(wù)器的壓力,提升業(yè)務(wù)吞吐處理能力,這樣可以有效緩解一定流量范圍內(nèi)的連接層DDoS攻擊。
關(guān)于負(fù)載均衡的詳細(xì)介紹,請參見入門概述。
部署彈性伸縮
彈性伸縮(Auto Scaling)是根據(jù)用戶的業(yè)務(wù)需求和策略,經(jīng)濟(jì)地自動調(diào)整彈性計算資源的管理服務(wù)。通過部署彈性伸縮,系統(tǒng)可以有效的緩解會話層和應(yīng)用層攻擊,在遭受攻擊時自動增加服務(wù)器,提升處理性能,避免業(yè)務(wù)遭受嚴(yán)重影響。
關(guān)于彈性伸縮的詳細(xì)介紹,請參見什么是彈性伸縮ESS。
優(yōu)化DNS解析
通過智能解析的方式優(yōu)化DNS解析,可以有效避免DNS流量攻擊產(chǎn)生的風(fēng)險。同時,建議您將業(yè)務(wù)托管至多家DNS服務(wù)商,并可以從以下方面考慮優(yōu)化DNS解析。
屏蔽未經(jīng)請求發(fā)送的DNS響應(yīng)信息
丟棄快速重傳數(shù)據(jù)包
啟用TTL
丟棄未知來源的DNS查詢請求和響應(yīng)數(shù)據(jù)
丟棄未經(jīng)請求或突發(fā)的DNS請求
啟動DNS客戶端驗證
對響應(yīng)信息進(jìn)行緩存處理
使用ACL的權(quán)限
利用ACL、BCP38及IP信譽功能
提供余量帶寬
通過服務(wù)器性能測試,評估正常業(yè)務(wù)環(huán)境下所能承受的帶寬和請求數(shù)。在購買帶寬時確保有一定的余量帶寬,可以避免遭受攻擊時帶寬大于正常使用量而影響正常用戶的情況。
服務(wù)器安全加固,提升服務(wù)器自身的連接數(shù)等性能。
對服務(wù)器上的操作系統(tǒng)、軟件服務(wù)進(jìn)行安全加固,減少可被攻擊的點,增大攻擊方的攻擊成本:
確保服務(wù)器的系統(tǒng)文件是最新的版本,并及時更新系統(tǒng)補丁。
對所有服務(wù)器主機進(jìn)行檢查,清楚訪問者的來源。
過濾不必要的服務(wù)和端口。例如,對于WWW服務(wù)器,只開放80端口,將其他所有端口關(guān)閉,或在防火墻上設(shè)置阻止策略。
限制同時打開的SYN半連接數(shù)目,縮短SYN半連接的timeout時間,限制SYN、ICMP流量。
仔細(xì)檢查網(wǎng)絡(luò)設(shè)備和服務(wù)器系統(tǒng)的日志。一旦出現(xiàn)漏洞或是時間變更,則說明服務(wù)器可能遭到了攻擊。
限制在防火墻外進(jìn)行網(wǎng)絡(luò)文件共享。降低黑客截取系統(tǒng)文件的機會,若黑客以特洛伊木馬替換它,文件傳輸功能將會陷入癱瘓。
充分利用網(wǎng)絡(luò)設(shè)備保護(hù)網(wǎng)絡(luò)資源。在配置路由器時應(yīng)考慮針對流控、包過濾、半連接超時、垃圾包丟棄、來源偽造的數(shù)據(jù)包丟棄、SYN閾值、禁用ICMP和UDP廣播的策略配置。
通過iptable之類的軟件防火墻限制疑似惡意IP的TCP新建連接,限制疑似惡意IP的連接、傳輸速率。
做好業(yè)務(wù)監(jiān)控和應(yīng)急響應(yīng)。
關(guān)注基礎(chǔ)DDoS防護(hù)監(jiān)控
當(dāng)您的業(yè)務(wù)遭受DDoS攻擊時,基礎(chǔ)DDoS默認(rèn)會通過短信和郵件方式發(fā)出告警信息,針對大流量攻擊基礎(chǔ)DDoS防護(hù)也支持電話報警,建議您在接收到告警后進(jìn)行應(yīng)急處理。
關(guān)于配置告警消息接收人和語音告警方式,請參見設(shè)置DDoS基礎(chǔ)防護(hù)和原生防護(hù)攻擊事件報警。
云監(jiān)控
云監(jiān)控服務(wù)可用于收集、獲取阿里云資源的監(jiān)控指標(biāo)或用戶自定義的監(jiān)控指標(biāo),探測服務(wù)的可用性,并支持針對指標(biāo)設(shè)置警報。
關(guān)于云監(jiān)控的詳細(xì)介紹,請參見什么是云監(jiān)控。
建立應(yīng)急響應(yīng)預(yù)案
根據(jù)當(dāng)前的技術(shù)業(yè)務(wù)架構(gòu)和人員,提前準(zhǔn)備應(yīng)急技術(shù)預(yù)案,必要時可以提前進(jìn)行技術(shù)演練,以檢驗應(yīng)急響應(yīng)預(yù)案的合理性。
選擇合適的商業(yè)安全方案。阿里云既提供了免費的基礎(chǔ)DDoS防護(hù),也提供了商業(yè)安全方案。
Web應(yīng)用防火墻(WAF)
針對網(wǎng)站類應(yīng)用,例如常見的HTTP Flood攻擊,可以使用WAF針對連接層攻擊、會話層攻擊和應(yīng)用層攻擊進(jìn)行有效防御。
關(guān)于WAF的詳細(xì)介紹,請參見什么是Web應(yīng)用防火墻。
DDoS原生防護(hù)
DDoS原生防護(hù)為云產(chǎn)品IP提供針對DDoS攻擊的共享全力防護(hù)能力,即時生效。
關(guān)于DDoS原生防護(hù)的詳細(xì)介紹,請參見什么是DDoS原生防護(hù)。
DDoS高級防護(hù)
針對大流量DDoS攻擊,建議使用阿里云DDoS高防服務(wù)。
關(guān)于DDoS高防的詳細(xì)介紹,請參見什么是DDoS高防。
應(yīng)當(dāng)避免的事項
DDoS攻擊是業(yè)內(nèi)公認(rèn)的行業(yè)公敵,DDoS攻擊不僅影響被攻擊者,同時也會對服務(wù)商網(wǎng)絡(luò)的穩(wěn)定性造成影響,從而對處于同一網(wǎng)絡(luò)下的其他用戶業(yè)務(wù)也會造成損失。
計算機網(wǎng)絡(luò)是一個共享環(huán)境,需要多方共同維護(hù)穩(wěn)定,部分行為可能會給整體網(wǎng)絡(luò)和其他租戶的網(wǎng)絡(luò)帶來影響,需要您注意:
避免使用或利用云產(chǎn)品機制(產(chǎn)品包括但不限于OSS,DNS,ECS,SLB,EIP等)在云上搭建提供DDoS防御服務(wù)。
避免釋放處于黑洞狀態(tài)的實例。
避免為處于黑洞狀態(tài)的服務(wù)器連續(xù)更換、解綁、增加SLB IP、彈性公網(wǎng)IP、NAT網(wǎng)關(guān)等IP類產(chǎn)品。
避免通過搭建IP池進(jìn)行防御,避免通過分?jǐn)偣袅髁康酱罅縄P上進(jìn)行防御。
避免利用阿里云非網(wǎng)絡(luò)安全防御產(chǎn)品(包括但不限于CDN、OSS),前置自身有攻擊的業(yè)務(wù)。
避免使用多個賬號的方式繞過上述規(guī)則。