游戏服务器如何架设才能抗住DDOS攻击

 接触DDoS相关技术和产品8年,其中6年,都在探究游戏行业的DDoS攻击难题。

在我看来,游戏行业一直是竞争、攻击最复杂的一个“江湖”。许多游戏公司在发展业务时,对自身的系统、业务安全,存在诸多盲区;对DDoS攻击究竟是什么,怎么打,也没有真正了解。

我曾看到充满激情的创业团队、一个个玩法很有特色的产品,被这种互联网攻击问题扼杀在摇篮里; 也看到过一个运营很好的产品,因为遭受DDoS攻击,而一蹶不振。

这也是为什么想把自己6年做游戏行业DDoS的经验,与大家一起分享,帮助在游戏领域内全速前进的企业,了解本行业的安全态势,并给出一些可用的建议。

游戏服务器如何架设才能抗住DDOS攻击

在与游戏公司安全团队接触的过程中,看到游戏行业对安全有两个很大的误区。

第一个误区是:没有直接损失,就代表我很安全。

事实上,相比其它行业,游戏行业的攻击量和复杂度都要高一筹。 每个游戏公司,每个应用,其实都遭受过攻击。但许多游戏安全负责人,仍然会“蒙在鼓里听打雷”,没有察觉正在发生的攻击,或者干脆视而不见,由此埋下安全隐患。

第二个误区是:很多游戏行业安全负责人会认为,只要装了防火墙,就能挡住绝大部分的攻击。

然而,防火墙的功能其实很有限。这也从侧面说明了许多游戏行业安全薄弱的根源:只去做好一个点,却看不到整个面。

然而,攻击者总会从意想不到的薄弱点,攻陷整个游戏行业的内部系统。

游戏服务器如何架设才能抗住DDOS攻击

Mirai Botnet攻击模拟图

以DDoS攻击为例,2016年,全球有记录的DDoS峰值已近600G,300G以上的DDoS攻击,在游戏行业内已经毫不稀奇。

为什么游戏会是DDoS攻击的重灾区呢?这里说几点主要的原因。

首先是因为游戏行业的攻击成本低廉,是防护成本的1/N,攻防两端极度不平衡。随着攻击方的打法越来越复杂、攻击点越来越多,基本的静态防护策略无法达到较好的效果,也就加剧了这种不平衡。

其次,游戏行业生命周期短。一款游戏从出生,到消亡,很多都是半年的时间,如果抗不过一次大的攻击,很可能就死在半路上。黑客也是瞄中了这一点,认定:只要发起攻击,游戏公司一定会给“保护费”。

再次,游戏行业对连续性的要求很高,需要7*24在线,因此如果受到DDoS攻击,游戏业务很容易会造成大量的玩家流失。我曾经见过在被攻击的2-3天后,游戏公司的玩家数量,从几万人掉到几百人。

最后,游戏公司之间的恶性竞争,也加剧了针对行业的DDoS攻击。

游戏服务器如何架设才能抗住DDOS攻击

而针对游戏行业的DDoS攻击类型也非常的复杂多样。总结下来,大致分为这几种:

首先是空连接:攻击者与服务器频繁建立TCP连接,占用服务端的连接资源,有的会断开,有的一直保持;比如开了一家面馆,“黑帮势力”总是去排队,但是并不消费,那么此时正常的客人也会无法进去消费。

其次是流量型攻击:攻击者采用udp报文攻击服务器的游戏端口,影响正常玩家的速度;还是上面的例子,流量型攻击相当于坏人直接把面馆的门给堵了。

再次,CC攻击:攻击者攻击服务器的认证页面,登陆页面,游戏论坛等,这是一类比较高级的攻击了。这种情况相当于,坏人霸占了收银台结账,找服务员去点菜,导致正常的客人无法享受到服务。

而后,假人攻击:模拟游戏登陆和创建角色过程,造成服务器人满为患,影响正常玩家。

还有对玩家的DDoS攻击:针对对战类游戏,攻击对方玩家的网络使其游戏掉线或者速度慢和对网关DDoS攻击:攻击游戏服务器的网关,游戏运行缓慢。

最后是连接攻击:频繁的攻击服务器,发垃圾报文,造成服务器忙于解码垃圾数据。

游戏服务器如何架设才能抗住DDOS攻击

我以常见的DDoS和CC攻击为例,对他们的攻击方式做一个解释。

DDoS攻击的主要的方式是syn flood,ack flood,udpflood等流量型的攻击,本身从攻击方式来是非常简单的,无论是哪种方式,流量大是前提。如果防御方有充足的带宽资源,目前的技术手段防御都不会是难事;针对UDPflood,实际上很多游戏目前都不需要用到UDP协议,可以直接丢弃掉。

而CC攻击分为两种。一般针对WEB网站的攻击叫CC攻击,但是针对游戏服务器的攻击,很多人一般也叫CC攻击,两种都是模拟真实的客户端与服务端建立连接之后,发送请求。

针对网站的CC如下,一般是建立连接之后,伪造浏览器,发起很多httpget的请求,耗尽服务器的资源。

针对游戏服务器的CC,一般是建立连接之后,伪造游戏的通信报文保持连接不断开,有些攻击程序甚至也不看游戏的正常报文,而是直接伪造一些垃圾报文保持连接。

游戏服务器如何架设才能抗住DDOS攻击

那么,游戏公司如何才能判断自己是否正在被攻击?

假定可排除线路和硬件故障的情况下,突然发现连接服务器困难,正在游戏的用户掉线等现象,则说明很有可能是遭受了DDoS攻击。

目前,游戏行业的IT基础设施一般有两种部署模式:一种是采用云计算或者托管IDC模式,另外一种是自拉网络专线。但基于接入费用的考虑,绝大多数采用前者。

无论是前者还是后者接入,在正常情况下,游戏用户都可以自由流畅的进入服务器并参与娱乐。所以,如果突然出现下面这几种现象,就可以基本判断是“被攻击”状态:

(1) 主机的IN/OUT流量较平时有显著的增长

(2)主机的CPU或者内存利用率出现无预期的暴涨

(3)通过查看当前主机的连接状态,发现有很多半开连接,或者是很多外部IP地址,都与本机的服务端口建立几十个以上的ESTABLISHED状态的连接,则说明遭到了TCP多连接攻击

(4)游戏客户端连接游戏服务器失败或者登录过程非常缓慢

(5)正在进行游戏的用户突然无法操作或者非常缓慢或者总是断线

游戏服务器如何架设才能抗住DDOS攻击

在知道难点,和攻击状态的判断方法之后,来说说我所了解的DDoS防护方法。

目前,可用的DDoS缓解方法,有三大类。首先是架构优化,其次是服务器加固,最后是商用的DDoS防护服务。

游戏公司需要根据自己的预算、攻击严重程度,来决定使用



专题活动:

天下数据15年专注海外美国服务器|香港服务器|云主机|虚拟主机租用托管以及服务器解决方案-做天下最好的IDC服务商

关于天下数据 联系我们 诚聘英才 付款方式 帮助中心 网站备案 解决方案 域名注册 网站地图

《中华人民共和国增值电信业务经营许可证》 ISP证:粤ICP备07026347号-6

朗信天下发展有限公司(控股)深圳市朗玥科技有限公司(运营)联合版权

7×24小时服务热线:4006388808 0755-83460248 7×24小时售后支持:0755-83460017

7×24小时销售热线:0755-83460032 83461241              香港服务电话:+852 67031102

深圳总部:中国.深圳市福田区车公庙苍松大厦北座13层 香港总部:香港上環蘇杭街49-51號建安商業大廈7樓