防网络攻击

几个月前,公司遭受到持续半年的网络攻击。

服务器遭受DDOS。
DDOS防不胜防,对方只要知道你的服务器IP地址,总是有办法搞死这台服务器。那么问题的关键就是对方抓包就可以知道真实的服务器地址。那么要防就是不能让对方知道真实服务器IP地址,我们采用的是把所有Socket 换成Websocket。 WebSocket 使用全站加速,这样就可以隐藏真实服务器IP地址,这样的代价是WebSocket的性能要不Socket差不少。

改完没几天,又遭受到新的攻击,CC攻击,我们的登录使用的是HTTP服务,对方会模拟这个请求发送过来。然后我们把所有HTTP服务,全部改为WebSocket。

改好没几天,又出新的状况。我们是游戏应用,游戏启动时会热更新资源,对方CC攻击我们资源。
这个时候有个链接没有使用CDN,而是直接访问到OSS上面。对方直接攻击我们OSS 导致我们开了一段时间OSS高防,一开至少一星期,没用一个星期也按一个星期收费。然后我们做了两个改动,第一,就是没有热更新资源也让玩家进入玩游戏。第二,所有资源下载的地方都走CDN。

好了几天后,对方加大攻击力度,阿里云把我们域名拉到黑名单。导致对方还是可以攻击成功,CDN 和 全站加速都是一样的情况。

后面我们把所有域名CDN全部转到华为云,并对请求进行UA限制,以及单IP频率限制(这个功能在阿里云是收费的,巨贵)。后面没有再出现过域名被攻击成功。

至此算是攻击告一段落了。

中间还有一些其他细节。
之前的域名有些直接解析到了服务器,对方可以通过域名解析得到我们服务器IP地址,这样域名都需要改成CDN,即使这些域名没有在应用内使用,对方也有可能知道。
然后阿里云的服务器如果被攻击,先是对公网IP封禁数小时,若果再被攻击,继续封禁,但是小时数会增加,如果再再被攻击,直接封禁账户的购买能力,无法购买阿里云的产品。如果IP被攻击,又想要快速恢复公网能力,可以使用弹性公网IP,可以更换服务器的公网IP,这么做的前提是,对方无法追踪到你更换后的IP,否则你的封禁时长会变得更长,直至后面封禁购买后,无法继续购入弹性公网IP。
我们资源被攻击的时候,我们资源下载后面会带一个请求参数,这个请求参数是一个时间Ticks,这个基本上不存在一模一样的情况,我们被攻击的时候有一个请求就是带了这个参数,那么就是说我只要找到第一个出现这个参数的请求,那么可以确定就是这个人攻击的。我找到日志,找到了这个人的IP地址,然后在游戏日志中找到了这个IP地址的登录记录,并且他在游戏内实名了,IP地址可以解析出所属地,与实名信息的身份证所属地一致。后面我报帽子叔叔,帽子叔叔听不懂,并且告知我对方没这么傻,后面不了了之。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值