阿里云游戏盾是面向移动APP用户推出的高度可定制的网络安全解决方案,本方案中通过SDK的集成可以实现DDoS攻击的免疫和CC攻击的100%解决。
游戏盾目前在实际使用中可以达到的效果如下:
1、DDoS攻击防御可主动定位/隔离攻击者
游戏盾通过大量的节点部署结合SDK的调度数据,在发生DDoS攻击的时候能够准确告知您目前你游戏中的哪一个玩家ID、IP、设备号是恶意玩家,并进行主动隔离,您还可以跟具这些调度日志进行进行报案处理,对黑客进行有效的打击。
可溯源是游戏盾最核心的优势,游戏盾具备对抗DDoS攻击的【反击】能力!
实际案例可以参考:>>>一位运维工程师亲身经历的“DDoS追凶”实录<<<
2、CC攻击防御100%解决,0误杀、0漏过
CC攻击一直是难以解决的行业痛点,在传统的高防IP、WAF模式下总会碰到误杀、漏过的问题,碰到协议模拟类的攻击更是束手无策,对业务稳定性影响非常大。游戏盾的私有通信协议彻底改变了这一现状,通过动态的加密算法,每次数据传输都具备唯一性,只有干净的流量才能够到达您的业务服务器,0误杀、0漏过。
3、防御成本大幅度降低90%
传统高防抵御T级别的DDoS攻击都在50万/月以上,对中小型的公司来说都是无法承受的,目前游戏盾推出了针对流量/日活计费的方式,不论您的业务规模大小,只要接入游戏盾的SDK,游戏盾都给您提供不设上限的攻击防御能力来保障您的业务,仅需6.5万/月起!降低防御成本90%以上!(立即申请接入)
一、核心原理
通过服务SDK提供的服务本地化接口,将任意IP、端口的服务本地化,并且由SDK接管所有的通信流量,进行调度和加密传输,满足抗D、防C、流量加密等业务需求。
![84f73ecf09510afe0bf247e7be7d2edf206686ba](https://i-blog.csdnimg.cn/blog_migrate/f241b20bb7189f4c8d5d9518cec88bc2.png)
![014d4d48ac4758927aa4e99a82f89390ded4251f](https://i-blog.csdnimg.cn/blog_migrate/0f8a21852241bcda03dd1306b32fea30.png)
二、实例代码
String token = "UserId"; // 游戏内的玩家唯一ID,如果获取不到,可以传入一个默认值,定位恶意攻击者使用
String groupname = "Default.iE0454968L.ftnormal03ae.com" //游戏盾防御分组配置页面获取,一个游戏一个
//初始化
String appkey = "xxxxx"; //控制台获取
int ret = YunCeng.initEx(appkey, token); //这个接口只需要调用一次,重复调用无效
String s = Integer.toString(ret); //s如果不等于0、游戏盾初始化失败
//华丽丽的分割线
//以下为TCP业务接入实例
//假设原业务为 tcp://121.35.123.21:8009
//基础参数,通过XX游戏的入口、接入XX服务器的XX端口
String dip = "gameserver-for-yxd.vivre.cn" //需要在游戏盾无限抗防护目标中进行配置,对应的真实服务器为121.35.123.21
String dport = "8009" //根据实际需要进行传入服务器的真实业务端口
//返回参数
StringBuffer target_ip = new StringBuffer();
StringBuffer target_port = new StringBuffer();
//核心转化接口调用,此函数为游戏盾的核心函数
int ret = YunCeng.getProxyTcpByDomain(token, groupname, dip, dport, target_ip, target_port);
//调用结果,如果范围非0则为调用失败,可以一直重试
String s=Integer.toString(ret);
//打印输出
msg_show.setText(s + " result ip:" + target_ip.toString() + ", port:" + target_port.toString());
//经过游戏盾转化后的IP和端口,使用此IP和端口进行实际业务链接
g_dip = target_ip.toString(); //游戏盾转化后的IP
g_dport = target_port.toString(); //游戏盾转化后的Port
//华丽丽的分割线
//以下为HTTP(S)协议的游戏盾接入实例
//假设原业务访问地址为http(s)://login.vivre.cn/loging
String dip = "login-for-yxd.vivre.cn" //需要在游戏盾无限抗防护目标中进行配置,且将login-for-yxd.vivre.cn的DNS配置解析为127.0.0.1
String dport = "80" //HTTP业务为80、HTTPS业务为443、或者您实际的端口,例如 http://login.vivre.cn:8080/login
//返回参数
StringBuffer target_ip = new StringBuffer();
StringBuffer target_port = new StringBuffer();
//核心转化接口调用,此函数为游戏盾的核心函数
int ret = YunCeng.getProxyTcpByDomain(token, groupname, dip, dport, target_ip, target_port);
//调用结果,如果范围非0则为调用失败,可以一直重试
String s=Integer.toString(ret);
//打印输出
msg_show.setText("http(s)://login.vivre.cn --> http(s)://" + dip.toString() + ":" + target_port.toString());
//那么如何访问呢,拿到游戏盾返回的Port,并且和域名login-for-yxd.vivre.cn进行拼接
//http(s)://login-for-yxd.vivre.cn:48201/login 就等于是 http(s)://login.vivre.cn/loging
//仅限当前客户端本地!!跨设备无效!
//可以解决HTTPS证书校验问题
//假设游戏盾故障,可以秒级切换到源服务
第一次调用需要300MS,结果缓存以后再次调用仅需要3MS,由本地直接返回。
三、相关问题FAQ