1 手游服務(wù)器通用架構(gòu)
這里分析的通用架構(gòu)是以游戲服務(wù)提供的角度,即面向用戶的服務(wù)是如何部署的。
1.1 單機(jī)架構(gòu)
一臺主機(jī)包含了登錄服務(wù)和游戲服務(wù)。
1.2 分區(qū)架構(gòu)
登錄與游戲獨(dú)立開來,而且游戲服務(wù)器還有多臺。通過登錄后選擇指定的游戲區(qū),游戲數(shù)據(jù)則與固定的區(qū)關(guān)聯(lián)。
1.3 跨區(qū)架構(gòu)
登錄與游戲獨(dú)立開來,但有集中的管理服務(wù)器管理各個區(qū)的服務(wù)器,支持集中保存游戲數(shù)據(jù),玩家可以在多個區(qū)之間漫游,系統(tǒng)會找到最佳的服務(wù)器提供玩家游玩。
2 攻擊目標(biāo)
很明顯,不同的架構(gòu)都有直接暴露出來的服務(wù)入口,包括登錄服務(wù)器、游戲服務(wù)器或是管理服務(wù)器等,這些入口被拒絕服務(wù)攻擊后,新用戶無法登錄、在線玩家紛紛掉線、游戲服務(wù)整體崩潰。
目前的網(wǎng)絡(luò)現(xiàn)狀,DDOS拒絕服務(wù)輕松就擠跨了游戲服務(wù)器駐扎的IDC機(jī)房,即使IDC機(jī)房能夠勉強(qiáng)堅持的話,也會不堪重負(fù)而關(guān)停被攻擊的游戲服務(wù)。
所以面向用戶的服務(wù)(被稱之為“公開的服務(wù)”)都有被攻擊的風(fēng)險,因此這些服務(wù)都需要啟動高防服務(wù)。
3 高防防御方案
由于業(yè)內(nèi)各個手游廠商在開發(fā)游戲時,設(shè)計需求不同,使用的協(xié)議也不相同,即使依賴HTTP協(xié)議,也不一定按通用的目標(biāo)設(shè)計,所以在防御上也不能采用常規(guī)的http防御方案,而是建立了通用的tcp代理服務(wù),通過tcp代理服務(wù)程序,可以篩選出真實(shí)的IP;同時統(tǒng)計和管理真實(shí)IP的并發(fā)狀態(tài)。
3.1 防御部署方案
公開的服務(wù)必須隱藏起來才能起到防御的效果,至少在被攻擊的時候需要被隱藏起來。在上面的網(wǎng)絡(luò)拓?fù)鋱D上部署上防御平臺,就如下圖示:
3.1.1 流量型攻擊防御
通過DNS將高防的IP作為公開服務(wù)解析出去,訪問流量及攻擊流量直接訪問到高防節(jié)點(diǎn),清洗掉攻擊流量后,重新封包處理,進(jìn)入自動v*n,將數(shù)據(jù)發(fā)到源站,由源站端的自動v*n解包后交給源站服務(wù),這時對源站服務(wù)來說,數(shù)據(jù)包就像是網(wǎng)民直接發(fā)過來一樣的。
依據(jù)部署的環(huán)境、性能和成本考慮,源站端的自動v*n也可以采用驅(qū)動方式直接安裝在源站服務(wù)系統(tǒng)上(如果有均衡設(shè)備的則不行)。
在高防節(jié)點(diǎn)上的公開服務(wù)就具備通用TCP代理的能力,能與TCP代理建立連接的必定是真實(shí)存在的客戶端IP,當(dāng)然這樣的IP不一定是真正的游戲客戶端。
3.1.2 內(nèi)容型攻擊常規(guī)防御
如何鑒別請求IP是不是真正的游戲客戶端,相信很多廠商也已經(jīng)或多或少的針對這一問題有過比較多的研究,但攻擊者可能會在廠商驗證前就拖跨游戲服務(wù)器,所以針對內(nèi)容的攻擊防御也要相應(yīng)的提前到高防節(jié)點(diǎn)的tcp代理服務(wù)上。
攻擊者采用的手段通常是:
慢連接攻擊,即長時間的保持連接,消耗服務(wù)器連接資源
大并發(fā)連接,不斷的建立和關(guān)閉,消耗服務(wù)器的連接處理資源
無效請求,消息服務(wù)器的計算資源
在代理服務(wù)上可以統(tǒng)計到客戶端IP的并發(fā)請求情況,結(jié)合服務(wù)器的處理能力,可以自動篩選出那些可疑IP,對于不在白名單列表中的IP,可以采取攔截措施。
3.1.3 內(nèi)容型攻擊高級防御
在一些特殊情況下,攻擊者偽造的請求類似于正常的客戶端,而游戲本身又不支持更細(xì)粒度的驗證時,可以啟動高級防御。
高級防御要求游戲廠商在實(shí)現(xiàn)客戶端(瀏覽器類的也可以)時遵循一定的規(guī)范,防御中心處理攻擊時,會有一些規(guī)范動作來驗證客戶端行為,從而更高效的攔截非正??蛻舳恕?/span>
3.2 防御流程
如上述方案圖中所示,所有需要防御的服務(wù)前面都應(yīng)該有自動v*n設(shè)備或是加載驅(qū)動,該設(shè)備可對當(dāng)前的流量進(jìn)行即時處理,只有符合自動v*n的數(shù)據(jù)才會解包,有異常流量時會通告異常到抗D中心。
3.2.1 常規(guī)自動防御
常規(guī)自動防御是指所有的對外服務(wù)都解析成設(shè)防節(jié)點(diǎn)的IP,這種情況下廠商所有的服務(wù)都被隱藏起來,有攻擊的時候會直接在抗D中心進(jìn)行清洗,這里隱藏的服務(wù)包括:
登錄服務(wù)器
如果有管理服務(wù)器的話,包括管理服務(wù)器
游戲服務(wù)器。
3.2.2 高防應(yīng)急防御
雖然部署著防御設(shè)備,但沒有把公開服務(wù)解析到抗D中心的IP上(這一般是指游戲廠認(rèn)為抗D平臺的網(wǎng)絡(luò)不及現(xiàn)有網(wǎng)絡(luò)速度好),這種情況下發(fā)生攻擊時,就需要啟動高防應(yīng)急防御。
啟動的過程可以配置手動或自動。自動啟動是由用戶端的自動v*n監(jiān)控到攻擊時發(fā)出的通告來觸發(fā)的。
啟動應(yīng)急防御時,源站的故障可能依舊存在,這時需要啟用備用的源站。
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/baidu_19620507/article/details/105409953