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