机场的常见攻击模式和防御
攻击起因
11月因为日常流量已经到了1G,之前一直用三方的转发,流量成本核算下来,还是自建面板更划算。
4c的aws租机,一个月也就100U,而三方的转发面板,市场价的价格也10CNY/T,也就是只要一个月跑的超过70T,自建转发面板和出口就更划算,而当时我们的月流量超不多已经到了一天6T多。
转发面板没啥好说的,就是用三方的软件,按照教程一步步搭建就可以了。
面板如图,看着是不是特眼熟,面板管理员才能看到哦。
然后就被人盯上了,态度就是打钱,不然打你。不给钱就是持续不断地各种针对机场的攻击。
第一波攻击
第一波很简单,网站的cc攻击。
机场的网站中有一个漏洞一样的请求,那就是订阅连接。
之所以说是漏洞一样,第一是访问这个连接不需要鉴权,说人话就是不需要登录验证。
第二就是,它非常需要算力。
默认订阅连接格式是:
https://yoursite.com/api/v1/client/subscribe?token=b8bd02d153ef63b049a89499b27ae96d
那么,攻击者大批量发送随机token的请求,数据库压力变大,服务器负载直接拉满,造成的结果就是,网站停止响应。普通用户无法正常使用。
比如像这样。
最后统计得到如下的结果。
加一起差不多18万的请求,一般的服务器根本扛不住。
第一波攻击很容易防御,加上cdn,哪怕套个cloudflare就可以轻松解决。
第二波攻击
做机场的最怕的是什么,就是国内的转发入口。
因为绝大多数做机场业务的,都不接受攻击,一旦发现攻击,直接清退。
在第一波攻击之后,平静了一晚上,第二天下午,入口一个挨着一个崩了。
第一个是黑洞,黑洞时间12个小时,第二个是直接被清退,第二个idc号称是50G的ddos防御,就真实感受而言,50G肯定没有,一打基就死。
第二波攻击攻击者完胜。
应对的方法说实话不复杂,就是花钱,找能抗的IDC。
然后就是类似这样的画面。
以为就这样,现实是第一天升级防御之后,攻击消停了之后,攻击方继续升级。
第三波攻击
从下图可以很明显的看到,我们升级到100G,对方打100G,我们升级到300G,对方打300G。
在12月5号的时候,在300G流量打过来的时候,老板已经开始略微绝望了。
因为idc能升级的最大只有300G,对方可以搞到300G,就能继续调流量,继续扩大攻击的流量。(因为对方攻击的都会间隔24小时左右,我们盲猜是他需要调肉鸡凑流量)
而目前来看,对方已经打不来了。
至于防御的方法,也是针对攻击方的攻击方式。
首先的攻击方式还是cc攻击,不过不是针对网站,而是针对转发入口。
看下图就可以看到,在同一个时间点有批量的IP通过TCP连接转发入口。
当时做了一个脚本,把一些高连接的TCP连接全部禁掉,很快对方就改变了攻击方式。
很快对方就改变了攻击策略,使用了UDP攻击方法。
无连接:不需要握手过程,直接发送数据包。
无确认:发送方不需要等待接收方确认,降低了延迟。
没有流量控制:发送数据包时不需要考虑网络的拥塞情况。
UDP攻击太适合做ddos攻击了。反正就是可了劲发UDP数据。
于是,当时直接上防御手段,把IP升级成上层阻断UDP的IP。在运营商层面直接封禁IP,来100G过滤100G,来300G过滤300G。
防是防住了,但是同样也出来了一个很尴尬的事情。
我本地国内IP连接入口节点,最大速度只有1M,800M的入口节点,只能跑到1M。
目前来说,攻击者没有再继续,流量也开始稳定,但是悲痛的说,虽然是防住了,但是持续快5天的攻击,随机的掉线,造成了稳定带宽从500M到了200多M,少了将近1/2的流量,大量用户流失。
如果你有一些自己解决不了的问题,可以添加我的频道telegram。